cancel
Showing results for 
Search instead for 
Did you mean: 

Issues with echo cancelation with the (FP-AUD-SMARTMIC1) package.

UTANG.1
Associate II

Hello,

I am evaluating the echo cancellation and beamforming functions using the package (FP-AUD-SMARTMIC1) that you propose on your site.

(https://my.st.com/content/my_st_com/en/products/embedded-software/mcu-mpu-embedded-software/stm32-embedded-software/stm32-ode-function-pack-sw/fp-aud-smartmic1.license=1583327134777.product=FP-AUD-SMARTMIC1.version=2.0.0.html).

On Audacity, to evaluate the solution, sound is recorded on two channels. The one on the left corresponds to the recording of one of the omnidirectional microphones and the one on the right corresponds to the sound processed by one of the functions.

However my problem is the following:

When I activate the Echo Cancellation function (AEC) on the software provided in the package, I can see a difference between the left channel and the right channel, because the sound is attenuated on the left channel thanks to the AEC. However, the music produced by the loudspeaker is still audible on the right channel when it should be totally suppressed.

Is this a configuration problem or is it a normal result coming from this algorithm?

You can find both channels attached.

Sincerely,

4 REPLIES 4
SMeht.1
Associate II

I am also facing same problem.. I also feel AEC is most useful mode for my application But this song is ruining this mode for me as well. any solution will help.

@SMeht.1​ 

Eleon BORLINI
ST Employee

Hi @SMeht.1​ , the AEC library in FP-AUD-SMARTMIC1 works on single channel (single microphone, single reference signal); for this reason only one of the microphones (M1) is processed and cleaned.

What you can see in the stereo output track is:

  • M1 processed, which is the output of the AEC
  • The same M1 microphone, before the processing

This is just a way to quickly evaluate the performance of the algorithm and compare the processed signal with the unprocessed original one.

Regards

​Hi @Eleon BORLINI​ , Do you agree that the music is not fully attenuated on the AEC output channel? Or do you have different results from mine?

Regards,

Ulysse TANGUY

Hi Ulysse, I'm afraid I have not fully understood te question... in your first post, you wrote: "sound is attenuated on the left channel thanks to the AEC" . Left channel is the output of the only channel that has been processed, while the right channel is only an example of the "starting point" of the algorithm.

On the USB signal there is also the non-attenuated signal, but only for demonstrative purposes. This way the output you read via USB is not fully clean, but only because we want to show the difference in the demo application.

When you will use the library in you application, you will have to use the clean channel, without the other channel which has not been preprocessed.

If you need the USB output, you need to change the application so that the driver USB has only a single channel (where you will put the clean signal); otherwise you can place the same (clean) signal also on the second channel (right) of the USB stream.

Regards