Overview of different Linux sound APIs
OSS is an older sound system for Linux.
ALSA is a newer project (with a larger scope than OSS). It is in the 2.6 and later versions of the LinuxKernel, and has OSS compatibility for older applications and libraries. See AlsaNotes.
sox(1) is a command-line program that can convert between different unix audio formats - see SoxNotes for more info.
Someone did searches on google for how to unmute audio from the command line using aumix(1), so I thought I better write some content about it. Muting in aumix appears to be accomplished by setting all of volume sliders to 0. Unmuting is restoring it to it's saved position. To achieve this from the command line you can save the current settings use "-f /.unmutesettings -S" and then set the master volume to 0 using -v 0. To unmute it aumix "-L -f /.unmutesettings". This is untested.
TiMidity++ is a software synthesizer that reads MIDI files and computes regular sample data that can be played back with any soundcard just like an MP3 or Ogg. Most distributions include it as a Package called timidity.
To play MIDI files, load "sound fonts" into the sound card's memory, and then use those to play MIDI files. Sound fonts are collections of samples for the MIDI sequencer wave table; the CDROM that came with your soundcard has some.
Your ALSA drivers must have been built with the --with-sequencer=yes configure option, and you need the sfxload program. It is designed for the SB AWE32 and AEW64, but works with SBLive cards too. (In Debian it’s available as the awesfx Package.)
You can load a sound font by issuing something like sfxload 8mbgmsfx.sf2. You can check that it is loaded into the soundcard's memory by doing cat /proc/asound/card0/wavetableD1:
Device: Emu10k1 Ports: 4 Addresses: 65:0 65:1 65:2 65:3 Use Counter: 0 Max Voices: 64 Allocated Voices: 0 Memory Size: 134217728 Memory Available: 126786844 Allocated Blocks: 527 SoundFonts: 1 Instruments: 1849 Samples: 526 Locked Instruments: 1849 Locked Samples: 526
Then play a file using the playmidi program using the -a option to tell it to be AWE-compatible: playmidi -a dukenukem.mid
Make sure the volume for the sequencer isn't muted; in alsamixer, you are looking for the slider named "Music".
One page links to AudioNotes: