OSS – The Open Sound System

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:

  1. Identify your card – IRQ, DMA, IO Add, in case of WSS, id the main big chips
  2. Read the files in the kernel …./drivers/sound/readme.
  3. Build the Kernel with support for your card see the Sound-HOWTO, and the Kernel-HOWTO
  4. Reboot with the new kernel
  5. Ensure files /usr/include/sys/soundcard.h and /usr/include/sys/ultrasound.h are symbolic links to the files in /usr/include/linux


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.


Browse around:

  • Sound Apps – Hensa/Sunsite (dead – link disabled by webmaster)


  • 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.


  • 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)

Comments are closed.