FluidSynth(1)
๐ FluidSynth โ a SoundFont synthesizer ๐
okay so this is from the General Commands Manual, section 1, and it's literally the glow-up guide to FluidSynth. buckle up bestie ๐
โจ NAME โจ
FluidSynth โ a SoundFont synthesizer ๐น
๐ธ SYNOPSIS ๐ธ
fluidsynth [options] [ SoundFonts ] [ midifiles ]
๐ฆ DESCRIPTION ๐ฆ
FluidSynth is a real-time MIDI synthesizer based on the SoundFont(R) 2 specifications. It can render MIDI input or MIDI files to audio. The MIDI events are read from a MIDI device. The sound is rendered in real-time to the sound output device. โจ
The easiest way to start the synthesizer is to give it a SoundFont on the command line: fluidsynth soundfont.sf2. fluidsynth will load the SoundFont and read MIDI events from the default MIDI device using the default MIDI driver. Once FluidSynth is running, it reads commands from the stdin. There are commands to send MIDI events manually, to load or unload SoundFonts, and so forth. All the available commands are discussed below. ๐
FluidSynth can also be used to play a list of MIDI files. Simply run FluidSynth with the SoundFont and the list of MIDI files to play. In this case you might not want to open the MIDI device to read external events. Use the -n option to deactivate MIDI input. If you also want to deactivate the use of the shell, start FluidSynth with the -i option: fluidsynth -ni soundfont.sf2 midifile1.mid midifile2.mid. ๐ถ
Run fluidsynth with the --help option to check for changes in the list of options. (fr fr, options change, always check ๐)
๐ OPTIONS ๐
fluidsynth accepts the following options:
-a,--audio-driver=[label]โ the audio driver to use.-a helpto list valid options ๐ง-b,--bank-offset=[num]โ a positional flag that specifies the bank-offset for any Soundfonts following that flag. Can be specified multiple times. ๐-c,--audio-bufcount=[count]โ number of audio buffers-C,--chorusโ turn the chorus on or off[0|1|yes|no, default = on]๐-d,--dumpโ dump incoming and outgoing MIDI events to stdout-E,--audio-file-endianโ audio file endian for fast rendering or aufile driver (-E helpfor list)-f,--load-configโ load command configuration file (shell commands)-F,--fast-render=[file]โ render MIDI file to raw audio data and store in[file]โก-g,--gainโ set the master gain[0 < gain < 10, default = 0.2]-G,--audio-groupsโ defines the number of LADSPA audio nodes-h,--helpโ print out this help summary ๐ซถ-i,--no-shellโ don't read commands from the shell[default = yes]-j,--connect-jack-outputsโ attempt to connect the jack outputs to the physical ports-K,--midi-channels=[num]โ the number of midi channels[default = 16]-L,--audio-channels=[num]โ the number of stereo audio channels[default = 1]-m,--midi-driver=[label]โ the name of the midi driver to use.-m helpto list valid options.-n,--no-midi-inโ don't create a midi driver to read MIDI input events[default = yes]-oโ define a setting,-o name=value(-o helpto dump current values)-O,--audio-file-formatโ audio file format for fast rendering or aufile driver (-O helpfor list)-p,--portname=[label]โ set MIDI port name (alsa_seq, coremidi drivers)-q,--quietโ do not print welcome message or other informational output ๐คซ-r,--sample-rateโ set the sample rate-R,--reverbโ turn the reverb on or off[0|1|yes|no, default = on]๐-s,--serverโ start FluidSynth as a server process-T,--audio-file-typeโ audio file type for fast rendering or aufile driver (-T helpfor list)-v,--verboseโ print out verbose messages about midi events (synth.verbose=1) as well as other debug messages-V,--versionโ show version of program-z,--audio-bufsize=[size]โ size of each audio buffer
๐ง SETTINGS ๐ง
The settings to be specified with -o are documented in the fluidsettings.xml hopefully shipped with this distribution or online at https://www.fluidsynth.org/wiki/settings/. We recommend viewing this file in a webbrowser, favourably Firefox. ๐ฅ (yes they really said "favourably", iconic)
๐ SHELL COMMANDS ๐
๐ GENERAL
helpโ prints out list of help topics (typehelp <topic>to view details on available commands)quitโ quit the synthesizer ๐
๐ SOUNDFONTS
load filename [reset] [bankofs]โ load a SoundFont onto the SoundFont stack. If reset is 1 (which is the implicit default), all currently in-use SoundFont presets will be re-evaluated with the newly loaded SoundFont taken into account. Optionally, you can specify a non-zero bank offset for the new SoundFont. For example the commandload soundfont.sf2 0 10will load thesoundfont.sf2with a bank offset of 10 without re-evaluating the presets.unload numberโ unload a SoundFont. The number is the index of the SoundFont on the stack.fontsโ lists the current SoundFonts on the stackinst numberโ print out the available instruments for the SoundFont.
๐น MIDI MESSAGES
noteon channel key velocityโ send a note-on eventnoteoff channel keyโ send a note-off eventcc channel ctrl valueโ send a control change eventprog chan numโ send program-change messageselect chan sfont bank progโ combination of bank-select and program-changechannelsโ print out the presets of all channels.
๐ AUDIO SYNTHESIS
gain valueโ set the master gain (0 < gain < 5)interp numโ choose interpolation method for all channelsinterpc chan numโ choose interpolation method for one channel
๐ REVERB
set synth.reverb.active [0|1]โ turn the reverb on or offset synth.reverb.engineโ select reverb engine. Engine selection applies at synth creation.set synth.reverb.room-size numโ change reverb room sizeset synth.reverb.damp numโ change reverb dampingset synth.reverb.width numโ change reverb widthset synth.reverb.level numโ change reverb level
๐ CHORUS
set synth.chorus.active [0|1]โ turn the chorus on or offset synth.chorus.nr nโ use n delay lines (default 3)set synth.chorus.level numโ set output level of each chorus line to numset synth.chorus.speed numโ set mod speed of chorus to num (Hz)set synth.chorus.depth numโ set chorus modulation depth to num (ms)
๐ฐ๏ธ MIDI ROUTER
router_defaultโ reloads the default MIDI routing rules (input channels are mapped 1:1 to the synth)router_clearโ deletes all MIDI routing rules.router_begin [note|cc|prog|pbend|cpress|kpress]โ starts a new routing rule for events of the given typerouter_chan min max mul addโ limits the rule for events onmin <= chan <= max. If the channel falls into the window, it is multiplied by 'mul', then 'add' is added.router_par1 min max mul addโ limits parameter 1 (for example note number in a note events). Similar torouter_chan.router_par2 min max mul addโ limits parameter 2 (for example velocity in a note event). Similar torouter_chanrouter_endโ finishes the current rule and adds it to the router.
๐ Router examples
router_clear
router_begin note
router_chan 0 7 0 15
router_end
Will accept only note events from the lower 8 MIDI channels. Regardless of the channel, the synthesizer plays the note on ch 15 (synthchannel=midichannel*0+15) ๐ซ
router_begin cc
router_chan 0 7 0 15
router_par1 1 1 0 64
router_add
Configures the modulation wheel to act as sustain pedal (transforms CC 1 to CC 64 on the lower 8 MIDI channels, routes to ch 15) ๐๏ธ
๐ซถ AUTHORS ๐ซถ
- Peter Hanappe
<hanappe@fluid-synth.org> - Markus Nentwig
<nentwig@users.sourceforge.net> - Antoine Schmitt
<as@gratin.org> - Josh Green
<jgreen@users.sourceforge.net> - Stephane Letz
<letz@grame.fr> - Tom Moebert
<tom[d0t]mbrt[รT]gmail[d0t]com>
Please check the AUTHORS and THANKS files for all credits ๐
โ ๏ธ DISCLAIMER โ ๏ธ
SoundFont(R) was a registered trademark of Creative Technology Ltd.
no cap, that's the whole page bestie ๐ฆ
and that's a wrap, mwah ๐ โ this edition of the FluidSynth(1) manpage (General Commands Manual) is dated Feb 21, 2026. go make some slay little MIDI noises ๐ถ๐
๐ฆ where this page comes from
- arch rolling: fluidsynth 2.6.2-1 ยท LGPL-2.1-or-later
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms