我有一个 Korg Nanokey,我想让它在 ubuntu 中发出声音。我读到这意味着我应该使用 Rosegarden,而 Rosegarden 使用 JACK,但没有安装它。(虽然检查了 Ubuntu 软件中心,显然默认安装了 JACK 的一些组件?)
我知道设置 JACK 需要做很多工作,而且不会与默认声音服务器发生冲突。有人能给我一个分步方法,告诉我如何插入我的 midi 机器,并在按下按键时听到音乐,尽可能简单(不会弄乱 pulseaudio,也就是说,我仍然可以访问 Skype 和普通桌面内容)?我可以很好地安装 JACK,但如果它有可能弄乱常规桌面,我想对它进行一点沙盒处理。
我浏览了一些资源,但我不确定哪些是过时的,但以下内容看起来很有帮助......
答案1
如果你只是想要让键盘播放声音,这很简单,你不需要 JACK 或 Rosegarden。如果你想录制 MIDI 信号、写笔记并在不同的应用程序之间路由音频,这些工具非常有用,但你不需要这些来用键盘播放声音。
我的步骤如下:
将您的 MIDI 设备插入您的计算机。如果那是 USB MIDI 键盘,只需插入 USB,如果它只有 MIDI 插头,您可能需要使用 MIDI 转 USB 设备。
下载/安装合成器。Ubuntu 有各种各样的声音合成应用程序。您可能喜欢 ZynAddSubFX(非常强大的应用程序)、FluidSynth 或 QSynth(支持声音字体)、AMSynth、AMS。请务必浏览 Ubuntu 软件中心,寻找您感兴趣的合成器。
启动合成器。当然,它必须运转才能发出声音。
告诉系统将数据从键盘传递到合成器。您需要在键盘和合成器之间创建一个链接,以便 MIDI 信号传递给它。您可以使用
aconnect
工具,也可以使用其中一个图形后端(使用起来更简单),例如aconnectgui
或kaconnect
。虽然 aconnect 是默认安装的,但您可以从软件中心获取其他两个。连接键盘和合成器后,请按照最后一步操作...按下键盘上的某个键。您会听到一些声音!如果没有,请确保您的系统声音未静音,并且我们的扬声器已连接。此外,有些合成器需要您选择乐器才能发出声音。
微调您的合成器设置。您很可能不会喜欢合成器的初始声音。对于 ZynAddSubFX,这将是一个简单的正弦波,很无聊!但是,您可以轻松浏览大量音色,并且可以完全自定义它们。所有合成器都为您提供大量自定义功能,值得花一些时间选择您最喜欢的。
繼續玩。祝好运并玩得开心点!
我也曾经写过一篇关于在 Ubuntu 上使用外接键盘进行音乐制作的一般工作流程的文章,它对你的情况应该很有用。这是链接。
答案2
Linux 上的 MIDI 是高度模块化的,因此一开始会让人不知所措。低复杂度的解决方案在您进行优化之前,您可以先尝试一下,但不幸的是,Ubuntu 没有默认的工作配置。这是我发现的最简单的方法...
sudo apt install qsynth vmpk ## install components
qsynth & vmpk ## launch
Qsynth -> Setup -> Sountfonts -> Open
:FluidR3_GM.sf2
Virtual MIDI Piano Keyboard -> Edit -> Connections
->Enable MIDI Thru on MIDI Output
:(已勾选)Input MIDI Connection
:(您的控制器)Output MIDI Connection
:FLUID Synth
此时,你应该能够从外部 MIDI 控制器或虚拟钢琴 GUI 弹奏音符(即使没有外部控制器,GUI 也能正常工作)。
您可以从键盘 GUI 中选择不同的乐器(见Program
)。您可以从 Qsynth GUI 中操控音量(见Gain
)以及混响/合唱效果。还有一个Panic
按钮,以防混响失控。
这是在 Ubuntu Studio 18.04 的全新安装上专门测试的,但类似的步骤也适用于 Ubuntu MATE 16.04,显着的自动配置差异是在 Ubuntu Studio 中Qsynth -> Setup -> Audio -> Audio Driver
默认,但在 Ubuntu MATE 上默认。jack
alsa
ALSA 出现故障静态问题 [已解决]
在 16.04 和 18.04 上,当 Qsynth 首次开始使用 alsa 时,我都遇到了奇怪的静电干扰。这种静电干扰似乎影响了所有音频源,但它会在一两分钟内自行解决(至少是部分解决)。
后来,我在一个性能较弱的 CPU 上尝试了此设置,并注意到类似的静电似乎并没有随着时间的推移而消失。[顺便说一句,我注意到这个静电与ALSA plug-in [qsynth]
应用程序选项卡中的线路故障有关Sound Preferences
]。
这让我尝试了一些 Qsynth 设置,我发现了一些似乎可以解决静态/故障问题的东西(也许会以轻微的延迟增加为代价):
Qsynth
->Setup
->Audio
->Buffer Size
:128
Qsynth
->Setup
->Audio
->Buffer Count
:8
显然,CPU 无法始终满足所需的突发速率,因此需要一些额外的缓冲来防止欠载。 推测其他设置也可能会影响这一点。
vmpk
当设置更改时,会断开连接Qsynth
。尝试更改设置的最快方法是关闭并重新启动vmpk
以强制重新连接。
替代方案:“Polyphone”应用程序(不在 Ubuntu 存储库中)
我关注的是多音字作为 (几乎) 一体化解决方案 (本质上是 qsynth+vmpk 的超集)。虽然它目前不在 Ubuntu 存储库中 (截至 19.04 Disco),但从 18.04 上的源代码构建它很容易 (此外,还提供了预构建的 Ubuntu .deb)。
该软件包不包含默认的声音字体(它是一个声音字体创建器/编辑器),但您可以使用sudo apt install fluid-soundfont-gm
(在/usr/share/sounds/sf2/
)获取一个 - 或者尝试从应用程序的“在线存储库”下载(但这可能需要一个帐户)。
转到Settings->General->Input/Output
并确保音频/MIDI 设置合理,然后打开一个声音字体并选择下面的乐器Presets
,它应该准备好从您的 MIDI 控制器或内置虚拟键盘播放音乐。
答案3
我不知道 Rosegarden,但你可以从包管理器运行 qjackctl。Amsynth 是一种制作 midi->jack 声音的简单方法。
我不知道如何同时运行 jack 和 pulseaudio - 即通过 jack 运行 chrome(实际上现在正在研究它)。到目前为止,我在 12.04 中的经验是很容易发出声音。
- 从包管理器安装 qjackctl 和 amsynth
- 关闭所有可能占用音频硬件的网络浏览器或其他 pulseaudio 设备
- 启动 qjackctl(您可能需要在设置中摆弄参数,但这次我没有)
- 启动 Amsynth
- 在 qjackctl 的 ALSA 选项卡中(为什么它不是 midi 选项卡?!?!)将您的 usb midi 设备(希望自动检测到)连接到 Amsynth...
- 确保 amsynth 已连接到音频输出...
- 玩!
答案4
扩展已接受的答案第 4 点“告诉系统将数据从你的键盘传递到合成器”我仅引用Arch 维基它给了我很大帮助,给出了简单易懂的指导:
使用 查找你的 Midi 键盘的 ID aconnect --input
,例如:
client 28: 'MPK mini' [type=kernel,card=3]
使用 查找合成器的 ID 或其他任何内容aconnect --output
,例如:
client 128: 'amsynth' [type=user,pid=51421]
使用以下方式将输入路由到输出aconnect 28 128