1FluidSynth(1)               General Commands Manual              FluidSynth(1)
2
3
4

NAME

6       FluidSynth - a SoundFont synthesizer
7

SYNOPSIS

9       fluidsynth [options] [ SoundFonts ] [ midifiles ]
10

DESCRIPTION

12       FluidSynth  is a real-time MIDI synthesizer based on the SoundFont(R) 2
13       specifications. It can be used to render MIDI input or  MIDI  files  to
14       audio.   The MIDI events are read from a MIDI device. The sound is ren‐
15       dered in real-time to the sound output device.
16
17       The easiest way to start the synthesizer is to give it a  SoundFont  on
18       the  command line: 'fluidsynth soundfont.sf2'. fluidsynth will load the
19       SoundFont and read MIDI events from the default MIDI device  using  the
20       default  MIDI  driver.   Once  FluidSynth is running, it reads commands
21       from the stdin. There are commands to send  MIDI  events  manually,  to
22       load or unload SoundFonts, and so forth. All the available commands are
23       discussed below.
24
25       FluidSynth can also be used to play a list of MIDI  files.  Simply  run
26       FluidSynth  with  the  SoundFont and the list of MIDI files to play. In
27       this case you might not want to open the MIDI device to  read  external
28       events. Use the -n option to deactivate MIDI input. If you also want to
29       deactivate the use of the shell, start FluidSynth with the  -i  option:
30       'fluidsynth -ni soundfont.sf2 midifile1.mid midifile2.mid'.
31
32       Run  fluidsynth with the --help option to check for changes in the list
33       of options.
34

OPTIONS

36       fluidsynth accepts the following options:
37
38
39       -a, --audio-driver=[label]
40              The audio driver to use. "-a help" to list valid options
41
42       -c, --audio-bufcount=[count]
43              Number of audio buffers
44
45       -C, --chorus
46              Turn the chorus on or off [0|1|yes|no, default = on]
47
48       -d, --dump
49              Dump incoming and outgoing MIDI events to stdout
50
51       -E, --audio-file-endian
52              Audio file endian for fast rendering or aufile driver ("-E help"
53              for list)
54
55       -f, --load-config
56              Load command configuration file (shell commands)
57
58       -F, --fast-render=[file]
59              Render MIDI file to raw audio data and store in [file]
60
61       -g, --gain
62              Set the master gain [0 < gain < 10, default = 0.2]
63
64       -G, --audio-groups
65              Defines the number of LADSPA audio nodes
66
67       -h, --help
68              Print out this help summary
69
70       -i, --no-shell
71              Don't read commands from the shell [default = yes]
72
73       -j, --connect-jack-outputs
74              Attempt to connect the jack outputs to the physical ports
75
76       -K, --midi-channels=[num]
77              The number of midi channels [default = 16]
78
79       -l, --disable-lash
80              Don't connect to LASH server
81
82       -L, --audio-channels=[num]
83              The number of stereo audio channels [default = 1]
84
85       -m, --midi-driver=[label]
86              The  name  of  the  midi  driver to use. "-m help" to list valid
87              options.
88
89       -n, --no-midi-in
90              Don't create a midi driver to read MIDI input events [default  =
91              yes]
92
93       -o     Define  a setting, -o name=value ("-o help" to dump current val‐
94              ues)
95
96       -O, --audio-file-format
97              Audio file format for fast rendering or aufile driver ("-O help"
98              for list)
99
100       -p, --portname=[label]
101              Set MIDI port name (alsa_seq, coremidi drivers)
102
103       -r, --sample-rate
104              Set the sample rate
105
106       -R, --reverb
107              Turn the reverb on or off [0|1|yes|no, default = on]
108
109       -s, --server
110              Start FluidSynth as a server process
111
112       -T, --audio-file-type
113              Audio  file  type  for fast rendering or aufile driver ("T help"
114              for list)
115
116       -v, --verbose
117              Print out verbose messages about midi events
118
119       -V, --version
120              Show version of program
121
122       -z, --audio-bufsize=[size]
123              Size of each audio buffer
124
125

SETTINGS

