FluidSynth, formerly known as iiwusynth, is a free open source software synthesizer which converts MIDI note data into an audio signal using SoundFont technology without need for a SoundFont-compatible soundcard. FluidSynth can act as a virtual MIDI device, capable of receiving MIDI data from any program and transforming it into audio on-the-fly. It can also read in SMF (.mid) files directly. On the output side, it can send audio data directly to an audio device for playback, or to a Raw or Wave file. It can also convert a SMF file directly to an audio file in faster-than-real-time. The combination of these features gives FluidSynth the following major use cases:
Synthesizing MIDI data from another application directly to the speakers,
Synthesizing MIDI data from another application, recording the output to an audio file,
Playing a MIDI file to the speakers,
Converting a MIDI file to a digital audio file.
The size of loaded SoundFont banks is limited by the amount of RAM available. There is a GUI for FluidSynth called Qsynth, which is also open source. Both are available in most Linux distributions, and can also be compiled for Windows.
It features microtonal support and was used in the MicrotonalISM project of the Network for Interdisciplinary Studies in Science, Technology, and Music. A Max/MSP plugin is available from IRCAM.
The core synthesizer is written as a C library with a large API. Partial bindings for Python, Ruby, and .NET are available.