Webrtc DSP in Gstreamer

Nicolas Dufresne nicolas.dufresne at collabora.com
Wed Mar 15 17:21:14 UTC 2017


Le mercredi 15 mars 2017 à 12:07 +0100, Alexandre Malingreau a écrit :
> Hi Mr Dufresne,
> 
> I’m a computer science and engineering student (in Belgium) and I’m
> currently writing my master’s thesis on the « Development of a two
> ways speaker communication for home automation. ». The goal is to
> develop (on a linux based) a full-duplex conversation module  (like a
> Skype or FaceTime conversation). 
> 
> Firstly, I want to thank you for the integration of the webrtcdsp
> module to the gstreamer plugins, I see the huge work you made, it’s
> amazing.
> 
> However, I need some help to finish my experimental work. With my
> current work, the echo is cancelled but at the beginning there is
> more or less 15~20 seconds of side effect where the outputted sound
> looks like a Larsen effect…

The other thing you may try, is to turn on latency agnostic mode in
WebRTC DSP library. See "delay-agnostic" property. You should have a 50
to 200ms adaptation time. 

During my integration I never seen such a bad adaptation time. Maybe
the latency reported from your hardware is completely off ? GStreamer
is very far from the hardware, hence is not the best place to implement
the echo cancellation. Whenever you can, use PulseAudio integration
(same library). This is enabled by setting stream-
properties=s,filter.want=echo-cacenl on both pulsesrc and pulsesink. It
won't be portable to other platforms though.

> 
> Do you have any idea or tips in order to suppress this effet ? Maybe
> could I send you some details like the 2 used pipelines to perform
> the communication ?

Ah, maybe you found your bug. Two pipelines ? You need the probe and
the dsp elements to be in the same pipeline (same clock, same base-
time). There is no support for cross-pipeline here.

More details is always better.
Nicolas

p.s. CCing gstreamer-devel, as I only reply to these request in places
I can share the answers with others.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: This is a digitally signed message part
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20170315/89c194b9/attachment-0001.sig>


More information about the gstreamer-devel mailing list