DOKK / manpages / debian 10 / fluidsynth / fluidsynth.1.en
FluidSynth(1) General Commands Manual FluidSynth(1)

FluidSynth - a SoundFont synthesizer

fluidsynth [options] [ SoundFonts ] [ midifiles ]

FluidSynth is a real-time MIDI synthesizer based on the SoundFont(R) 2 specifications. It can be used to 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.

fluidsynth accepts the following options:

The audio driver to use. "-a help" to list valid options
Number of audio buffers
Turn the chorus on or off [0|1|yes|no, default = on]
Dump incoming and outgoing MIDI events to stdout
Audio file endian for fast rendering or aufile driver ("-E help" for list)
Load command configuration file (shell commands)
Render MIDI file to raw audio data and store in [file]
Set the master gain [0 < gain < 10, default = 0.2]
Defines the number of LADSPA audio nodes
Print out this help summary
Don't read commands from the shell [default = yes]
Attempt to connect the jack outputs to the physical ports
The number of midi channels [default = 16]
Don't connect to LASH server
The number of stereo audio channels [default = 1]
The name of the midi driver to use. "-m help" to list valid options.
Don't create a midi driver to read MIDI input events [default = yes]
Define a setting, -o name=value ("-o help" to dump current values)
Audio file format for fast rendering or aufile driver ("-O help" for list)
Set MIDI port name (alsa_seq, coremidi drivers)
Set the sample rate
Turn the reverb on or off [0|1|yes|no, default = on]
Start FluidSynth as a server process
Audio file type for fast rendering or aufile driver ("T help" for list)
Print out verbose messages about midi events
Show version of program
Size of each audio buffer

All settings are non-realtime (have no effect if set after startup), except for those indicated as realtime.

Number of audio channels (DOCME!).
Number of audio groups (DOCME!).
Chorus effect enable toggle.
Number of CPU cores to use for multi-core support.
Device ID to use for accepting incoming SYSEX messages.
No effect currently.
No effect currently.
Master synthesizer gain.
LADSPA subsystem enable toggle.
Total MIDI channel count (must be multiple of 16).
MIDI Bank Select message style.
Minimum duration for note events (work around for very short percussion notes).
Weigthing (on overflow) for a voice's duration.
Weighting (on overflow) for a voice being on the drum channel.
Weighting (on overflow) for a voice that has been released, i e note off and no sustain pedal.
Weighting (on overflow) for a voice that has been sustained, i e note off, but sustain pedal held down.
Weighting (on overflow) for a voice's volume.
Enables low-latency audio rendering response, even if synth is otherwise busy. Should always to be true for usage by fluidsynth executable.
Voice polyphony count (number of simultaneous voices allowed).
Reverb effect enable toggle.
Synthesizer sample rate.
Serializes access to the synth API. Must always to be true for usage by fluidsynth executable.
Print received MIDI events to stdout.

GENERAL AUDIO

Audio driver to use. Default and valid options depend on available drivers.
Not used currently? (DOCME).
DOCME
Period size for audio buffers. Used by many audio drivers.
Count of audio buffers. Used by many audio drivers.
Realtime priority to assign to audio thread or 0 to disable high priority scheduling. Only used by some audio drivers (currently 'alsa' and 'oss').
Audio output format, to select format for those drivers which support 16 bit or floating point.

ALSA audio driver output device.
CoreAudio driver output device. Valid options depend on system.
OS/2 Dart audio driver device.
Device to use for DirectSound driver. Valid options depend on system.
File renderer or file driver byte order selection. 'auto' selects the default for the selected file type. 'cpu' uses the CPU byte order. Limited to 'cpu' if no libsndfile support.
File renderer or file driver audio format. Limited to 's16' if no libsndfile support.
Output file name for file renderer or file driver.
Output file type for file renderer or file driver. 'auto' attempts to determine type from file extension in audio.file.name. Limited to 'raw' if no libsndfile support. Actual options will vary depending on libsndfile library.
If enabled, then FluidSynth is automatically connected to Jack system audio output ports.
Client ID to use when connecting to Jack.
TRUE to enable multi-channel output.
Jack server name. Blank for default.
OSS driver output device.
PortAudio driver output device. Available options depends on system.
If TRUE initializes the maximum length of the audio buffer to the highest supported value and increases the latency dynamically if PulseAudio suggests so. Else uses a buffer with length of audio.period-size.
PulseAudio driver output device.
PulseAudio media role information.
PulseAudio driver server.

GENERAL MIDI

MIDI driver to use. Default and valid options depend on available drivers.
Realtime priority to assign to MIDI thread or 0 to disable high priority scheduling. Only used by some MIDI drivers (currently 'alsa_seq', 'alsa_raw' and 'oss').

ALSA raw MIDI driver device.
ALSA sequencer MIDI driver device.
ALSA sequencer client ID. 'pid' will use process ID as part of the client name.
Client ID to use for CoreMIDI driver. 'pid' will use process ID as port of the client name.
Jack MIDI driver client ID.
Jack MIDI driver server. Blank to use default.
OSS MIDI driver device.
Port name used for CoreAudio and ALSA sequencer drivers.
Device for Windows MIDI driver.

TRUE to reset synthesizer MIDI state between MIDI songs.
Selects timing source for MIDI sequencer. 'system' uses the system timer. 'sample' uses the sample clock (amount of audio output, events synchronized with audio).
Shell command server TCP/IP port number to use.
Shell prompt string.

Prints out list of help topics (type "help <topic>")
Quit the synthesizer
Load a SoundFont
Unload a SoundFont. The number is the index of the SoundFont on the stack.
Lists the current SoundFonts on the stack
Print out the available instruments for the SoundFont.
Send a note-on event
Send a note-off event
Send a control change event
Send program-change message
Combination of bank-select and program-change
Print out the presets of all channels.
Set the master gain (0 < gain < 5)
Choose interpolation method for all channels
Choose interpolation method for one channel
Turn the reverb on or off
Load preset num into the reverb unit
Change reverb room size
Change reverb damping
Change reverb width
Change reverb level
Turn the chorus on or off
Use n delay lines (default 3)
Set output level of each chorus line to num
Set mod speed of chorus to num (Hz)
Set chorus modulation depth to num (ms)
Reloads the default MIDI routing rules (input channels are mapped 1:1 to the synth)
Deletes all MIDI routing rules.
Starts a new routing rule for events of the given type
Limits the rule for events on min <= chan <= max. If the channel falls into the window, it is multiplied by 'mul', then 'add' is added.
Limits parameter 1 (for example note number in a note events). Similar to router_chan.
Limits parameter 2 (for example velocity in a note event). Similar to router_chan
Finishes the current rule and adds it to the router.
channels. Regardless of the channel, the synthesizer plays the note on ch 15 (synthchannel=midichannel*0+15)
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)

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>

Please check the AUTHORS and THANKS files for all credits

SoundFont(R) is a registered trademark of E-mu Systems, Inc.

May 5, 2018