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 is made 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.
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.
Here are some key features of "lisodsp":
· 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.
· 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.
· 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).