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 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
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
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
525 SoundFont(R) is a registered trademark of E-mu Systems, Inc.
526
527
528
529 Aug 26, 2010 FluidSynth(1)