From the ALSA wiki
A soundfont is a set of digital samples of the sounds made by one or more musical instruments (or by anything else) which can be loaded into your soundcard's wavetable memory. A soundfont can be used to make your soundcard make sounds like the sampled musical instruments. This is useful when playing MIDI files.
If you own a Soundblaster soundcard a soundfont (usually 8MBGMSFX.SF2 ) can be loaded into its wavetable memory. The sfxload utility works for ALSA's OSS emulation of soundfont loading. The new asfxload utility works for ALSA's native soundfont loading.
You can find many free soundfonts on the net. Here are some examples:
- has one of the largest collections of soundfonts (over 300 different soundfonts). Most of these soundfonts are small enough to fit in limited wavetable memory such as 8MB.
- has an interesting soundfont with many different instrument samples (warning the file is very large 141MBytes). It has a complete GM (General Midi) set of instruments. This is nice to have if you want to play midi files from the net.
For more details about soundfonts, please see the SoundFont page.
When using a soundcard that has no MIDI support through ALSA you can use a combination of FLUIDSYNTH and QSYNTH to make MIDI sounds from for example Rosegarden.
What you need is:
- fluidsynth (included in many distributions)
- qsynth (a graphical interface for fluidsynth)
- jack and qjackctl (qsynth is jack compatible)
- a sequencer program such as Rosegarden or just vkeybd (virtual keyboard)
- soundfont files (all files mentioned above will work)
Install all the programs. Compile from source of get distributor binaries, .rpm etc.
Shut down Artsd in KDE or Esd in Gnome, they are (right now) unnecessary sound servers. Start jack daemon in xterm or konsole or what ever you like for a command prompt:
jack -d alsa -d hw:0 -r 44100 -p 2048
Check out different options for jackd by typing "man jackd".
Start qjackctl. It is a graphical interface for using jackd's virtual connections.
Start qsynth, like this:
You can check your soundfonts output by starting vkeybd and connecting it to your ALSA card through qjackctl. Click both "Audio" and "Midi" tabs to find your programs aka. ALSA clients and connect them to your soundcards "alsa PCM" output.
For example Terratec Aureon soundcard that has no native MIDI support with ALSA was available for MIDI sequencer Rosegarden this way. There are lots of soundfonts available on the Internet for free download that you can make use of this way.