fluidsynth(1.0) fluidsynth(1.0) 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 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, andsoforth. 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 for 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. OPTIONS fluidsynth accepts the following options: -h, --help Show summary of options. -V, --version Show version of program. -n, --no-midi-in Don't create a midi driver to read MIDI input events [default = yes] -m, --midi-driver=[label] The name of the midi driver to use [oss,alsa,alsa_seq,winmidi,...] -L, --midi-channels=[num] The number of midi channels [default = 16] -a, --audio-driver=[label] The audio driver [alsa,jack,oss,dsound,...] -L, --audio-channels=[num] The number of audio channels [default = 1] -G, --audio-groups=[num] The number of audio groups -z, --audio-bufsize=[size] Size of each audio buffer [default = %d] -c, --audio-bufcount=[count] Number of audio buffers [default = %d] -r, --sample-rate Set the sample rate -R, --reverb Turn the reverb on or off [0|1|yes|no, default = on] -C, --chorus Turn the chorus on or off [0|1|yes|no, default = on] -g, --gain Set the master gain [0 < gain < 10, default = 0.2] -s, --server Start a TCP/IP server for remote shells [default=no, port=9800] -i, --no-shell Don't read commands from the shell [default = yes] -v, --verbose Print out verbose messages about midi events SHELL COMMANDS GENERAL help Prints out a summary of the main commands quit Quit the synthesizer SOUNDFONTS load filename Load a SoundFont unload number Unload a SoundFont. The number is the index of the SoundFont on the stack. fonts Lists the current SoundFonts on the stack inst number Print out the available instruments for the Sound- Font. MIDI MESSAGES noteon channel key velocity Send a note-on event noteoff channel key Send a note-off event cc channel ctrl value Send a control change event prog chan num Send program-change message select chan sfont bank prog Combination of bank-select and program-change channels 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 channels interpc chan num Choose interpolation method for one channel REVERB reverb [0|1|on|off] Turn the reverb on or off rev_preset num Load preset num into the reverb unit rev_setroomsize num Change reverb room size rev_setdamp num Change reverb damping rev_setwidth num Change reverb width rev_setlevel num Change reverb level CHORUS chorus [0|1|on|off] Turn the chorus on or off cho_set_nr n Use n delay lines (default 3) cho_set_level num Set output level of each chorus line to num cho_set_speed num Set mod speed of chorus to num (Hz) cho_set_depth num Set chorus modulation depth to num (ms) MIDI ROUTER router_default Reloads the default MIDI routing rules (input chan- nels 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 type router_chan min max mul add Limits the rule for events on min <= chan <= max. If the channel falls into the window, it is multi- plied by 'mul', then router_par1 min max mul add Limits parameter 1 (for example note number in a note events). Similar to router_chan. router_par2 min max mul add Limits parameter 2 (for example velocity in a note event). Similar to router_chan router_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 synthe- sizer plays the note on ch 15 (synthchan- nel=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 Markus Nentwig Antoine Schmitt Josh Green Stephane Letz Please check the AUTHORS and THANKS files for all credits DISCLAIMER SoundFont(R) is a registered trademark of E-mu Systems, Inc. March 12, 2003 fluidsynth(1.0)