Linux 下音频插件技术的进展 | Linux 文摘
- 音频杂谈
- 2014-06-22
- 31热度
- 0评论
音频处理与合成技术是音乐家们永远的热门话题,很多现代音乐工作者完全依赖音频插件库提供的音色素材和音频处理效果,而且这些作曲家中的一部分人从未学习过任何一种传统乐器。不论你对音频插件有什么印象,他们早就是现代音乐制作中的事实标准了。在win/mac的世界里VST居统治地位,感谢 Steinberg 公司的开放策略,我们能够使用上他们的 VST 开发包开发的各种插件,然而 VST 并不是这两个世界中唯一高举的大旗。Apple 公司为 Mac 下的音频插件提供了 AU(Audio Unit)格式,Digidesign 公司针对他们的产品提供了独有的 RTAS(Realtime Audio Suite 实时音频套件)格式,微软公司的 DirectX 包含一个插件编程接口。Linux 也宣告了一系列自己的标准及缩写,包括 LADSPA,LV2,MESS,DSSI,还有一个原生的 VST 版本。本文展示了 Linux 音频插件开发的最新消息。
LADSPA
LADSPA 是 Linux 音频插件领域的高级玩家,它的 API(程序开发接口)比较稳定,然而它的开发没有刚出来那会儿活跃。尽管如此,最近几个月还是出现了一些重要的 LADSPA 插件。
Harrison Mixbus 是 LADSPA 开发领域的重大新闻。Mixbus 是 Ardour 的主要开发者 Paul Davis 和 Harrison 公司的开发者们所定制的商业版本,根据 Ardour 网站上的声明,Mixbus DSP 的内核是一个单独的源码不开放的 LADSPA 插件,当然也是 LADSPA 开发接口依然好用的证据。用户的反映是积极的,贴图也很酷,但遗憾的是,Mixbus 现在仅提供了 Mac OSX 的版本,Linux 版在计划之中,所以可以肯定我会盯着 Ardour 网站等新消息出来。
我已经写过了关于 Guitarix 的文章,但我必须承认紧跟它的开发脚步有点难,最新的版本包含了改进的用户界面,可以自由排列顺序的处理模块(偶也!),一个全新的多段 EQ(均衡器),和一个有用的附加 jconv 界面控件。更重要的是, Guitarx 所有的处理效果器全都是 LADSPA 格式。如果你自己编译安装 Guitarx,安装过程会将插件模块放到 LADSPA 的默认路径下(/usr/lib/ladspa or /usr/local/lib/ladspa)。我使用的软件大多是我自己编译安装的,而且我假设使用包管理器安装的 Guitarix 也会把插件安装到期望的位置去。
LEET 插件合集不算新东西了,但我最近才发现它。开发者 socaldan3000 选择了一些现有的有些问题的 LADSPA插件,致力于改进它们的内部处理运算。该合集仅包含3个插件,两个从TAP 合集中拿出来的EQ效果器和一个从 MCP 包中抽取出来的合唱(Chorus)效果器,它们被重新开发成接收双通道的数据以便更好的和Ardour 配合。
LV2
Linux 音频软件开发者不断地写出令人印象深刻的以 LV2 为接口的插件实例,Krzysztof Foltman 更新了他的 CALF 插件合集的用户界面。图2 突显了这些插件的全新界面,以及该项目干净整洁的 calfjackhost 启动器。在以前的文章中,我曾经提到过来自 linuxDSP 和 Invada 组织的优秀的 LV2 合集。这份名单再次扩展了,加入了 Russolo Suite 和 EQ10Q。Russolo Suite 以 Luigi Russolo 命名,他是未来主义运动中的代表音乐家,他因成为首批使用噪音作为音乐素材的音乐家而闻名。正如名称所带来的期望那样,该合集致力于为软件提供噪音音源。Pere Ràfols Soler的 EQ10Q(见图3)用于为这些噪音(或任何声音,不论是否噪音)塑形。EQ10Q 是一个10段的参数均衡器,带有不少滤波器和每段共鸣(Q)控制器,干净的界面用GtkMM实现。它是另一个体现 LV2 接口能力的实例。
![](http://www.audio6.com/wp-content/uploads/2014/06/1a1dc85774d03ed43bf78f39eafa64c1.png)
VST
Linux 下提供两种方法支持 VST 插件。一种提供桥接方式,例如 dssi-vst 和 fst 能在模拟环境下运行 VST 插件。另一种方法提供开发工具,可将 VST 插件编译成 Linux的原生软件。两种方法都依赖于 Wine 环境的能力。直到最近,这些方法开始采用部分 Steinberg VST 开发包中的代码,这样做为 Linux 开发带来了一个问题,这些代码不能自由发布,并与 GPL 软件协议相冲突。这个冲突的结果是,你只能以代码形式发布,让用户自己编译安装,而无法合法的发布编译好的二进制包。现在这种情形有所改变了,这要感谢 VeSTige 项目,这样桥接的软件和原生的插件们无需 Steinberg 的软件就可以编译发布。
用户 funkmuscle 在 Linux Musicians 论坛上的一份声明将我引到一个干净的 fst 前端程序,Festige(见图4)是 Linux 下加载VST/VSTi 插件的方便工具。 该程序很简单,它允许一个插件加载多次,使用 JackMIDI 作为 MIDI 连接,并支持 MIDI 控制器的 MIDI-learn(使用外部MIDI设备来控制软件的MIDI信号)。Festige 需要更多的调整,我在一台优化的系统上遇到了太多个 xrun (JACK音频的错误),但在版本0.0.3时是能用的。这也是很有意思的,在某个测试中,我运行了 dfx Transverb 处理器和两个 Crystal 合成器,然后我将一个合成器的音频通过 Transverb 路由到系统音频,另一个直接接系统音频,经QJackCtl 输出。我启动了 Paul Davis 开发的优秀 MIDI 音序器 Softwerk,随意设置了些音高、节奏和音色,将它连接到那些合成器。Crystal 合成器能接收所有 MIDI 通道的数据,所以我用 holborn 开发的 midirgui 来转发 Softwerk 的 MIDI 数据。这样,其中一个 Crystal 合成器通过通道 1 接收数据,另一个从通道 2 接收数据。全部配置好了之后,我在 Softwerk 里点击播放,可以看到时间轴在向前走。Softwerk 不间断的产生了几个小时的音乐数据,我只是偶尔点一下恢复按钮,以改变随机控制参数,进而生成不同的音乐数据。这就象我说的那样,很有意思。
在最近的文章中我列举了一些全新的原生 VST 插件,包括 Christian Bor 的HybridReverb2,KResearch的 KR-Reverb FS,以及 Loomer 的 String 合成器。在那篇文章发表之后不久,我读到一条评论说原生的 VST 并没有被很多程序所支持,因为原生 VST 本来就不多。为了回复这条评论我找到我用户根目录下的 vst-linux 目录,我很惊讶的发现我在这个目录下有将近100多个原生的 Linux VST 插件。这个收集涵盖了音频处理,声音合成,工具插件,采样器和 MIDI 处理插件。有Lucio Asnaghi 的优秀作品 Jucetice 项目,Loomer 合集,mucoder,discoDSP 以及 pizmidi 项目。它们的质量各异,但其中有些已经成为我虚拟乐队中的常用“乐手”(见图6),至少它们的数量足以反驳那个数量少的说法。
图 6. 部分 Linux 下的原生 VST/VSTi 插件
MESS and DSSI
Werner Schweer 的插件格式 MusE 实验中的软音源(MESS)接口设计用于连接虚拟乐器插件,程序接口采取了一些早期的 MusE 音序器的方式,但是继开始的一批插件出现后,现在该格式处于半死不活状态(译注:因为作者转去做 MuseScore 了)。Chris Cannam 的 Disposable Soft-Synth Interface (DSSI) 也为虚拟乐器而设计,最近该插件系统有些不错的更新,在Linux上已经有好几个支持的宿主程序了,包括 Rosegarden,CSound5,Aldrin 音序器和QTractor音频工作站(DAW)。该系统接口现在的稳定版是1.0,现在有些很好的插件支持该格式,它的 dssi-vst 转换软件可以在Linux下运行 Windows上的那些VST插件,在用户中也很受欢迎。
LinuxDSP 更新
在我刚刚提交这篇文章的时候,我发现 linuxDSP LV2插件集更新了,引入了一个新的压缩器,一个复古的延迟效果器,一个立体声混响效果器和一个图像均衡器(见图7)。这些插件属于“捐助型”软件,你必须捐点钱才能获得加密压缩包的解压密码。作者建议了一个温和的数字,但是请相信我,这些插件比他要求的值10倍以上。就像这篇文章所说的,LV2 完全可以胜任添加时髦新界面的任务,但是外表对于声音的世界来说没有什么意义。linuxDSP 插件集被开发的异常的好,插件的声音很棒,作者也在不断的改进它们。所以去吧,去捐点钱吧,那是Linux下最好的插件之一。
图 7. LinuxDSP LV2 插件集运行在 Ardour 2.8.6 中
小结
这就是这次更新的全部内容,我希望你会找来这里提到的一些插件看看,祝使用愉快,并给作者一些反馈吧。