By Jim Jackson
The Linux Sound Driver
- Free version is supplied with Linux
- Commercial version is also available from 4Front Technologies
Essential Reading
- Sound-HOWTO
- Sound-Playing-HOWTO
- Kernel-HOWTO
from: HOWTO – Sunsite or HOWTO – The Linux Documentation Project
What OSS Provides
- /dev/dsp linear analog > -> digital input and output
- /dev/audio Mu Law A > -> D supports 8/16 bit sampling, in mono or stereo supports variable samplerate
- /dev/midi?? Midi I/O
- /dev/music high level sequencer for synth.
- /dev/sequencer low level access to FM, GUS etc. for synth.
- /dev/mixer Access to any analog mixer
- /dev/sndstat cat’ing this gives info on sound driver
Note that the kernel SCSI, CD-ROM, joystick, and sound drivers are completely independent of each other.
What hardware does OSS support?
- SoundBlaster cards
- Gravis cards
- Windows Sound System (WSS) compatible cards
Full list in Sound-HOWTO
Getting Set Up:
- Identify your card – IRQ, DMA, IO Add, in case of WSS, id the main big chips
- Read the files in the kernel …./drivers/sound/readme.
- Build the Kernel with support for your card see the Sound-HOWTO, and the Kernel-HOWTO
- Reboot with the new kernel
- Ensure files /usr/include/sys/soundcard.h and /usr/include/sys/ultrasound.h are symbolic links to the files in /usr/include/linux
Using:
You will need a mixer program, e.g. aumix, smix
There are lots to choose from – browse
Sound Mixers – Sunsite (dead – link disabled by webmaster)
[you may need to extensively experiment setting the mixer]
Test if working – run a noisy game 🙂
get the snd-util stuff from
Snd-Util – Sunsite (dead – link disabled by webmaster)
If you have some sampled sound already try
cat sample.dat > /dev/dsp
[/dev/dsp plays at 8000 samples/sec, 8 bit, mono by def.]
Example recording of 4 secs from Mike or Line-In
% dd bs=8k count=4 sample.au 4+0 records in 4+0 records out # play back sound % cat sample.au >/dev/audio
In case of problems:
- Check the kernel boot messages use dmesg or look in syslog file
- check output of ‘cat /dev/sndstat’ matches your card
- Ensure mixer settings are ok
For plug-N-pray cards, or cards that need special initialising with a DOS or Windows program, you may have to start DOS/Windows – init. the card then use LOADLIN to start Linux.
Software:
Browse around:
- Sound Apps – Hensa/Sunsite (dead – link disabled by webmaster)
Music:
- Lots, there are WAV, MOD etc players/recorders for X curses or command line.
- Timidity – a midi synthesiser, using GUS patch files to generate digital audio either in realtime to /dev/dsp or saving output into a WAV file for later playing.
Scientific/Engineering:
- Several Oscilloscope, Spectrum Analyser programs:
- Oscilloscope – Hensa/Sunsite (dead – link disabled by webmaster)
Signal Generator:
- Signal Generator – Hensa/Sunsite (dead – link disabled by webmaster)
- And probably a whole load of stuff on Voice recognition and speech synthysis etc too.
Quality Issues:
- NOT Precision/Hi-Fi quality, even with a ‘decent’ sound card.
- RealTime problems with Linux – some system daemons can cause problems e.g. crond, syslogd etc. Some low end systems may have problems with almost anything else running !!
- See the RT-Linux project (dead – link disabled by webmaster)
Talking of Quality:
- Mostly software compatible with OSS/free
- lower quality output and larger CPU overhead
PC Speaker Sound – Berlin (dead – link disabled by webmaster)