Question
What support is there for Acoustic Echo Cancellation within the Vonage Video API?
Applies To
- Acoustic Echo Cancellation (AEC)
- JavaScript Client SDK
- Audio Drivers
Answer
Vonage Video JavaScript Client SDK supports disabling echo cancellation, automatic gain control, and noise suppression. For other Client SDKs (Android, iOS, and Windows) developers need to rely on the platform facilities.
AEC (Acoustic Echo Cancellation) attempts to reduce or eliminate echo, a use case when the microphone picks up the audio from a speaker on a conversation. Noise suppression filters audio to eliminate background noises. Automatic Gain Control manages the input volume trying to limit extreme volume swings. While Echo cancellation is critical for good audio quality in most scenarios, especially when loudspeakers, speakerphones, or similar are used, it can work in theory without noise suppression as well, but it is more effective when both are enabled.
The SDKs manage these settings automatically providing the best experience in general use cases. The developers may find it useful to set specific settings in some scenarios.
When using the JavaScript SDK, developers can customize audio processing options in the publisher as described in the developer documentation on Audio Tuning or in specific individual source tracks as described in Audio Video Filters.
For native SDKs, Android and iOS, developers can use Custom Audio Drivers to leverage the same.
Advanced-Audio-Driver-Java and Advanced-Audio-Driver-Kotlin are the Android sample applications showcasing customization of audio processing options in GitHub(Java | Kotlin).
For iOS, users can refer to the Custom Audio Driver sample application.
Additional Information
Developer documentation on Audio Tuning
Developer documentation on Audio Video Filters
For information on troubleshooting echo issues, see How to Resolve Echo Problems.
Articles in this section
- Upcoming changes to Support tickets access
- Why isn't the Video Inspector displaying user information and events?
- Has the Video Session Monitoring Callback data changed?
- Vonage Scalable Video Simulcast
- How can I find the creation or expiration time of a token?
- What does OT.checkSystemRequirements() check?
- How to Get HD/FHD Resolution Recordings and Live Streaming in Vonage Video API Sessions
- How can I implement a ringing or calling application with Vonage Video API?
- How can I get information about multiple sessionIds in one Insights GraphQL query?
- What codecs are supported on the Vonage Video API platform?