webrtcdsp echo cancellation not working

nivanov 2centnik at gmail.com
Mon Jan 18 04:14:19 UTC 2021


I tried setting buffer-time on alsasink but the best results so far are
alsasrc having buffer-time of 20000 and alsasink having default buffer-time.
I was expecting that those two can compensate for one another - i could
either decrease latency on recording, or decrease latency on playback -
either way, the probe and the DSP get the same time shift. However, that
doesn't seem to be the case: my best result so far is decreasing recording
delay by 180ms (default of 200000 - 20000). I tried splitting the difference
and setting buffer-time of alsasrc to 110000 (default of 200000 - 180000/2)
and setting same 110000 buffer-time on alsasink, but the results are bad. I
thought maybe I'm not understanding the time skew correctly, so maybe I have
to increase the sink time, so I tried 290000 buffer-time on alsasink but the
results were also bad. All this led me to a thought - wouldn't it make sense
for the DSP to have a setting for the echo delay? You could specify the time
difference between when the probe captures audio and when recorded audio
hits DSP.

Also, it's probably worth noting that I'm using:

I2S Mic:
https://www.seeedstudio.com/Sipeed-I2S-Mic-for-MAIX-Dev-Boards-p-2887.html
I2S Amp: https://learn.adafruit.com/adafruit-max98357-i2s-class-d-mono-amp

all with googlevoicehat-soundcard dt-overlay driver. I suspect that there
might be some additional buffering / delays happening on that level as well,
or maybe even just the I2S bus.



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/


More information about the gstreamer-devel mailing list