lisodsp - Linux Software DSP


lisodsp is an OSS device driver that handles a virtual dsp device. This virtual device accepts multi-open which means that it allows to hear simultaneous sounds. lisodsp intends to be used with lisodspd which forwards sound data to a real dsp device.



Remember that a device driver works at a very low kernel level. It means it is potentially *DANGEROUS* for your system. You should be cautious the first times you try it. I currently use it without any problem but I have to warn you anyway.



Up to 31 voices. May be more on 64-bit or more processors. Precisely the limitation is the number of bit of an integer minus one. By default it is limited to 8 voices (see module parameters)


Emulate dsp without output. If no process is currently flushing the lisodsp device (e.g lisodspd) default behavior is to flush it automatically. This fake flushing is done by a timer which ensures a global flushing rate matching the requested sampling rate. Have a look to module parameters to disable it.

procfs support

mount a /proc/lisodsp read-only entry which gives real-time info on the current device state. Note that is procfs support will probably be improved in future version since current version was more a debugging tool.

audio format

  • channels : 1 or 2 channel mode (mono/stereo).
  • size : 8-bit or 16-bit (linear format only)
  • sampling : all integers in the range 4800 to 48000 Hz
  • endian : little or big (other weird endian may be supported too. Please try and report).


Currently I have no idea of the compatibility level of this driver. I have only tested it on my Linux box which runs a Gentoo Linux kernel 2.4.26 on an AMD Duron processor. I have made my best to make it compatible with all processors and more specially endianess issue should have been avoid. Anyway I can't be positive since no one has tested it. Compatibility with other kernel patch-level (meaning 2.2 or 2.6 kernel version) is a mystery too.

lisodsp logo lisodsp website
version 0.5.0
Generated on June 2004
by doxygen $doxygenversion