原生 Linux VST 插件的宿主?

作者:Dave Phillips

完全支持 VST 插件标准是 Linux 音频世界仍然面临的最重要问题之一。VST 插件在 Win/Mac 音频世界中无处不在,它们被广泛应用于专业和桌面音乐软件中,毫不夸张地说,VST 标准彻底革新了基于计算机的音乐和声音创作。鉴于其极高的普及度,笔者认为,稳定的 VST 支持将为 Windows 用户提供一个令人信服的理由来尝试 Linux 作为替代或替代平台,特别是如果他们在 VST 插件的收藏上投入了大量的金钱和经验。

在某种程度上,Linux 已经存在 VST 支持。FSTDSSI 项目提供了打开和运行 Windows 特定 VST 插件的实用程序。这些项目确实有效,但它们依赖于 WINE。随着 WINE 本身变得更加稳定的依赖项,FST 和 DSSI 桥接已成为 ArdourRosegarden 等程序中内部 VST 支持的可行机制。然而,仍然存在重大问题,特别是关于多个插件实例和 MIDI 控制。

开发者 Lucio Asnaghi 创建了他的 JOST 软件,以在 Linux 下为 VST 插件提供无缝支持,但他的设计理念与 FST 和 DSSI 项目在两个关键方面截然不同。首先,JOST 没有 WINE 依赖项。更重要的是,JOST 不是充当本机 Windows VST 插件的模拟环境,而是宿主本机 Linux VST 插件。是的,我的意思是可以在 Linux 下编译运行的 VST 插件。

JOST

图 1:JOST

JOST (Jack hOST) 是一个独立的 VST 插件宿主,这些插件已移植到 Linux。该项目非常新,目前最好将 JOST 的开发视为概念验证阶段。它确实有效,但设置和使用有点复杂。以下是使用和测试 JOST 所需的步骤

  1. 下载并(可选)编译 jost 二进制文件。
  2. 下载并(可选)编译一些移植的 VST 插件。
  3. 将 jost 二进制文件复制或重命名为移植插件的名称,减去 .so 扩展名。
  4. 启动 JACK 音频服务器。
  5. 调用新命名的二进制文件,例如 ./Transverb。
  6. 建立音频和 MIDI 客户端连接(在 QJackCtl 或类似的实用程序中)。
  7. 尽情摇滚(可选)。

插件和 jost 可执行文件必须存在于同一目录中。因此,如果我有一个目录包含 jost 和 Transverb.so(来自 DestroyFX 的混响效果插件)

    cp jost Transverb

我启动 JACK,然后我可以将插件作为独立应用程序运行

    ./Transverb

图 1 说明了结果。

Lucio 收集并编译了来自 VST 开发者 mdaDestroyFX 的各种插件,以与 JOST 一起使用。源代码和预编译的二进制文件可从 JUCEtice 网站获得。

从源代码构建 JOST 并不困难,但它需要 JUCE 框架,该框架的编译和安装也不困难。这两个软件包都需要 premake 实用程序和最新的 C/C++ 编译器。JOST 还需要版本 2.3 的 VST SDK。潜在的构建者应注意,JOST 是免费提供的开源软件,但它不是在 GPL 许可下授权的。

我在 Dynebolic 2.3 上的一台 800 MHz 机器上使用一些移植的插件测试了 JOST。Transverb 插件运行良好,但当前的移植不完整(我错过了它的随机化功能)。我还测试了 Rumpelrausch ZR3 VSTi 插件,这是一个非常好的拉杆风琴模拟器。VSTi 插件通常是需要 MIDI 输入才能运行的乐器。JOST 提供了必要的 MIDI I/O 端口,QJackCtl 将其识别为 Juce Midi 输入/输出。

为了避免任何读者因热情而冲昏头脑,商业开发的 VST 插件不太可能在短期内移植到 Linux。到目前为止所做的工作之所以成为可能,要归功于原始开发者同意公开其源代码,并且期望所有开发者都表现出相同的行为是不明智的。然而,JOST 证明了 VST 可以编译并在 Linux 下本机运行的概念,并且也许它足以说服更多的开发者进入开源轨道。

Jorgen Aase 的 energyXT2 也宿主本机 Linux VST 插件。图 2 展示了 energyXT2 与 synth4 插件一起工作。

图 2:energyXT2

VST 问题

正如我所提到的,FST 和 DSSI 依赖于 WINE 来模拟一个 Windows 环境,使其足以被本机 Windows VST 插件所接受。唉,WINE 可能会更改其代码库并使这些系统陷入困境,但依赖 WINE 只是任何 Linux 下 VST 插件支持的潜在系统所面临的难题中最不重要的。更大的问题是 VST SDK 的许可,特别是这一部分

“2. 被许可人无权以任何方式、在任何介质上(包括互联网)向任何其他人(包括被许可人的分许可人或被许可人参与的公司)出售、许可、赠送和/或分发 VST 插件接口技术或其部分内容。这包括重新加工本规范,或对基于本规范的任何产品进行逆向工程。”

该段明确禁止免费分发 SDK 源代码,使其与 GPL 条款不一致,也不能将特定于 Linux 的改进添加到官方代码库中。如果 SDK 源代码是真正的自由软件,那么现在可用于 Linux 的各种 VST 支持应用程序可以成为 Linux 发行版中的标准项。VST 支持可以变得更加稳定和健壮,从而使 Linux 对来自 Windows 音频软件世界的用户更具吸引力。符合自由许可的本机和/或模拟支持似乎没有任何缺点,甚至有可能销售更多的商业 VST。

回到现实。Michael Bohle 宣布 JOST 的初始版本在 Linux 音频邮件列表中引起了长时间的骚动,其中有很多关于许可和其他开发问题的评论。唉,关于如何游说更改 VST SDK 的许可并未达成任何结论,但事实仍然是,随着越来越多的 Windows 用户考虑更换操作系统,他们中的音乐家将希望能够在 Linux 下使用 VST 插件。如果仅仅是许可问题阻止他们享受这一选择,那将是一种遗憾。

结尾

我将在不到两周的时间内带着更多来自 Linux 声音和音乐软件世界的消息回归。在那之前,保持你的头脑清醒。

加载 Disqus 评论