要逐步运行Midi键盘输入设备?12.04


21

我有一个Korg Nanokey,我想让它在Ubuntu中产生声音。我读过这意味着我应该使用Rosegarden,而Rosegarden使用JACK,但不安装它。(尽管签出了Ubuntu软件中心,显然默认情况下还是安装了JACK的某些组件?)

我了解在不与默认声音服务器抗衡的情况下,设置JACK可能需要进行大量工作。有人可以给我逐步的方法来说明我插入MIDI设备并在我尽可能简单地按键时听音乐的方法(而不会弄乱pulseaudio,也就是说,我仍然可以访问Skype和普通用户)桌面的东西)?我可以很好地安装JACK,但如果它有可能破坏常规的台式机,我想对其进行一些沙盒化。

我已经浏览了一些资源,但不确定什么过时了,但是以下内容很有帮助...

Answers:


22

如果您只想让键盘弹奏声音,这非常简单,则不需要JACK或Rosegarden。如果您想录制MIDI信号,编写音符并在单独的应用程序之间路由音频,这些工具非常有用,但是您不需要用键盘来播放声音。

我的分步操作将是:

  1. 将MIDI设备插入计算机。如果是USB MIDI键盘,则只需插入USB,如果只有MIDI插头,则可能要使用MIDI转USB设备。

  2. 下载/安装合成器。Ubuntu有各种各样的声音合成应用程序。您可能喜欢ZynAddSubFX(功能强大的软件),FluidSynth或QSynth(支持声音字体),AMSynth,AMS。确保浏览Ubuntu Software Center的合成器,这将吸引您的兴趣。

  3. 启动合成器。当然,它必须运行才能产生声音。

  4. 告诉系统将数据从键盘传递到合成器。您需要在键盘和合成器之间创建链接,以便将MIDI信号传递给它。您可以使用aconnect工具,也可以使用其中一种图形化后端(更易于使用),例如aconnectguikaconnect。默认情况下安装aconnect时,您可以从软件中心获得另外两个。连接键盘和合成器后,请执行最后一步...

  5. 按键盘上的一个键。您会听到一些声音!如果没有,请确保您的系统声音没有被静音,并且我们的扬声器已连接。另外,某些合成器要求您在产生任何声音之前先选择一种乐器。

  6. 微调您的合成器设置。您很可能不喜欢合成器的初始声音。如果是ZynAddSubFX,这将是一个正弦波,很无聊!但是,您可以轻松浏览大量音色,并且可以完全自定义它们。所有合成器都为您提供了很多定制功能,值得花一些时间选择最喜欢的功能。

  7. 继续玩。祝好运并玩得开心点!

我也曾经写过一篇文章,介绍在Ubuntu上使用外接键盘进行音乐制作的一般工作流程,这对您来说应该很有用。这是链接。


如何设置aconnectgui的链接?我不小心将一堆东西连接在一起,我想重置链接。
answerSeeker 2015年

@Tata​​kaiWasumi选择剪刀工具,然后在连接上单击鼠标左键。它将“切断”(即删除)连接。
holocronweaver

如果选择qjackctrl,则可以使用“连接”选项卡将合成器路由到输出到扬声器(如果默认情况下未选择),并将USB MIDI输入路由到合成器输入。当ZynAddSubFX无法连接到扬声器输出并且aconnectgui无法建立此连接时,我必须这样做。
holocronweaver

我还必须添加qjackctl管道以qsynth产生实际的声音。qjackctl也可以执行步骤4,因此aconnect在这种情况下不需要。在这种情况下,额外的步骤是配置输入/输出设备在qjackctl通过去setup->settings->advanced
chefarov

5

我不了解Rosegarden,但是您可以从程序包管理器中运行qjackctl。Amsynth是制作声音midi-> jack的简单方法。

我不知道如何同时运行jack和pulseaudio-即通过jack运行chrome(实际上现在正在查看)。到目前为止,我在12.04上的经验很容易发出声音。

  • 从软件包管理器安装qjackctl和amsynth
  • 关闭所有可能占用声音硬件的Web浏览器或其他PulseAudio物品
  • 启动qjackctl(您可能不得不在设置中摆弄参数,但是我没有-这次)
  • 启动Amsynth
  • 在qjackctl的ALSA选项卡(为什么不是midi选项卡?!?!)中,将USB midi设备(希望自动检测到)连接到Amsynth ...
  • 确保amsynth已连接到音频输出...
  • 玩!

1
它是qjackctl而不是qjackctrl-
答案

4

Linux上的MIDI是高度模块化的,因此一开始不堪重负。在您烦恼优化之前,有一个低复杂度的解决方案很不错,但是不幸的是,Ubuntu没有默认的工作配置。这是我找到的最简单的方法...