127       All settings are non-realtime (have no effect if  set  after  startup),
128       except for those indicated as realtime.
129
130
131       SYNTHESIZER
132
133
134       synth.audio-channels INT [min=1, max=128, def=1]
135              Number of audio channels (DOCME!).
136
137       synth.audio-groups INT [min=1, max=128, def=1]
138              Number of audio groups (DOCME!).
139
140       synth.chorus.active BOOL [def=True]
141              Chorus effect enable toggle.
142
143       synth.cpu-cores INT [min=1, max=256, def=1]
144              Number of CPU cores to use for multi-core support.
145
146       synth.device-id INT [min=0, max=126, def=0] REALTIME
147              Device ID to use for accepting incoming SYSEX messages.
148
149       synth.dump BOOL [def=False]
150              No effect currently.
151
152       synth.effects-channels INT [min=2, max=2, def=2]
153              No effect currently.
154
155       synth.gain FLOAT [min=0.000, max=10.000, def=0.200] REALTIME
156              Master synthesizer gain.
157
158       synth.ladspa.active BOOL [def=False]
159              LADSPA subsystem enable toggle.
160
161       synth.midi-channels INT [min=16, max=256, def=16]
162              Total MIDI channel count (must be multiple of 16).
163
164       synth.midi-bank-select STR [def='gs' vals:'gm', 'gs', 'xg', 'mma']
165              MIDI Bank Select message style.
166
167       synth.min-note-length INT [min=0, max=65535, def=10]
168              Minimum  duration  for  note  events (work around for very short
169              percussion notes).
170
171       synth.overflow.age FLOAT [min=-10000, max=10000, def=1000]
172              Weigthing (on overflow) for a voice's duration.
173
174       synth.overflow.percussion FLOAT [min=-10000, max=10000, def=4000]
175              Weighting (on overflow) for a voice being on the drum channel.
176
177       synth.overflow.released FLOAT [min=-10000, max=10000, def=-2000]
178              Weighting (on overflow) for a voice that has been released, i  e
179              note off and no sustain pedal.
180
181       synth.overflow.sustained FLOAT [min=-10000, max=10000, def=-1000]
182              Weighting (on overflow) for a voice that has been sustained, i e
183              note off, but sustain pedal held down.
184
185       synth.overflow.volume FLOAT [min=-10000, max=10000, def=500]
186              Weighting (on overflow) for a voice's volume.
187
188       synth.parallel-render BOOL [def=True]
189              Enables low-latency audio rendering response, even if  synth  is
190              otherwise  busy.   Should  always  to  be true for usage by flu‐
191              idsynth executable.
192
193       synth.polyphony INT [min=1, max=65535, def=256] REALTIME
194              Voice polyphony count (number of simultaneous voices allowed).
195
196       synth.reverb.active BOOL [def=True]
197              Reverb effect enable toggle.
198
199       synth.sample-rate FLOAT [min=22050.000, max=96000.000, def=44100.000]
200              Synthesizer sample rate.
201
202       synth.threadsafe-api BOOL [def=True]
203              Serializes access to the synth API.  Must always to be true  for
204              usage by fluidsynth executable.
205
206       synth.verbose BOOL [def=False]
207              Print received MIDI events to stdout.
208
209
210       GENERAL AUDIO
211
212
213       audio.driver STR
214              Audio  driver to use. Default and valid options depend on avail‐
215              able drivers.
216
217       audio.input-channels INT [min=0, max=2, def=0]
218              Not used currently? (DOCME).
219
220       audio.output-channels INT [min=2, max=32, def=2]
221              DOCME
222
223       audio.period-size INT [min=64, max=8192, def=64]
224              Period size for audio buffers. Used by many audio drivers.
225
226       audio.periods INT [min=2, max=64, def=16]
227              Count of audio buffers. Used by many audio drivers.
228
229       audio.realtime-prio INT [min=0, max=99, def=60]
230              Realtime priority to assign to audio thread or 0 to disable high
231              priority scheduling.  Only used by some audio drivers (currently
232              'alsa' and 'oss').
233
234       audio.sample-format STR [def='16bits' vals:'16bits','float']
235              Audio output format, to select format for  those  drivers  which
236              support 16 bit or floating point.
237
238
239       AUDIO DRIVER SPECIFIC
240
241
242       audio.alsa.device STR [def='default']
243              ALSA audio driver output device.
244
245       audio.coreaudio.device STR [def='default']
246              CoreAudio driver output device. Valid options depend on system.
247
248       audio.dart.device STR [def='default']
249              OS/2 Dart audio driver device.
250
251       audio.dsound.device STR [def='default']
252              Device  to  use  for DirectSound driver. Valid options depend on
253              system.
254
255       audio.file.endian STR [def='auto' vals:'auto','big','cpu','little']
256              File renderer  or  file  driver  byte  order  selection.  'auto'
257              selects  the  default for the selected file type. 'cpu' uses the
258              CPU byte order. Limited to 'cpu' if no libsndfile support.
259
260       audio.file.format          STR          [def='s16'           vals:'dou‐
261       ble','float','s16','s24','s32','s8','u8']
262              File  renderer  or file driver audio format. Limited to 's16' if
263              no libsndfile support.
264
265       audio.file.name STR [def='fluidsynth.wav']
266              Output file name for file renderer or file driver.
267
268       audio.file.type                     STR                     [def='auto'
269       vals:'aiff','au','auto','flac','oga','raw','wav']
270              Output  file  type  for  file  renderer  or  file driver. 'auto'
271              attempts   to   determine   type   from   file   extension    in
272              audio.file.name.  Limited  to  'raw'  if  no libsndfile support.
273              Actual options will vary depending on libsndfile library.
274
275       audio.jack.autoconnect BOOL [def=False]
276              If enabled, then FluidSynth is automatically connected  to  Jack
277              system audio output ports.
278
279       audio.jack.id STR [def='fluidsynth']
280              Client ID to use when connecting to Jack.
281
282       audio.jack.multi BOOL [def=False]
283              TRUE to enable multi-channel output.
284
285       audio.jack.server STR [def='']
286              Jack server name. Blank for default.
287
288       audio.oss.device STR [def='/dev/dsp']
289              OSS driver output device.
290
291       audio.portaudio.device STR [def='PortAudio Default']
292              PortAudio  driver  output  device.  Available options depends on
293              system.
294
295       audio.pulseaudio.adjust-latency BOOL [def=True]
296              If TRUE initializes the maximum length of the  audio  buffer  to
297              the  highest  supported  value and increases the latency dynami‐
298              cally if PulseAudio suggests so. Else uses a buffer with  length
299              of audio.period-size.
300
301       audio.pulseaudio.device STR [def='default']
302              PulseAudio driver output device.
303
304       audio.pulseaudio.media-role STR [def='music']
305              PulseAudio media role information.
306
307       audio.pulseaudio.server STR [def='default']
308              PulseAudio driver server.
309
310
311       GENERAL MIDI
312
313
314       midi.driver STR
315              MIDI  driver  to use. Default and valid options depend on avail‐
316              able drivers.
317
318       midi.realtime-prio INT [min=0, max=99, def=50]
319              Realtime priority to assign to MIDI thread or 0 to disable  high
320              priority  scheduling.  Only used by some MIDI drivers (currently
321              'alsa_seq', 'alsa_raw' and 'oss').
322
323
324       MIDI DRIVER SPECIFIC
325
326
327       midi.alsa.device STR [def='default']
328              ALSA raw MIDI driver device.
329
330       midi.alsa_seq.device STR [def='default']
331              ALSA sequencer MIDI driver device.
332
333       midi.alsa_seq.id STR [def='pid']
334              ALSA sequencer client ID. 'pid' will use process ID as  part  of
335              the client name.
336
337       midi.coremidi.id STR [def='pid']
338              Client  ID to use for CoreMIDI driver. 'pid' will use process ID
339              as port of the client name.
340
341       midi.jack.id STR [def='fluidsynth-midi']
342              Jack MIDI driver client ID.
343
344       midi.jack.server STR [def='']
345              Jack MIDI driver server. Blank to use default.
346
347       midi.oss.device STR [def='/dev/midi']
348              OSS MIDI driver device.
349
350       midi.portname STR [def='']
351              Port name used for CoreAudio and ALSA sequencer drivers.
352
353       midi.winmidi.device STR [def='default']
354              Device for Windows MIDI driver.
355
356
357       MISCELLANEOUS
358
359
360       player.reset-synth BOOL [def=True]
361              TRUE to reset synthesizer MIDI state between MIDI songs.
362
363       player.timing-source STR [def='sample' vals:'sample','system']
364              Selects timing source for MIDI sequencer. 'system' uses the sys‐
365              tem  timer. 'sample' uses the sample clock (amount of audio out‐
366              put, events synchronized with audio).
367
368       shell.port INT [min=1, max=65535, def=9800]
369              Shell command server TCP/IP port number to use.
370
371       shell.prompt STR [def='']
372              Shell prompt string.
373
374

SHELL COMMANDS

376       GENERAL
377
378       help   Prints out list of help topics (type "help <topic>")
379
380       quit   Quit the synthesizer
381
382       SOUNDFONTS
383
384       load filename
385              Load a SoundFont
386
387       unload number
388              Unload a SoundFont. The number is the index of the SoundFont  on
389              the stack.
390
391       fonts  Lists the current SoundFonts on the stack
392
393       inst number
394              Print out the available instruments for the SoundFont.
395
396       MIDI MESSAGES
397
398       noteon channel key velocity
399              Send a note-on event
400
401       noteoff channel key
402              Send a note-off event
403
404       cc channel ctrl value
405              Send a control change event
406
407       prog chan num
408              Send program-change message
409
410       select chan sfont bank prog
411              Combination of bank-select and program-change
412
413       channels
414              Print out the presets of all channels.
415
416       AUDIO SYNTHESIS
417
418       gain value
419              Set the master gain (0 < gain < 5)
420
421       interp num
422              Choose interpolation method for all channels
423
424       interpc chan num
425              Choose interpolation method for one channel
426
427       REVERB
428
429       reverb [0|1|on|off]
430              Turn the reverb on or off
431
432       rev_preset num
433              Load preset num into the reverb unit
434
435       rev_setroomsize num
436              Change reverb room size
437
438       rev_setdamp num
439              Change reverb damping
440
441       rev_setwidth num
442              Change reverb width
443
444       rev_setlevel num
445              Change reverb level
446
447       CHORUS
448
449       chorus [0|1|on|off]
450              Turn the chorus on or off
451
452       cho_set_nr n
453              Use n delay lines (default 3)
454
455       cho_set_level num
456              Set output level of each chorus line to num
457
458       cho_set_speed num
459              Set mod speed of chorus to num (Hz)
460
461       cho_set_depth num
462              Set chorus modulation depth to num (ms)
463
464       MIDI ROUTER
465
466       router_default
467              Reloads  the  default  MIDI  routing  rules  (input channels are
468              mapped 1:1 to the synth)
469
470       router_clear
471              Deletes all MIDI routing rules.
472
473       router_begin [note|cc|prog|pbend|cpress|kpress]
474              Starts a new routing rule for events of the given type
475
476       router_chan min max mul add
477              Limits the rule for events on min <= chan <= max.  If the  chan‐
478              nel falls into the window, it is multiplied by 'mul', then 'add'
479              is added.
480
481       router_par1 min max mul add
482              Limits parameter 1 (for example note number in a  note  events).
483              Similar to router_chan.
484
485       router_par2 min max mul add
486              Limits parameter 2 (for example velocity in a note event). Simi‐
487              lar to router_chan
488
489       router_end
490              Finishes the current rule and adds it to the router.
491
492       Router examples
493
494       router_clear
495
496       router_begin note
497
498       router_chan 0 7 0 15
499
500       router_end
501
502       Will accept only note events from the lower 8 MIDI
503              channels. Regardless of the channel, the synthesizer  plays  the
504              note on ch 15 (synthchannel=midichannel*0+15)
505
506       router_begin cc
507
508       router_chan 0 7 0 15
509
510       router_par1 1 1 0 64
511
512       router_add
513              Configures  the modulation wheel to act as sustain pedal (trans‐
514              forms CC 1 to CC 64 on the lower 8 MIDI channels, routes  to  ch
515              15)
516
517

AUTHORS

519       Peter Hanappe <hanappe@fluid-synth.org>
520       Markus Nentwig <nentwig@users.sourceforge.net>
521       Antoine Schmitt <as@gratin.org>
522       Josh Green <jgreen@users.sourceforge.net>
523       Stephane Letz <letz@grame.fr>
524
525       Please check the AUTHORS and THANKS files for all credits
526

DISCLAIMER

528       SoundFont(R) is a registered trademark of E-mu Systems, Inc.
529
530
531
532                                  May 5, 2018                    FluidSynth(1)
Impressum