[LAD] Best way to insert DSP module in audio chain in Linux

Patrick Shirkey pshirkey at boosthardware.com
Mon Aug 30 12:18:15 UTC 2010


On Mon, August 30, 2010 5:00 am, Kim Therkelsen wrote:
>
> Hi,
>
> I want to make is a DSP module that improves the sound quality
> of the sound coming from the laptop builtin speakers by applying DSP
> (FIR/IIR filters).
> I want to route all audio played back (from for
> instance an offline WAV or MP3 file, from a movie, or streamed from the
> internet) to
> pass through the
> DSP plugin whenever headphones are NOT connected. When headphones are
> connected no processing should be applied.
> I
> want to place the DSP module as close to the hardware as possible to
> make sure all audio is really routed through the DSP plugin so I always
> can enjoy
> the DSP improvements made to the sound.
>
> Where should I place this module/DSP code?
> - As a plugin to PulseAudio?
>
> - As a plugin to ALSA?
> - As its own virtual sound card?
>
> - In the audio driver for my built-in sound card?
> - As a kernel module?
>
>
> I have tried loading the LADSPA-module using the module-ladspa-sink in
> PulseAudio but I am not sure this is the best solution.

It is the recommended solution if you are using PA for your sound server.


> I need to remove some limitations in module-ladspa-sink to get it working
> properly ( multichannel audio, only DSP processing for internal speakers).
>
>
>
> My requirements:
>
> 1) Must be able to detect if headphones are connected
>

IIUC, PA gets this info from ALSA


> 2) Must be able to process stereo and multichannel (5.1/7.1) formats. I
> need the multichannel formats to perform binaural downmixing to
> stereo.

I'm not sure how the dolby multichannel support is in ALSA. It may depend
on the internal capabilities of the device.

> So it is important that I can receive multichannel audio and mix it down
> to stereo and output it to a stereo soundcard.
>

This may better handled in app.


-- 
Patrick Shirkey
Boost Hardware Ltd.




More information about the Linux-audio-dev mailing list