linux software dsp daemon


lisodspd [ options ] [ -- filter [ filter-args ... ] ]


Basically lisodspd forwards data from an OSS input device to an OSS output device.


General options

-h --help

Display help message and exit.

-V --version

Display version number and exit.

-v --verbose

Be verbose: print some info messages .

-q --quiet

Keep quiet: do not print info messages.

-d --daemon

Daemonize: detach process from current tree and attach it to init.

-p --priority=<N>

Priority: set process priority from -20 (highest priority) to 19 (lowest).

See also:

Device options

-b --byte --8

8 bit per sample.

-w --word --16

16 bit per sample (default).

-1 --mono

Mono channel mode.

-2 --stereo

Stereo channel mode (default).

-s --signed

Signed sample (default).

-u --unsigned

Unsigned sample.

-L --little-endian

Force little endian byte order (LSB first).

-B --big-endian

Force big endian byte order (MSB first).

-N --native-endian

Force CPU-native endian byte order (default).

-r --rate=<hz>

Set sampling rate in hertz. Default is 44100.
Range depends on both output and input device.

-T --buffer=[<N>x]<T>

Set output buffering to N times T ms. If N is ommitted or <=0 T is assumed to be the total buffering time and the number of frag will be calculated so that output frag time matches as close as possible the input frag time.

-D --delay=<us>

Additonal delay in us (exactly 2^-20th of second).
Useful to notify additionnal delay introduced by filter effects.

-i --input-device=<device>

OSS input device path. Default is /dev/lisodsp-inp.

It should be the path to the lisodsp device. Anyway it should work with any other valid OSS input dsp device.

-o --output-device=<device>

OSS input device path. Default is /dev/lisodsp-out.


Optionnal program to filter RAW PCM from stdin to stdout.

The `--' before filter program name is required to avoid any conflict between lisodspd and filter options.
filter is assumed to read and write sample with the specified format. Without filter lisodspd does not fail if the final format differs from the requested one as soon as both input and output format match. If a filter is running it will fail except if only the sampling rate is inaccurate because in most case this is not a real issu for a filter.


Typical deamon.

lisodspd -d
Run lisodspd as a daemon with all default parameters.

Echo filter

lisodspd -r 44100 -s -w -2\\ -- /usr/bin/sox\\ -t raw -r 44100 -swc 2 -\\ -t raw -r 44100 -swc 2 -\\ echo 0.7 0.9 100 0.3
Run lisodspd with an echo effects. Actually echo should not be delayed.

Pitch filter (kinda ogre voice)

lisodspd --delay=52428 -r 44100 -s -w -2\\ -- /usr/bin/sox\\ -t raw -r 44100 -swc 2 -\\ -t raw -r 44100 -swc 2 -\\ pitch -600 50

Run lisodspd with a one octave pitch that does not change the duration. The delay value (52428) is calculated like this:

\[ 50ms * 2^{20} / 1000 \]

Listen and encode MP3

lisodspd -- /bin/bash -c\\ "mkfifo fifo; lame -Srx -s 44.1 fifo lisodsp-out.mp3& tee - fifo"

Run shell command that creates a fifo and encodes mp3 from fifo into lisodsp-out.mp3 and finally duplicates data from stdin to stdout and fifo.


None has been reported.


benjamin gerard << ben [at] sashipa [dot] com >>

lisodsp logo lisodsp user documentation
version 0.5.0
Generated on June 2004
by doxygen 1.3.7