fluidsynth.1
上传用户:tjmskj2
上传日期:2020-08-17
资源大小:577k
文件大小:14k
源码类别:

midi

开发平台:

C/C++

  1. ."                              hey, Emacs:   -*- nroff -*-
  2. ." FluidSynth is free software; you can redistribute it and/or modify
  3. ." it under the terms of the GNU Library General Public License as published by
  4. ." the Free Software Foundation; either version 2 of the License, or
  5. ." (at your option) any later version.
  6. ."
  7. ." This program is distributed in the hope that it will be useful,
  8. ." but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. ." MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  10. ." GNU General Public License for more details.
  11. ."
  12. ." You should have received a copy of the GNU Library General Public License
  13. ." along with this program; see the file COPYING.  If not, write to
  14. ." the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
  15. ."
  16. .TH FluidSynth 1 "Oct 22, 2009"
  17. ." Please update the above date whenever this man page is modified.
  18. ."
  19. ." Some roff macros, for reference:
  20. ." .nh        disable hyphenation
  21. ." .hy        enable hyphenation
  22. ." .ad l      left justify
  23. ." .ad b      justify to both left and right margins (default)
  24. ." .nf        disable filling
  25. ." .fi        enable filling
  26. ." .br        insert line break
  27. ." .sp <n>    insert n+1 empty lines
  28. ." for manpage-specific macros, see man(7)
  29. .SH NAME
  30. FluidSynth - a SoundFont synthesizer
  31. .SH SYNOPSIS
  32. .B fluidsynth
  33. .RI [ options ] 
  34. [ SoundFonts ] 
  35. [ midifiles ] 
  36. .SH DESCRIPTION
  37. fBFluidSynthfP is a real-time MIDI synthesizer based on the
  38. SoundFont(R) 2 specifications. It can be used to render MIDI input or
  39. MIDI files to audio.  The MIDI events are read from a MIDI device. The
  40. sound is rendered in real-time to the sound output device.
  41. .PP
  42. The easiest way to start the synthesizer is to give it a SoundFont on
  43. the command line: 'fluidsynth soundfont.sf2'. fluidsynth will load the
  44. SoundFont and read MIDI events from the default MIDI device using the
  45. default MIDI driver.  Once FluidSynth is running, it reads commands
  46. from the stdin. There are commands to send MIDI events manually, to
  47. load or unload SoundFonts, and so forth. All the available commands are
  48. discussed below.
  49. .PP
  50. FluidSynth can also be used to play a list of MIDI files. Simply run
  51. FluidSynth with the SoundFont and the list of MIDI files to play. In
  52. this case you might not want to open the MIDI device to read external
  53. events. Use the -n option to deactivate MIDI input. If you also
  54. want to deactivate the use of the shell, start FluidSynth with the -i
  55. option: 'fluidsynth -ni soundfont.sf2 midifile1.mid midifile2.mid'.
  56. .PP
  57. Run fluidsynth with the --help option to check for changes in the list of options.
  58. .SH OPTIONS
  59. fBfluidsynthfP accepts the following options:
  60. .TP
  61. .B -a, --audio-driver=[label]
  62. The audio driver to use. "-a help" to list valid options
  63. .TP
  64. .B -c, --audio-bufcount=[count]
  65. Number of audio buffers
  66. .TP
  67. .B -C, --chorus
  68. Turn the chorus on or off [0|1|yes|no, default = on]
  69. .TP
  70. .B -d, --dump
  71. Dump incoming and outgoing MIDI events to stdout
  72. .TP
  73. .B -E, --audio-file-endian
  74. Audio file endian for fast rendering or aufile driver ("-E help" for list)
  75. .TP
  76. .B -f, --load-config
  77. Load command configuration file (shell commands)
  78. .TP
  79. .B -F, --fast-render=[file]
  80. Render MIDI file to raw audio data and store in [file]
  81. .TP
  82. .B -g, --gain
  83. Set the master gain [0 < gain < 10, default = 0.2]
  84. .TP
  85. .B -G, --audio-groups
  86. Defines the number of LADSPA audio nodes
  87. .TP
  88. .B -h, --help
  89. Print out this help summary
  90. .TP
  91. .B -i, --no-shell
  92. Don't read commands from the shell [default = yes]
  93. .TP
  94. .B -j, --connect-jack-outputs
  95. Attempt to connect the jack outputs to the physical ports
  96. .TP
  97. .B -K, --midi-channels=[num]
  98. The number of midi channels [default = 16]
  99. .TP
  100. .B -l, --disable-lash
  101. Don't connect to LASH server
  102. .TP
  103. .B -L, --audio-channels=[num]
  104. The number of stereo audio channels [default = 1]
  105. .TP
  106. .B -m, --midi-driver=[label]
  107. The name of the midi driver to use. "-m help" to list valid options.
  108. .TP
  109. .B -n, --no-midi-in
  110. Don't create a midi driver to read MIDI input events [default = yes]
  111. .TP
  112. .B -o
  113. Define a setting, -o name=value ("-o help" to dump current values)
  114. .TP
  115. .B -O, --audio-file-format
  116. Audio file format for fast rendering or aufile driver ("-O help" for list)
  117. .TP
  118. .B -p, --portname=[label] 
  119. Set MIDI port name (alsa_seq, coremidi drivers) 
  120. .TP
  121. .B -r, --sample-rate
  122. Set the sample rate
  123. .TP
  124. .B -R, --reverb
  125. Turn the reverb on or off [0|1|yes|no, default = on]
  126. .TP
  127. .B -s, --server
  128. Start FluidSynth as a server process
  129. .TP
  130. .B -T, --audio-file-type
  131. Audio file type for fast rendering or aufile driver ("T help" for list)
  132. .TP
  133. .B -v, --verbose
  134. Print out verbose messages about midi events
  135. .TP
  136. .B -V, --version
  137. Show version of program
  138. .TP
  139. .B -z, --audio-bufsize=[size]
  140. Size of each audio buffer
  141. .SH SETTINGS
  142. All settings are non-realtime (have no effect if set after startup), except for those
  143. indicated as realtime.
  144. .TP
  145. .B SYNTHESIZER
  146. .TP
  147. .B synth.audio-channels    INT   [min=1, max=128, def=1]
  148. Number of audio channels (DOCME!).
  149. .TP
  150. .B synth.audio-groups      INT   [min=1, max=128, def=1]
  151. Number of audio groups (DOCME!).
  152. .TP
  153. .B synth.chorus.active      BOOL  [def=True]
  154. Chorus effect enable toggle.
  155. .TP
  156. .B synth.cpu-cores         INT   [min=1, max=256, def=1]
  157. Number of CPU cores to use for multi-core support.
  158. .TP
  159. .B synth.device-id         INT   [min=0, max=126, def=0] REALTIME
  160. Device ID to use for accepting incoming SYSEX messages.
  161. .TP
  162. .B synth.dump               BOOL  [def=False]
  163. No effect currently.
  164. .TP
  165. .B synth.effects-channels  INT   [min=2, max=2, def=2]
  166. No effect currently.
  167. .TP
  168. .B synth.gain               FLOAT [min=0.000, max=10.000, def=0.200] REALTIME
  169. Master synthesizer gain.
  170. .TP
  171. .B synth.ladspa.active      BOOL  [def=False]
  172. LADSPA subsystem enable toggle.
  173. .TP
  174. .B synth.midi-channels     INT   [min=16, max=256, def=16]
  175. Total MIDI channel count (must be multiple of 16).
  176. .TP
  177. .B synth.min-note-length  INT   [min=0, max=65535, def=10]
  178. Minimum duration for note events (work around for very short percussion notes).
  179. .TP
  180. .B synth.polyphony          INT   [min=16, max=4096, def=256] REALTIME
  181. Voice polyphony count (number of simultaneous voices allowed).
  182. .TP
  183. .B synth.reverb.active      BOOL  [def=True]
  184. Reverb effect enable toggle.
  185. .TP
  186. .B synth.sample-rate       FLOAT [min=22050.000, max=96000.000, def=44100.000]
  187. Synthesizer sample rate.
  188. .TP
  189. .B synth.verbose            BOOL  [def=False]
  190. Print received MIDI events to stdout.
  191. .TP
  192. .B GENERAL AUDIO
  193. .TP
  194. .B audio.driver             STR
  195. Audio driver to use. Default and valid options depend on available drivers.
  196. .TP
  197. .B audio.input-channels    INT   [min=0, max=2, def=0]
  198. Not used currently? (DOCME).
  199. .TP
  200. .B audio.output-channels   INT   [min=2, max=32, def=2]
  201. DOCME
  202. .TP
  203. .B audio.period-size       INT   [min=64, max=8192, def=64]
  204. Period size for audio buffers. Used by many audio drivers.
  205. .TP
  206. .B audio.periods            INT   [min=2, max=64, def=16]
  207. Count of audio buffers. Used by many audio drivers.
  208. .TP
  209. .B audio.realtime-prio     INT   [min=0, max=99, def=60]
  210. Realtime priority to assign to audio thread or 0 to disable high priority scheduling.
  211. Only used by some audio drivers (currently 'alsa' and 'oss').
  212. .TP
  213. .B audio.sample-format     STR   [def='16bits' vals:'16bits','float']
  214. Audio output format, to select format for those drivers which support 16 bit or floating point.
  215. .TP
  216. .B AUDIO DRIVER SPECIFIC
  217. .TP
  218. .B audio.alsa.device        STR   [def='default']
  219. ALSA audio driver output device.
  220. .TP
  221. .B audio.coreaudio.device   STR   [def='default']
  222. CoreAudio driver output device. Valid options depend on system.
  223. .TP
  224. .B audio.dart.device        STR   [def='default']
  225. OS/2 Dart audio driver device.
  226. .TP
  227. .B audio.dsound.device      STR   [def='default']
  228. Device to use for DirectSound driver. Valid options depend on system.
  229. .TP
  230. .B audio.file.endian        STR   [def='auto' vals:'auto','big','cpu','little']
  231. File renderer or file driver byte order selection. 'auto' selects the default for the selected
  232. file type. 'cpu' uses the CPU byte order. Limited to 'cpu' if no libsndfile support.
  233. .TP
  234. .B audio.file.format        STR   [def='s16' vals:'double','float','s16','s24','s32','s8','u8']
  235. File renderer or file driver audio format. Limited to 's16' if no libsndfile support.
  236. .TP
  237. .B audio.file.name          STR   [def='fluidsynth.wav']
  238. Output file name for file renderer or file driver.
  239. .TP
  240. .B audio.file.type          STR   [def='auto' vals:'aiff','au','auto','flac','oga','raw','wav']
  241. Output file type for file renderer or file driver. 'auto' attempts to determine type from file
  242. extension in audio.file.name. Limited to 'raw' if no libsndfile support. Actual options will vary
  243. depending on libsndfile library.
  244. .TP
  245. .B audio.jack.autoconnect   BOOL  [def=False]
  246. If enabled, then FluidSynth is automatically connected to Jack system audio output ports.
  247. .TP
  248. .B audio.jack.id            STR   [def='fluidsynth']
  249. Client ID to use when connecting to Jack.
  250. .TP
  251. .B audio.jack.multi         BOOL  [def=False]
  252. TRUE to enable multi-channel output.
  253. .TP
  254. .B audio.jack.server        STR   [def='']
  255. Jack server name. Blank for default.
  256. .TP
  257. .B audio.oss.device         STR   [def='/dev/dsp']
  258. OSS driver output device.
  259. .TP
  260. .B audio.portaudio.device   STR   [def='PortAudio Default']
  261. PortAudio driver output device. Available options depends on system.
  262. .TP
  263. .B audio.pulseaudio.device  STR   [def='default']
  264. PulseAudio driver output device.
  265. .TP
  266. .B audio.pulseaudio.server  STR   [def='default']
  267. PulseAudio driver server.
  268. .TP
  269. .B GENERAL MIDI
  270. .TP
  271. .B midi.driver              STR
  272. MIDI driver to use. Default and valid options depend on available drivers.
  273. .TP
  274. .B midi.realtime-prio      INT   [min=0, max=99, def=50]
  275. Realtime priority to assign to MIDI thread or 0 to disable high priority scheduling.
  276. Only used by some MIDI drivers (currently 'alsa_seq', 'alsa_raw' and 'oss').
  277. .TP
  278. .B MIDI DRIVER SPECIFIC
  279. .TP
  280. .B midi.alsa.device         STR   [def='default']
  281. ALSA raw MIDI driver device.
  282. .TP
  283. .B midi.alsa_seq.device     STR   [def='default']
  284. ALSA sequencer MIDI driver device.
  285. .TP
  286. .B midi.alsa_seq.id         STR   [def='pid']
  287. ALSA sequencer client ID. 'pid' will use process ID as part of the client name.
  288. .TP
  289. .B midi.coremidi.id         STR   [def='pid']
  290. Client ID to use for CoreMIDI driver. 'pid' will use process ID as port of the client name.
  291. .TP
  292. .B midi.jack.id             STR   [def='fluidsynth-midi']
  293. Jack MIDI driver client ID.
  294. .TP
  295. .B midi.jack.server         STR   [def='']
  296. Jack MIDI driver server. Blank to use default.
  297. .TP
  298. .B midi.oss.device          STR   [def='/dev/midi']
  299. OSS MIDI driver device.
  300. .TP
  301. .B midi.portname            STR   [def='']
  302. Port name used for CoreAudio and ALSA sequencer drivers.
  303. .TP
  304. .B midi.winmidi.device      STR   [def='default']
  305. Device for Windows MIDI driver.
  306. .TP
  307. .B MISCELLANEOUS
  308. .TP
  309. .B player.reset-synth      BOOL  [def=True]
  310. TRUE to reset synthesizer MIDI state between MIDI songs.
  311. .TP
  312. .B player.timing-source    STR   [def='sample' vals:'sample','system']
  313. Selects timing source for MIDI sequencer. 'system' uses the system timer. 'sample'
  314. uses the sample clock (amount of audio output, events synchronized with audio).
  315. .TP
  316. .B shell.port               INT   [min=1, max=65535, def=9800]
  317. Shell command server TCP/IP port number to use.
  318. .TP
  319. .B shell.prompt             STR   [def='']
  320. Shell prompt string.
  321. .SH SHELL COMMANDS
  322. .TP
  323. .B GENERAL
  324. .TP
  325. .B help
  326. Prints out list of help topics (type "help <topic>")
  327. .TP
  328. .B quit
  329. Quit the synthesizer
  330. .TP
  331. .B SOUNDFONTS
  332. .TP
  333. .B load filename
  334. Load a SoundFont
  335. .TP
  336. .B unload number
  337. Unload a SoundFont. The number is the index of the SoundFont on the stack.
  338. .TP
  339. .B fonts
  340. Lists the current SoundFonts on the stack
  341. .TP
  342. .B inst number
  343. Print out the available instruments for the SoundFont.
  344. .TP
  345. .B MIDI MESSAGES
  346. .TP
  347. .B noteon channel key velocity 
  348. Send a note-on event
  349. .TP
  350. .B noteoff channel key
  351. Send a note-off event
  352. .TP
  353. .B cc channel ctrl value
  354. Send a control change event
  355. .TP
  356. .B prog chan num
  357. Send program-change message
  358. .TP
  359. .B select chan sfont bank prog
  360. Combination of bank-select and program-change
  361. .TP
  362. .B channels
  363. Print out the presets of all channels.
  364. .TP
  365. .B AUDIO SYNTHESIS
  366. .TP
  367. .B gain value
  368. Set the master gain (0 < gain < 5)
  369. .TP
  370. .B interp num
  371. Choose interpolation method for all channels
  372. .TP
  373. .B interpc chan num
  374. Choose interpolation method for one channel
  375. .TP
  376. .B REVERB
  377. .TP
  378. .B reverb [0|1|on|off]
  379. Turn the reverb on or off
  380. .TP
  381. .B rev_preset num
  382. Load preset num into the reverb unit
  383. .TP
  384. .B rev_setroomsize num
  385. Change reverb room size
  386. .TP
  387. .B rev_setdamp num
  388. Change reverb damping
  389. .TP
  390. .B rev_setwidth num
  391. Change reverb width
  392. .TP
  393. .B rev_setlevel num
  394. Change reverb level
  395. .TP
  396. .B CHORUS
  397. .TP
  398. .B chorus [0|1|on|off]
  399. Turn the chorus on or off
  400. .TP
  401. .B cho_set_nr n
  402. Use n delay lines (default 3)
  403. .TP
  404. .B cho_set_level num
  405. Set output level of each chorus line to num
  406. .TP
  407. .B cho_set_speed num
  408. Set mod speed of chorus to num (Hz)
  409. .TP
  410. .B cho_set_depth num
  411. Set chorus modulation depth to num (ms)
  412. .TP
  413. .B MIDI ROUTER
  414. .TP
  415. .B router_default
  416. Reloads the default MIDI routing rules (input channels are mapped 1:1
  417. to the synth)
  418. .TP
  419. .B router_clear
  420. Deletes all MIDI routing rules.
  421. .TP
  422. .B router_begin [note|cc|prog|pbend|cpress|kpress]
  423. Starts a new routing rule for events of the given type
  424. .TP
  425. .B router_chan min max mul add
  426. Limits the rule for events on min <= chan <= max.
  427. If the channel falls into the window, it is multiplied by 'mul', then 'add' is added.
  428. .TP
  429. .B router_par1 min max mul add
  430. Limits parameter 1 (for example note number in a note events). Similar
  431. to router_chan.
  432. .TP
  433. .B router_par2 min max mul add
  434. Limits parameter 2 (for example velocity in a note event). Similar to router_chan 
  435. .TP
  436. .B router_end
  437. Finishes the current rule and adds it to the router.
  438. .TP
  439. .B Router examples
  440. .TP
  441. router_clear
  442. .TP
  443. router_begin note
  444. .TP
  445. router_chan 0 7 0 15
  446. .TP
  447. router_end
  448. .TP
  449. Will accept only note events from the lower 8 MIDI
  450. channels. Regardless of the channel, the synthesizer plays the note on
  451. ch 15 (synthchannel=midichannel*0+15)
  452. .TP
  453. router_begin cc
  454. .TP
  455. router_chan 0 7 0 15
  456. .TP
  457. router_par1 1 1 0 64
  458. .TP
  459. router_add
  460. Configures the modulation wheel to act as sustain pedal (transforms CC
  461. 1 to CC 64 on the lower 8 MIDI channels, routes to ch 15) 
  462. .SH AUTHORS
  463. Peter Hanappe <hanappe@fluid-synth.org> 
  464. .br 
  465. Markus Nentwig <nentwig@users.sourceforge.net>
  466. .br 
  467. Antoine Schmitt <as@gratin.org>
  468. .br 
  469. Josh Green <jgreen@users.sourceforge.net>
  470. .br 
  471. Stephane Letz <letz@grame.fr>
  472. Please check the AUTHORS and THANKS files for all credits
  473. .SH DISCLAIMER
  474. SoundFont(R) is a registered trademark of E-mu Systems, Inc.