Product SiteDocumentation Site

Chapter 10. FluidSynth

10.1. SoundFont Technology and MIDI
10.1.1. How to Get a SoundFont
10.1.2. MIDI Instruments, Banks, Programs, and Patches
10.1.3. MIDI Channels
10.2. Requirements and Installation
10.2.1. Software Requirements
10.2.2. Install FluidSynth
10.2.3. Install with Qsynth
10.2.4. Install without Qsynth
10.2.5. Install SoundFont Files
10.3. Use FluidSynth in a Terminal Emulator
10.4. Configure Qsynth
10.4.1. Start FluidSynth
10.4.2. Configure the SoundFont
10.4.3. Configure JACK Output
10.4.4. Configure MIDI Input
10.4.5. View all FluidSynth Settings
10.5. Assign Programs to Channels with Qsynth
10.5.1. Change the Number of MIDI Input Channels
10.5.2. Save and Reuse Channel Assignments
10.6. Use Reverb and Chorus with Qsynth
10.7. Multiple FluidSynth Instances with Qsynth
FluidSynth is a software-based MIDI synthesizer. FluidSynth accepts MIDI input from programs like Qtractor and Rosegarden, and uses SoundFont technology to create audio signals. This makes FluidSynth a very flexible tool; it can be used even on low-power computers, doesn't require specialized hardware, and can take advantage of a wide selection of high-quality MIDI instruments. When used with the Qsynth graphical interface, FluidSynth becomes even more powerful: users can easily control basic effects like chorus and reverb, and they can start multiple FluidSynth synthesizers, each with their own settings and MIDI instrument assignments. Finally, because Qsynth was created and is maintained by the same developers as Qtractor and QjackCtl, it provides a familiar interface, and integrates well with these other applications.

10.1. SoundFont Technology and MIDI

SoundFont technology was developed in the early 1990s, and comprises a file format and certain hardware technologies designed to allow the creation of MIDI instruments that sound like acoustic instruments. It would be virtually impossible to make an electronically-synthesized instrument sound identical to an acoustic counterpart, but SoundFont technology enables the gap to narrow considerably. Heard in the right context, most people would not notice that music was recorded by a SoundFont-capable MIDI synthesizer, but results can vary widely.
What FluidSynth enables users to do is eliminate the hardware component of using SoundFonts, so that any computer becomes capable of synthesizing from SoundFont files, which are often simply referred to as "a SoundFont." As fonts change the look of text characters, SoundFonts change the sound of MIDI notes - the overall meaning is the same when conveyed by any font (or SoundFont), but the particular nuance is changed.
Fedora offers a few SoundFonts in the default repositories. By default, FluidSynth installs the FluidR3 General MIDI ("GM") SoundFont, which contains a wide array of conventional (and some non-conventional) "patches." To see the other options that are available, use PackageKit, Apper, or yum to search for "soundfont".

10.1.1. How to Get a SoundFont

There is a large selection of SoundFonts available for free on the internet, and some are also available for purchase, including a few very high quality SoundFonts. The following three websites have links to SoundFont resources, and some SoundFonts available for paid or free download. No guarantee is made of the quality of the material provided, or of the quality and security of the websites.
See Section 10.2.5, “Install SoundFont Files” below for instructions to install a SoundFont.

10.1.2. MIDI Instruments, Banks, Programs, and Patches

A "MIDI instrument" is the synthesizer itself. If the synthesizer uses SoundFonts, then the SoundFont also constitutes part of the instrument. Each instrument can be thought of as a library, which stores books.
Each instrument offers at least one, but possibly several "banks," which store programs. If a MIDI instrument is a library, then a bank is like a particular shelf. You must first select a shelf before choosing a book.
Each bank offers between one and one hundred and twenty seven "programs," (also called "patches") which are the sounds themselves. If a MIDI instrument is a library and a bank is a shelf, then a program is a book. Programs need not necessarily be related, but banks with a large number of programs (like the "General MIDI" bank) usually follow some sort of order. It is the program alone which determines the sound of the synthesized audio; the bank and instrument simply limit the possible choices of program.

10.1.3. MIDI Channels

A MIDI synthesizer will accept input on multiple channels. Although each "instance" of the synthesizer can only have one MIDI instrument assigned to it, each channel can be assigned a program independently. This allows the synthesis of a virtual instrumental ensemble.
The General MIDI ("GM") standard, used partially by the default FluidR3 SoundFont and by FluidSynth itself, further specifies that there will be 16 channels, and that channel 10 will be used for (mostly unpitched) percussion instruments. Any program change message sent to channel 10 will be ignored, and although FluidSynth can be configured to use a non-percussion program on channel 10, this use is discouraged.
For cases where FluidSynth does not adhere to the General MIDI standard, it is adding functionality, rather than removing it.