codecamp
系统命令行参数

上文说明了 fluidsynth 命令行必须提供至少一个 SF2;若要播放 MIDI 文件,还要提供它们的文件名。 本节课将会说明系统命令行参数的用法。

短参数名

注意:命令行参数是区分大小写的,大小写字母代表不同的含义。

通用

参数名 含义
大写字母:-V 显示版本信息
-h 查看帮助
-i 禁用内置 Shell
-f[文件名] 指定 FluidSynth 内置 Shell 脚本文件的名字。例如-fC:\fluidsynth\script.txt
小写字母:-o[选项=值] 指定一个 Fluid Setting 的值。使用-ohelp查看它们的名称、数据类型、可取值。例如-osynth.gain=0.25
-q 安静模式。不输出“欢迎使用”及其他信息,仅支持 Windows 系统。同时禁用了等级低于 MIDI PANIC 的所有日志消息。
小写字母:-s 将 FluidSynth 作为服务器进程打开。
-v 显示实时的 MIDI events,比指定 -d 选项后显示的信息更详细

MIDI

参数名 含义
-d 在屏幕上显示实时的 MIDI 信号
-n 禁用 MIDI 输入。
大写字母:-K[整数] 指定 MIDI 通道的数量,默认是 16 个
-m[设备名] 指定 MIDI 输入的设备名,使用-mhelp查看可取值。
-p[端口名] 指定 MIDI 端口名。

音频设备

参数名 含义
-Q 枚举所有支持的音频设备名称及它们的采样率、位深度。
-a[设备名] 指定 FluidSynth 要使用的音频设备名称。当名称为“file”时,所有的音频信号都将会输出到文件而不是物理设备。使用-ahelp查看可取的值。
-c[整数] 指定音频缓冲区个数。通常用不到此选项,只在音频播放卡顿时才需要尝试调整。
-G[整数] 指定 LADSPA 音频节点数目。
-j 强制将 JACK 输出到物理端口
-L[整数] 指定立体音频通道数量,实际音频通道数目为您所提供值的 2 倍。默认为 1,表示双声道。
-z[整数] 指定音频缓冲区的大小(字节)。通常用不到此选项,只在音频播放卡顿时才需要尝试调整。

合成器

参数名 含义
-r[整数] 设置音频的采样率
大写字母:-C[1/0/yes/no] 指定是否使用和声(Chorus) 效果,默认打开。
-g[浮点数] 调节播放音量(单位是 dB),默认是 0.2dB,取值范围为 (0, 10] 。
-R[1/0/yes/no] 指定是否启用混响效果,默认打开。

格式转换

参数名 含义
-F[文件名] 指定要输出的音频文件名。
-E[大小端] 指定音频文件采样的字节序。可取值为auto cpu big little。其中,“cpu”表示使用当前 CPU 的字节序,“auto”表示使用推荐的字节序。
大写字母:-O[文本] 指定音频采样的位深度,请用-Ohelp查看可取值。
-T[文本] 指定音频压缩格式,请用-Thelp查看可取值。

长参数名

使用长参数名并不是很好的习惯。以下长参数名列表仅供浏览,不建议使用。

短参 长参
V version
h help
a audio-driver=[设备名]
c audio-bufcount=[整数]
C chorus=[yes/no, 1/0]
d dump
E audio-file-endian=[大小端]
f load-config=[文件名]
F fast-render=[文件名]
g gain=[浮点数]
G audio-groups=[整数]
i no-shell
j connect-jack-outputs
K midi-channels=[整数]
L audio-channels=[整数]
m midi-driver=[名称]
n no-midi-in
o (无)
O audio-file-format=[位深度]
p portname=[名称]
Q query-audio-devices
q quiet
r sample-rate=[整数]
R reverb=[yes/no, 1/0]
s server
T audio-file-type=[格式]
v verbose
z audio-bufsize=[整数]
起步
MIDI转音频
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

C语言API

Fluid Settings

无标题目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }