1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343
|
.\" hey, Emacs: -*- nroff -*-
.\" FluidSynth is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU Lesser General Public License as published by
.\" the Free Software Foundation; either version 2.1 of the License, or
.\" (at your option) any later version.
.\"
.\" This program is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU Lesser General Public License
.\" along with this program; see the file LICENSE. If not, write to
.\" the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
.\"
.TH FluidSynth 1 "Feb 2, 2025"
.\" Please update the above date whenever this man page is modified.
.\"
.\" Some roff macros, for reference:
.\" .nh disable hyphenation
.\" .hy enable hyphenation
.\" .ad l left justify
.\" .ad b justify to both left and right margins (default)
.\" .nf disable filling
.\" .fi enable filling
.\" .br insert line break
.\" .sp <n> insert n+1 empty lines
.\" for manpage-specific macros, see man(7)
.SH NAME
FluidSynth \- a SoundFont synthesizer
.SH SYNOPSIS
.B fluidsynth
.RI [ options ]
[ SoundFonts ]
[ midifiles ]
.SH DESCRIPTION
\fBFluidSynth\fP 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.
.PP
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,
and so forth.
All the available commands are discussed below.
.PP
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 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'.
.PP
Run fluidsynth with the \-\-help option to check for changes in the list
of options.
.SH OPTIONS
\fBfluidsynth\fP accepts the following options:
.TP
.B \-a, \-\-audio\-driver=[label]
The audio driver to use.
"\-a help" to list valid options
.TP
.B \-c, \-\-audio\-bufcount=[count]
Number of audio buffers
.TP
.B \-C, \-\-chorus
Turn the chorus on or off
[0|1|yes|no, default = on]
.TP
.B \-d, \-\-dump
Dump incoming and outgoing MIDI events to stdout
.TP
.B \-E, \-\-audio\-file\-endian
Audio file endian for fast rendering or aufile driver
("\-E help" for list)
.TP
.B \-f, \-\-load\-config
Load command configuration file
(shell commands)
.TP
.B \-F, \-\-fast\-render=[file]
Render MIDI file to raw audio data and store in [file]
.TP
.B \-g, \-\-gain
Set the master gain
[0 < gain < 10, default = 0.2]
.TP
.B \-G, \-\-audio\-groups
Defines the number of LADSPA audio nodes
.TP
.B \-h, \-\-help
Print out this help summary
.TP
.B \-i, \-\-no\-shell
Don't read commands from the shell [default = yes]
.TP
.B \-j, \-\-connect\-jack\-outputs
Attempt to connect the jack outputs to the physical ports
.TP
.B \-K, \-\-midi\-channels=[num]
The number of midi channels [default = 16]
.TP
.B \-L, \-\-audio\-channels=[num]
The number of stereo audio channels [default = 1]
.TP
.B \-m, \-\-midi\-driver=[label]
The name of the midi driver to use.
"\-m help" to list valid options.
.TP
.B \-n, \-\-no\-midi\-in
Don't create a midi driver to read MIDI input events [default = yes]
.TP
.B \-o
Define a setting, \-o name=value
("\-o help" to dump current values)
.TP
.B \-O, \-\-audio\-file\-format
Audio file format for fast rendering or aufile driver
("\-O help" for list)
.TP
.B \-p, \-\-portname=[label]
Set MIDI port name
(alsa_seq, coremidi drivers)
.TP
.B \-q, \-\-quiet
Do not print welcome message or other informational output
.TP
.B \-r, \-\-sample\-rate
Set the sample rate
.TP
.B \-R, \-\-reverb
Turn the reverb on or off
[0|1|yes|no, default = on]
.TP
.B \-s, \-\-server
Start FluidSynth as a server process
.TP
.B \-T, \-\-audio\-file\-type
Audio file type for fast rendering or aufile driver
("\-T help" for list)
.TP
.B \-v, \-\-verbose
Print out verbose messages about midi events
(synth.verbose=1)
as well as other debug messages
.TP
.B \-V, \-\-version
Show version of program
.TP
.B \-z, \-\-audio\-bufsize=[size]
Size of each audio buffer
.SH SETTINGS
The settings to be specified with \-o are documented in the
fluidsettings.xml
hopefully shipped with this distribution
or online at
https://www.fluidsynth.org/api/fluidsettings.xml .
We recommend viewing this file in a webbrowser,
favourably Firefox.
.SH SHELL COMMANDS
.TP
.B GENERAL
.TP
.B help
Prints out list of help topics
(type "help <topic>"
to view details on available commands)
.TP
.B quit
Quit the synthesizer
.TP
.B SOUNDFONTS
.TP
.B load filename [reset] [bankofs]
Load a SoundFont onto the SoundFont stack. If reset is 1 (which is the implicit default), all currently in-use SoundFont presets will be re-evaluated with the newly loaded SoundFont taken into account.
Optionally, you can specify a non-zero bank offset for the new SoundFont. For example the command
load soundfont.sf2 0 10 will load the soundfont.sf2 with a bank offset of 10 without re-evaluating the presets.
.TP
.B unload number
Unload a SoundFont.
The number is the index of the SoundFont on the stack.
.TP
.B fonts
Lists the current SoundFonts on the stack
.TP
.B inst number
Print out the available instruments for the SoundFont.
.TP
.B MIDI MESSAGES
.TP
.B noteon channel key velocity
Send a note-on event
.TP
.B noteoff channel key
Send a note-off event
.TP
.B cc channel ctrl value
Send a control change event
.TP
.B prog chan num
Send program-change message
.TP
.B select chan sfont bank prog
Combination of bank-select and program-change
.TP
.B channels
Print out the presets of all channels.
.TP
.B AUDIO SYNTHESIS
.TP
.B gain value
Set the master gain
(0 < gain < 5)
.TP
.B interp num
Choose interpolation method for all channels
.TP
.B interpc chan num
Choose interpolation method for one channel
.TP
.B REVERB
.TP
.B set synth.reverb.active [0|1]
Turn the reverb on or off
.TP
.B set synth.reverb.room-size num
Change reverb room size
.TP
.B set synth.reverb.damp num
Change reverb damping
.TP
.B set synth.reverb.width num
Change reverb width
.TP
.B set synth.reverb.level num
Change reverb level
.TP
.B CHORUS
.TP
.B set synth.chorus.active [0|1]
Turn the chorus on or off
.TP
.B set synth.chorus.nr n
Use n delay lines
(default 3)
.TP
.B set synth.chorus.level num
Set output level of each chorus line to num
.TP
.B set synth.chorus.speed num
Set mod speed of chorus to num (Hz)
.TP
.B set synth.chorus.depth num
Set chorus modulation depth to num (ms)
.TP
.B MIDI ROUTER
.TP
.B router_default
Reloads the default MIDI routing rules
(input channels are mapped 1:1 to the synth)
.TP
.B router_clear
Deletes all MIDI routing rules.
.TP
.B router_begin [note|cc|prog|pbend|cpress|kpress]
Starts a new routing rule for events of the given type
.TP
.B router_chan min max mul add
Limits the rule for events on min <= chan <= max.
If the channel falls into the window,
it is multiplied by 'mul',
then 'add' is added.
.TP
.B router_par1 min max mul add
Limits parameter 1
(for example note number in a note events).
Similar to router_chan.
.TP
.B router_par2 min max mul add
Limits parameter 2
(for example velocity in a note event).
Similar to router_chan
.TP
.B router_end
Finishes the current rule and adds it to the router.
.TP
.B Router examples
.TP
router_clear
.TP
router_begin note
.TP
router_chan 0 7 0 15
.TP
router_end
.\".TP
Will accept only note events from the lower 8 MIDI channels.
Regardless of the channel,
the synthesizer plays the note on ch 15
(synthchannel=midichannel*0+15)
.TP
router_begin cc
.TP
router_chan 0 7 0 15
.TP
router_par1 1 1 0 64
.TP
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)
.SH AUTHORS
Peter Hanappe <hanappe@fluid-synth.org>
.br
Markus Nentwig <nentwig@users.sourceforge.net>
.br
Antoine Schmitt <as@gratin.org>
.br
Josh Green <jgreen@users.sourceforge.net>
.br
Stephane Letz <letz@grame.fr>
.br
Tom Moebert <tom[d0t]mbrt[ÄT]gmail[d0t]com>
Please check the AUTHORS and THANKS files for all credits
.SH DISCLAIMER
SoundFont(R) is a registered trademark of E-mu Systems, Inc.
|