跟上 JOST 的步伐
三个月前,我向读者介绍了一个用于托管为 Linux 本地编译的 VST 插件的新系统。该系统持续发展,并已成为 Studio Dave Linux 音频库中的支柱。本文更新了该系统最近的版本,并照例附带了包含文字、截图和声音的多媒体盛宴。
旧版 JOST,新版 JOST

Lucio Asnaghi 的 JOST 持续朝着一流的声音创作套件迈进。最近,我在 JAD Linux 发行版 (openSUSE 10.2) 下的 MIDI 制作系统中使用 0.2.3 稳定版本,我对它的性能非常满意。
Cannibal's Trance (OGG 7MB) 是一首简单的迷幻舞曲,是我为了研究纹理而创作的原创作品,其低音部分让人想起 Land Of A Thousand Dances 中由名为 Cannibal & The Headhunters 的乐队录制的版本中的 riff。我的作品确实很简单,但其设置并不简单:我需要四个 JOST 实例、QSynth 中的三个通道、JACK-Rack 中的一些额外处理以及通过 midirgui 进行的 MIDI 通道路由。图 1 展示了这个快乐的乐队在工作。
多个 JOST 对于我想要实现的效果是必要的。其中一对运行由 Lucio 出色的 Eqinox 段落均衡器修改的 mdaJX10 合成器,另一对仅运行未经处理的 mdaDX10 乐器。从每对中,我需要一些轨道的完全干输出,以及其余轨道的调制输出。复杂的音频和 MIDI 路由由 Rui Nuno Capela 的 QJackCtl 和 Holborn 的 midirgui 处理。
由于这些软件都不兼容 LASH 会话处理程序,因此我每次想要处理作品时都面临着必须设置所有内容的烦人问题。幸运的是,我知道如何编写一个简单的 shell 脚本,所以我编写了这个小小的便利工具
xdosemu -input \r big.bat & qjackctl & midirgui mdaplusqsynth.midir & sleep 10 ;;; necessary on my faster machine qsynth & jack-rack wetplate.rack & /home/dlphilp/jost2 & ;;; note that each instance appears /home/dlphilp/jost2 & ;;; with its own audio I/O ports /home/dlphilp/jost2 & ;;; in QJackCtl's audio connections panel /home/dlphilp/jost2 &
我将脚本保存为 sequencer.scr,赋予它可执行状态 (chmod a+x sequencer.scr),并将其添加到我的 Fluxbox 菜单中以便于访问。瞧,只需单击一下即可设置九个应用程序实例。
DOSemu 调用 (xdosemu) 调用一个类似的脚本来启动我的音序器。big.bat 脚本位于 DOSemu 的逻辑 c: 驱动器上,并包含以下命令
d: ;;; change to drive with Voyetra software cd voyetra ;;; change directory vapimpu ;;; start Voyetra's DOS MIDI driver sleep 3 ;;; wait while the driver initializes spg /nh /nm /dr:128 /RES:1 /casio ;;; start sequencer with options vapimpu /rem ;;; remove driver after closing sequencer c: ;;; return to c: drive bye ;;; quit DOSemu
顺便说一句,此脚本是为 DOS shell (即不是 bash) 编写的批处理文件,因此语法略有不同。
这些脚本是我非常宝贵的助手,并且在没有 LASH 兼容性的情况下,它们是非常棒的省时工具。JACK-Rack、midirgui 和音序器可以通过命令行选项调用,并且可以配置 QJackCtl 以实现 patchbay 持久性,从而进一步自动化系统设置及其连接。
JOST 0.2.3 很酷。它允许插件的顺序链接,包括会话保存/调用,并且与 JACK 配合良好。但是,正当我开始习惯它的设计时,Lucio 决定重新设计 JOST 的一些基本功能。这种新设计产生了一个并发的 JOST 测试版 (0.3.0),为这款已经很棒的软件添加了一些很棒的新功能。

