Sound > ALSA / MIDI
Installing the Necessary Packages
SoundFont
Hardware SoundFont
Some soundcards come with onboard MIDI synthesizers( hardware
synthesizer). To use them, you must first install the awesfx package:
apt-get install awesfx
If you have a collection of sound fonts somewhere, place them in
/usr/share/sfbank. For instance, the ?SBLive has a sound font file called
8mbgmsfx.sf2, ct4gmsfx.sf2, ct4mgm.sf2 or ct8mgm.sf2.
After copying over the sound font, load it using asfxload:
asfxload /usr/share/sfbank/ct8mgm.sf2
You must have this command run every time you boot, so it is advisable
to add it to /etc/rc.local(before the last line!) as well.
If you can't find soundfonts on your driver CD you can download some
online from http://www.parabola.demon.co.uk/alsa/awe64.html.
Virtual Synthesizer (Software SoundFonts).
If your sound card does not come with a hardware synthesizer (or you
don't want to use it), you can use timidity to provide you with a virtual
synthesizer. Start by installing this package:
apt-get install timidity
For timidity to play sounds, it needs a soundfont. One such, freepats, is
installed when you install timidity. You can have multiple soundfont
configurations installed, and you can place your own in some suitable
location, e.g. /usr/local/share/timidity/(which you'll need to
create); edit /etc/timidity/timidity.cfgas needed.
timidity can also use sound font files such as those provided on SBLive
CDs.
You can test (and tune) timidity without starting it as a system service and
by using aplaymidi (see the next section). This command starts it, with
output via ALSA pcm:
timidity -Os -iA
(You can interrupt it and restart it with extra parameters such as
-EFreverb=dif you find that the CPU load is too high.)
Don't forget to edit /etc/default/timidityto enable the server on
the next boot or to set default parameters. (ALSA input is selected
anyway, so there's no need to include -iA.)
Testing MIDI Support
You can use ?aplaymidi from the ?AlsaUtils to test your MIDI
configuration.
To see what MIDI output ports are available on your system, use the l
option:
Viewing the MIDI output ports
aplaymidi -l
If all looks fine, try playing a MIDI file to make sure everything works. With
the p option you define what MIDI port you want to use.
Playing a MIDI file
aplaymidi -p 65:0 "Final Fantasy 7 - Aerith' Theme.mid"
You can use too ?XMMS with MIDI plugin to play midi files.
Tools and Firmware
Some specific sound cards can benefit from certain tools provided by the
alsatools and alsafirmwareloader packages.
Comments and Questions
This article was heavily based on Gentoo Linux ALSA Guide, which is
licensed under Creative Commons Attribution / Share Alike. The
author was even careless enough to leave terms and commands like
'emerging' and 'rcupdate ...', which characterises a Gentoolike
documentation. I suggest a rewrite of this article or the inclusion of the
original source/license. I would do it myself, but I do not have access to a
Debianbased distro at the moment, therefore preventing me to verify how
this task would have to be performed on it. ?MarceloMartins