sudo apt install qsynth vmpk ## install components
qsynth & vmpk ## launch
  • Qsynth -> Setup -> Sountfonts -> OpenFluidR3_GM.sf2
  • Virtual MIDI Piano Keyboard -> Edit -> Connections ->
    • Enable MIDI Thru on MIDI Output :(已选中)
    • Input MIDI Connection :(您的控制器)
    • Output MIDI ConnectionFLUID 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默认配置,jackalsaUbuntu MATE上的默认配置不同。


轻巧的静电与ALSA [已解决]

在Qsynth最初开始使用alsa时,在16.04和18.04上,我都遇到了奇怪的静态现象。这种静电似乎会影响所有音频源,但是它会在一两分钟内(至少部分地)发挥作用。

后来,我在功能较弱的CPU上尝试了此设置,并注意到类似的静态功能似乎并没有随着时间的推移而解决。[ ALSA plug-in [qsynth]顺便说一句,我注意到此静态现象与Sound Preferences] 的“应用程序”选项卡中的线毛刺进出相关。

这导致我试用了一些Qsynth设置,并且发现了一些似乎可以解决静态/毛刺问题的东西(也许可以通过稍微增加延迟来进行权衡):

  • Qsynth-> Setup-> Audio-> Buffer Size128
  • Qsynth-> Setup-> Audio-> Buffer Count8

显然,CPU不能总是跟上所需的突发速率,因此需要一些额外的缓冲来防止欠载。 可能还有其他设置可能也会影响此设置。


vmpkQsynth更改设置后将失去连接。尝试更改设置的最快方法是关闭并重新启动vmpk以强制重新连接。


替代方案:“ Polyphone”应用程序(不在Ubuntu存储库中)

我将Polyphone作为一种(几乎)多合一解决方案(实际上是qsynth + vmpk的超集)来关注。尽管到目前为止,Ubuntu存储库中还没有它(自19.04 Disco起),但是很容易从18.04的源代码进行构建(此外,还提供了预构建的Ubuntu .deb)。

该软件包不包含默认的soundfont(它是soundfont的创建者/编辑者),但是您可以使用sudo apt install fluid-soundfont-gm(at /usr/share/sounds/sf2/)获得一个-或尝试从应用程序的“在线存储库”下载(但这可能需要一个帐户)。

转到Settings->General->Input/Output并确保“音频/ MIDI”设置合理,然后打开一个声音字体并在下面选择一种乐器Presets,它应该可以从MIDI控制器或内置虚拟键盘播放音乐了。


完成基本设置后,您可能会对这里介绍的许多选项感兴趣:Ted的Linux MIDI指南
nobar

自我注意:某些控制器需要上电才能使用。
nobar

现在,如果我能弄清楚如何转置控制器……
nobar

1
@Bani,我还无法在Ubuntu上通过蓝牙使用MIDI。今晚我再次尝试使用Xkey Air,但无法配对(Ubuntu 18.04)。 这可能是前进的道路,但目前我不愿意尝试。我今晚遇到的另一个选择是价值50美元的加密狗,称为“ WIDI Bud”,我认为它将自动将蓝牙转换为MIDI。如果知道了,再发回-我也想做到这一点!
nobar

1
太棒了,这也可行!现在,我可以两种方式使用它:FP-30作为输入,或者我可以在虚拟键盘上弹奏以使声音在FP-30上发出
Bani

1

了解有关您的声卡的信息:

aplay -l

**** List of PLAYBACK Hardware Devices ****
card 0: HDMI [HDA Intel HDMI], device 3: HDMI 0 [HDMI 0]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 0: ALC3235 Analog [ALC3235 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

我们将使用card1,device0,因此hw:1,0

我的管道方案最终有效,使用jack-control (qjackctl)qsynth是:

  1. 安装杰克工具,杰克服务器,qsynth
  2. 打开qsynth并转到设置。在MIDI标签中,选择Midi Driver: alsa-seq。在Audio选项卡中,选择Audio Driver: jack
  3. 用以下命令启动插孔服务器

    杰克-R -d艾尔莎-d重量:1,0

  4. 打开qjacktctl并:

4.1转到Connect- > ALSA。在左列中找到您的键盘并将其连接到qsynth位于右列中的键盘。另外,请确保第一列(AUDIOqsynth中的扬声器已连接到扬声器(右列)。

4.2返回主qjackctl窗口转至setup->settings->advanced并在右列中,选择Output Device(扬声器)和Input Device(Midi键盘)

通过这一步,我能够听到键盘的声音。设置的整体屏幕截图如下

在此处输入图片说明

PS:在这种情况下,没有其他应用程序可以同时使用扬声器。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.