我使用 安装了虚拟 MIDI 键盘 (vmpk) apt-get install
。我还安装了Jack control
和Qsynth
。当我打开 vmpk 时,我听不到它发出的声音。我该如何设置才能让声音出来?
答案1
另一种解决方案:
在 Qsynth 中:
项目清单
MIDI 选项卡:启用 MIDI 输入框已选中 ALSA Sequencer Client ID:Qsynth1 音频选项卡:音频驱动程序:alsa 声音字体选项卡:SFID 1;名称 /usr/share/sounds/sf2/FluidR3_GM.sf2;偏移量 0
在VMPK中:
-->Edit -->Connections: "Enable Thru on MIDI Output" checked
Input MIDI Connection <blank>
Output MIDI Connection FLUID Synth (Qsynth1):0
答案2
vmpk 是虚拟 MIDI 主键盘,不产生任何声音。要产生声音,您必须
- 连接 MIDI输出从峰值到 MIDI输入某些音调发生器(例如合成器)如果你
- 连接音频输出从音调发生器到音频输入对于你的显示器,
你应该能听到一些声音。
在您的特定情况下,如果您想使用 vmpk、qsynth 和 jack 控制,我建议按照以下步骤根据虚拟按键生成音频:
- 安装“patchage”和“fluid-soundfont-gm”包
- 打开千斤顶控制
- 检查 JACK 配置以确保它已连接到您首选的音频接口
- 启动 JACK(大播放按钮)
- 打开补丁
- 打开vmpk
- 打开 Qsynth
- 在 patchage 中,将 vmpk MIDI 输出连接到 Qsynth MIDI 输入
- 在 patchage 中,将 Qsynth 音频输出连接到您的音频接口(左右声道)
- 在 Qsynth 中,从
/usr/share/sounds/sf2/FluidR3_GM.sf2
- 虚拟按下 vmpk 中的任意键即可听到声音
尽管使用的具体工具略有不同,但您可以在Ubuntu 维基很有帮助。主要的区别是您将使用虚拟键盘而不是物理键盘,但 patchage 应该无法分辨出区别。
答案3
vmpk 在 Ubuntu 20.04 上默认产生声音
我不完全了解细节,但在 Ubuntu 20.04 上,我可以直接从 vmpk 获得声音(不使用 Qsynth 和 JACK)。
可能使其默认工作的相关设置是:
- 编辑
- MIDI 连接
- MIDI 输出驱动程序:Sonivox EAS
与 ALSA 合作
如果您想将 ALSA 输出传输到您选择的另一个合成器,您可以在 MIDI 设置中设置:
- MIDI 输出驱动程序:ALSA
然后我可以得到如下声音:
sudo apt install fluidsynth
fluidsynth -a alsa /usr/share/sounds/sf2/FluidR3_GM.sf2
然后我列出所有输入和输出 alsa 端口:
aconnect -l
这使:
client 0: 'System' [type=kernel]
0 'Timer '
1 'Announce '
client 14: 'Midi Through' [type=kernel]
0 'Midi Through Port-0'
Connected From: 129:0
client 128: 'VMPK Input' [type=user,pid=584368]
0 'in '
client 129: 'VMPK Output' [type=user,pid=584368]
0 'out '
Connecting To: 14:0
client 130: 'FLUID Synth (586186)' [type=user,pid=586186]
0 'Synth input port (586186:0)'
因此我们将 vmpk 输出连接到 FLUID Synth 输入:
aconnect 129:0 130:0
当我们触摸 vmpk 键时,fluidsynth 开始发出一些声音!
/usr/share/sounds/sf2/FluidR3_GM.sf2
VMPK GUI 上通过 Bank/Program 对默认显示的 sf2 仪器与如下所示的相同:
sf2text /usr/share/sounds/sf2/FluidR3_GM.sf2 | less
例如:
(0 "Gun Shot" (preset 127) (bank 0)
QSynth 设置
也可以使用 ALSA 进行操作:
sudo apt install qsynth
qsynth -a alsa
现在在 QSynth GUI 中执行:
- 设置
- 音效字体
- 打开
并选择/usr/share/sounds/sf2/FluidR3_GM.sf2
。
现在的aconnect
工作方式与以前完全一样,因为 qsynth 必须在后端使用它。连接后,我现在可以听到声音,并且使用 QSynth 混响/合唱效果确实会按预期影响声音输出。
保存为 MIDI 文件