Principles of echo cancellation and noise suppression
[Copy link]
In instant messaging applications, real-time voice communication between two or more parties is required. In situations with higher requirements, external speakers are usually used for playback, which will inevitably produce echoes. That is, after one party speaks, the sound is played through the other party's speaker, and then collected by the other party's Mic and transmitted back to the user. If the echo is not processed, it will affect the call quality and user experience. In more serious cases, it will cause oscillation and howling. So how to implement echo cancellation technology! Echo cancellation is to eliminate the sound played by the local speaker from the sound data collected by the Mic after the Mic collects the sound, so that the sound recorded by the Mic is only the sound of the local user speaking. Traditional echo cancellation is done in hardware, with DSP processing chips integrated into the hardware circuit. For example, our commonly used fixed-line phones and mobile phones have special echo cancellation processing circuits. However, there are always technical difficulties in implementing echo cancellation in software. The most widely used QQ Super Voice in China uses the foreign GIPS technology. Echo cancellation has become the standard method for providing full-duplex voice in instant messaging. Acoustic echo cancellation is a processing method that prevents the sound from being returned to the remote end by eliminating or removing the audio signal picked up by the local microphone. This audio removal is done through digital signal processing. Echo cancellation technology is one of the typical applications of digital signal processing. The basic principle of echo cancellation is to establish a voice model of the far-end signal based on the correlation between the speaker signal and the multipath echo generated by it, use it to estimate the echo, and continuously modify the coefficient of the filter to make the estimated value closer to the real echo. Then, the echo estimate is subtracted from the input signal of the microphone to achieve the purpose of echo cancellation. The following is an example of the echo cancellation technology of the AnyChat audio and video development system. AnyChat echo cancellation effect User A speaks User B’s Mic records sound (including A’s voice + B’s voice) A hears B’s voice (echo cancellation is performed, only B’s voice is retained) About Noise Suppression (ANS) The principle of AnyChat's noise suppression technology is to perform spectrum analysis on the real-time sampled digital signal, so that we can analyze the intensity and spectrum distribution of the background noise response, and then design a filter based on this model. When someone is talking, the signal analysis is performed at the same time. Based on the analysis, ANC can analyze the speaker's spectrum. Then, based on the comparison of these background noise and the speaker's spectrum, the filter changes in real time based on the comparison of the two signals, allowing the speaker's voice spectrum to pass through, suppressing the background noise spectrum, and reducing its energy. For example, if it is reduced by 15 to 20 decibels, you can clearly feel the effect of noise suppression.
|