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

Gabriel M. Beddingfield gabrbedd at gmail.com
Mon Aug 30 14:11:06 UTC 2010



On Mon, 30 Aug 2010, Kim Therkelsen wrote:

>
>>> The idea is that I perform the same processing no matter what user
>>> application is used to playback the audio/video.
>>> The plugin must receive the raw six (or eight) channel audio PCM stream.
>>> So I do not want to make the DSP processing specific to some special
>>> application only.
[snip]
>
> I want to use the solution in Meego, Android, and Google 
> Chrome OS - if possible. I do not know what applications

MeeGo: pulseaudio or ALSA
Google: pulseaudio or ALSA (AFAIK)

With Android, Linux is just a prop to get the JVM started... 
so your solution will probably need to be in Java there.

> All the operating systems are based on Linux so they must 
> have something in common regarding the audio chain (such 
> as ALSA) where I can plug our DSP code in.

PulseAudio: if you implement it here, you will probably get 
the most bang for your buck... and it is more likely to 
integrate well into the end-user's system.  However, 
PulseAudio is not a "universal" solution for Linux.  (For 
example, Pro Audio users will often uninstall PulseAudio 
from their systems.)

ALSA: ALSA /is/ universal to Linux and is definately capable 
of doing this task.  You'll probably want to implement it as 
an ALSA plug-in.  However, the end-user experience is 
usually not as slick and (IMHO) the ALSA API is a fickle 
friend.  Also, more times than not I hear people say, "DON'T 
use the ______ ALSA plug-in.  It's totally broken.  Instead 
use [SOME USER APPLICATION ALTERNATIVE]."

-gabriel




More information about the Linux-audio-dev mailing list