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              Increases the latency dynamically if PulseAudio suggests so.
297
298       audio.pulseaudio.device STR [def='default']
299              PulseAudio driver output device.
300
301       audio.pulseaudio.media-role STR [def='music']
302              PulseAudio media role information.
303
304       audio.pulseaudio.server STR [def='default']
305              PulseAudio driver server.
306
307
308       GENERAL MIDI
309
310
311       midi.driver STR
312              MIDI driver to use. Default and valid options depend  on  avail‐
313              able drivers.
314
315       midi.realtime-prio INT [min=0, max=99, def=50]
316              Realtime  priority to assign to MIDI thread or 0 to disable high
317              priority scheduling.  Only used by some MIDI drivers  (currently
318              'alsa_seq', 'alsa_raw' and 'oss').
319
320
321       MIDI DRIVER SPECIFIC
322
323
324       midi.alsa.device STR [def='default']
325              ALSA raw MIDI driver device.
326
327       midi.alsa_seq.device STR [def='default']
328              ALSA sequencer MIDI driver device.
329
330       midi.alsa_seq.id STR [def='pid']
331              ALSA  sequencer  client ID. 'pid' will use process ID as part of
332              the client name.
333
334       midi.coremidi.id STR [def='pid']
335              Client ID to use for CoreMIDI driver. 'pid' will use process  ID
336              as port of the client name.
337
338       midi.jack.id STR [def='fluidsynth-midi']
339              Jack MIDI driver client ID.
340
341       midi.jack.server STR [def='']
342              Jack MIDI driver server. Blank to use default.
343
344       midi.oss.device STR [def='/dev/midi']
345              OSS MIDI driver device.
346
347       midi.portname STR [def='']
348              Port name used for CoreAudio and ALSA sequencer drivers.
349
350       midi.winmidi.device STR [def='default']
351              Device for Windows MIDI driver.
352
353
354       MISCELLANEOUS
355
356
357       player.reset-synth BOOL [def=True]
358              TRUE to reset synthesizer MIDI state between MIDI songs.
359
360       player.timing-source STR [def='sample' vals:'sample','system']
361              Selects timing source for MIDI sequencer. 'system' uses the sys‐
362              tem timer. 'sample' uses the sample clock (amount of audio  out‐
363              put, events synchronized with audio).
364
365       shell.port INT [min=1, max=65535, def=9800]
366              Shell command server TCP/IP port number to use.
367
368       shell.prompt STR [def='']
369              Shell prompt string.
370
371

SHELL COMMANDS

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

AUTHORS

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

DISCLAIMER

525       SoundFont(R) is a registered trademark of E-mu Systems, Inc.
526
527
528
529                                 Aug 26, 2010                    FluidSynth(1)
Impressum