1FluidSynth(1) General Commands Manual FluidSynth(1)
2
3
4
6 FluidSynth - a SoundFont synthesizer
7
9 fluidsynth [options] [ SoundFonts ] [ midifiles ]
10
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
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
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
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
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
528 SoundFont(R) is a registered trademark of E-mu Systems, Inc.
529
530
531
532 May 5, 2018 FluidSynth(1)