图 2 展示了正在工作的 JOST 0.3.0。您可以清楚地看到其外部设计的差异:画布取代了 0.2.3 的框架,插件表示为可连接的图标(红色连接器用于 MIDI,蓝色用于音频),并且添加了固定的 I/O 端口(最多四个独立的音频端口)。会话可以保存和重新加载,但 JOST 0.2.x 创建的会话文件目前不被 0.3.0 版本接受。
JOST 仍处于相对早期的开发阶段,并且仍然显示出一些粗糙之处。对于我的工作来说,最令人恼火的方面是它缺少可单独寻址的 MIDI 端口。音频端口在 QJackCtl 中显示为四个离散端口,但仅显示一个 MIDI 端口。多个 MIDI 端口将为系统带来更大的 power 和灵活性。Lucio 意识到了这个问题,并且已经在努力寻找解决方案。
在我看来,JOST 已经从最初设计为本地编译的 Linux VST 插件宿主发展而来,并且正在成为一个功能强大的模块化环境,用于复杂的音频合成和处理。现在有相当数量的插件可以与 JOST 一起工作,Lucio 承诺会有更多插件出现。他已经将一批 LADSPA 插件移植为 Linux VST,这在某种程度上看起来很奇怪,但它们确实丰富了调色板。他还设计了一些非常不错的 JOST 专用插件,包括 Eqinox 均衡器和一个即将发布的名为 Capsaicin 的合成器。我使用过该合成器的早期版本,它包含一个设计精美的 GUI,我期待着它的公开发布。
早期版本的 JOST 包括一个无法正常工作的音序器菜单。该菜单已在最新版本中删除,但音频/MIDI 音序功能将使 JOST 更接近成为一个完整的音乐制作环境(尤其是当音序器可以同步到 JACK 传输控件时)。
与任何处于早期开发阶段的软件一样,都存在缺点。一些插件移植不完整,许多插件没有预设,大多数插件没有“预设保存”功能(这是一个严重且严重的限制)。我必须在此补充一点,Lucio 本人只移植了一些可用的插件,因此他只能修复自己的工作。移植了其他插件的开发人员需要在他们有时间和精力时添加请求的功能(尽管没有什么可以阻止其他有兴趣提供帮助的人)。
如前所述,JOST 在 JACK 中的性能总体上非常出色。但是,当操作具有完整 GUI 的插件时,例如图 2 中看到的 ZR3 风琴,我确实会遇到 xruns。如果我使用朴素的 GUI(“参数”选项卡),则播放期间的参数控制很好,但更丰富的 VST 界面在低功耗机器上可能会出现问题。
当然,更多的插件也会更好。尽管如此,仍然存在相当数量的可用的(有注意事项的)插件集合,这主要归功于以下开发人员
- cern.linux.vst 一个小巧但独特且有用的集合
- JUCEtice JOST、Eqinox、SoundCrab、DestroyFX VST 端口等的所在地
- Linux-VST Jorgen Aase 的 mda 插件、Freeverb、他自己的合成器等的链接
如果您知道还有其他开发人员提供与 JOST 兼容的本地 Linux VST,请告诉我,我将很乐意扩展此列表。
我相信,JOST 为解决在 Linux 上容纳 VST/VSTi 插件的问题提供了一个可行的解决方案,至少对于那些愿意开放源代码并在必要时重新考虑许可条款的开发人员而言是这样。该系统已经是一个稳定的执行者,其开发人员乐于接受改进建议。经过几轮修复和功能添加,它很可能成为冠军。与此同时,它在 Studio Dave 正在进行大量测试。如果您想提供帮助,请下载 JOST(二进制或源代码),试用一下,并让 Lucio 知道他的程序运行情况以及您认为可以改进的地方。
世界上谁在用 Linux 制作音乐?
LAM 网站很容易回答这个问题,但由于 LAM 没有评分系统,我想在此处的每个条目末尾链接一个选择。本周是 James Shuttleworth 的 Fling (OGG 7MB),这是我一直以来的最爱之一。请欣赏,并务必访问 dis-dot-dat.net,了解 James 还在做什么。
结尾
好吧,也许这不算是一场盛宴,但我希望您喜欢这次更新和音乐。我将在大约两周后带着来自 Linux 声音和音乐软件开发领域的更多新闻回来。与此同时,尽情享受,保持关注,继续摇摆。