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.
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
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.
So it is important that I can receive multichannel audio and mix it down to stereo and
output it to a stereo soundcard.
/Kim