Listening to Acoustic Echo Cancellation
There are many installed products with Acoustic Echo Cancellation (AEC). Are they all the same? How do you you evaluate them? How does an end-user or integrator make a decision?
First, not all AEC based systems are the same principally because not all AEC algorithms are the same. An AEC algorithm for use in conference rooms typically will have been developed by a team with at one or more DSP experts, used in real-world settings, and been adjusted over several months or years of use to better accommodate the ‘real-world’ environment than the ‘lab-world’ where the algorithm was originally created.
The real-world aspect is important for a number of reasons including: rooms are noisy, big, reverberant, the gain on microphones is not always the same, local talkers never stop talking, microphones get moved in the room, and microphones get muted and unmuted.
If not all AEC algorithms are the same, then how are they different?
Some systems may let more residual echo be sent back to the remote participants in order to keep the system more ‘full duplex’ or interactive. Some systems may suppress the signal more to prevent echoes from being sent back to the remote participants in order to keep the system ‘echo free’. Some systems may reduce the bandwidth of the signal by suppressing different frequency bands of the signal to reduce residual echo.
While there are parameters used to describe AEC systems on datasheets such as tail-time, convergence rate, and latency, these terms should be considered more marketing descriptions than real-world performance indicators. Yes, you need a tail time that is suitable for your application, i.e., if your room is acoustically large, a higher tail-time will make it possible for you to remove echoes that persist longer in the room. If your AEC has a fast convergence rate then any echo heard by changes in the acoustic path in the local room should become inaudible very quickly. In the real-world the AEC won’t adapt that quickly because local talker audio will prevent the system from adapting as quickly. If you have high latency through the algorithm then it may be unnatural to use the same feed for reinforcement in the room. What’s too much latency? Approximately anything over 20 msec would be considered high if you were contemplating doing sound reinforcement in the room with the echo cancelled signal.
The reality is that you always have to listen to the system in a variety of conditions. Also you should be at the far-end of the system and listen to what you hear coming back to you from the local talkers in the room. So, how do you test?
Here are some suggestions for evaluating an AEC-based conferencing system when you are in the remote room and there’s a demo going on in the local room.
- Use a video call to dial into the local room so you can see what’s going on the room if possible. This will also typically use a higher bandwidth speech codec so you can hear more of the audio.
- Ask the local participants to turn off the local AEC so you can hear your echoes coming back to you. This will let you know whether how strong the echoes are to begin with.
- After enabling the local AEC again, start by having the remote person (you!) deliver a monologue to the local participants. The monologue from the remote talker gives the local AEC a chance to converge to the local room conditions.
- Once the local AEC has had a chance to converge (a couple of seconds of remote talker audio should be sufficient) then you can have a conversation with the local person and get a feel for how the system sounds. You should listen for artifacts during doubletalk (when you are both talking) and decide whether the conversation is ‘natural’ or not. Keep in mind most people don’t have effective communication if they are both talking at the same time – usually there’s some overlap but mostly it’s one side or the other speaking.
- To further stress test the system, increase the volume in the local room and ensure that the system still sounds acceptable to the remote participants. If volume control is done properly (i.e., adjusts the level of the AEC reference signal too) then volume adjustments should not affect the AEC performance.
Make sure any background noise that you expect in real-world systems is also present in the local room, especially HVAC noise since that can directly (if air is blowing on microphone) or indirectly (because of background ambient noise) affect the system performance. Real-world background noise gives you the opportunity to hear the performance of any noise reduction system and confirm that it is contributing to an improved audio experience rather than introducing new audio artifacts that detract from the user experience.
After you’ve had a conversation with the system, determine whether the quality would allow you to work effectively. If you expect to use ceiling microphones in your system, make sure you are testing with ceiling microphones. The only other variable is that the acoustic environment of your rooms may be different from the demo acoustic environment. If that’s the case you may need to add some acoustic paneling to your environment or make sure your talkers are close to their microphones!
From an end-user perspective, while there are differences in AEC performance, taking the opportunity to listen to a solution will build confidence that the solution will work for you.