[pulseaudio-discuss] Microphone DC-Offset compensation and noise filtering.

Maarten Bosmans mkbosmans at gmail.com
Tue Jan 11 02:16:06 PST 2011

2011/1/11 IL'dar AKHmetgaleev <akhilman at gmail.com>:
> I had tested ladspa filtering and sound becomes very nice.
> I did it with alsa ladspa plugin and with this chain:
>  source->Eq(cutting off all behind 100 Hz)->
>     se4(to decrease dynamic range)->amp_mono->
>     dysonCompress->recorder
> But this alsa plugin makes pulseaudio hangs with some applications
> (skype and teamspeak3).

Whoa, that's some intense filtering, just to remove DC offset! Setting
you highpass cutoff to 100Hz is a bit much, unless you are trying to
also do some other filtering. Moreover, why are you expanding (se4)
and then compressing (dysonCompress) again? There are ladspa elements
just for removing DC offset, use one of those would be more

What do you mean by the sound becomes very nice? Do you actually hear
the difference between the original and the corrected signal, or is it
just that in your sound editor the line now nicely sits in the center?
I guess that's why the ALSA guys deem it so low-priority. Its an
inaudible in your audio stream and if you really care you can just buy
a slightly more expensive mic.

Anyway, I don't think this functionality should be in pulse. Its the
task of ALSA (or bluez, or RTP) to deliver a reasonably clean signal
to pulse.

> I had tried same using PA chain:
>  source->loopback->multiple ladspa-sinks->null-sink|monitor->recorder.
> But because of Eq has different channel naming I had to use another
> equalizer. With this chain delay was much bigger then with alsa
> approach.
> Will be nice to have ladspa-source and null-source modules also.

ladspa-source would be nice indeed. For a null source you can just use
the monitor of an unused null sink.


More information about the pulseaudio-discuss mailing list