最先进水平:Linux 音频 2008,第二部分
在我对 Linux 音频开发调查的第二部分中,我将重点放在应用程序方面。我本想包含更多其他工具和应用程序,但时间和空间总是很有限。因此,如果您的心仪程序未被列出,我深感抱歉;请随时告诉我您认为我遗漏了什么。
从 Windows/Mac 商业声音和音乐软件世界来到 Linux 的人们可能会认为他们回到了过去。Linux 音频和 MIDI 制作软件通常不如主要音乐杂志上宣传的各种产品那样在视觉上吸引人,但大多数音乐家都会同意,声音才是最重要的。在这方面,Linux 可以傲然挺立,甚至可以声称拥有自己的一些色彩缤纷的软件包。
ALSA 提供命令行实用程序,用于简单地录制和播放音频和 MIDI。这些工具(arecord/aplay 和 arecordmidi/aplaymidi)对于快速、简单的用途非常有用,并且大多数发行版都提供 GUI 以简化其使用。在更高的层面上,LMMS(Linux MultiMedia Studio;图 1)和 Jokosher 是桌面音乐制作软件的优秀范例,其设计方式类似于 Apple 流行的 Garage Band。它们通过色彩鲜艳、简单易用的 GUI 快速吸引用户,但在其设计约束范围内功能强大。这两个程序都在持续开发中,并拥有活跃的用户和开发者社区。Wouter Boeke 的 AMUC(Amsterdam Music Composer)是另一个更轻量级的程序,它包含许多吸引桌面作曲家的功能,包括集成的合成器、乐谱功能和非常低的资源需求。
Ardour 在 Linux 专业级录音工具领域占据主导地位。Paul Davis 继续领导 Ardour 的编程团队,该项目仍然是 Linux 音频软件开发的最佳范例之一。Ardour 2.5 是一个成熟的应用程序,正在开发的 Ardour 3.0 有望将该程序提升到一个新的水平,这尤其要归功于 Dave Robillard 在其新的 MIDI 录音和编辑功能方面的工作。Ardour 的发布没有严格的时间表,我当然无法预测 3.0 何时会首次公开亮相。然而,Ardour 的开发记录清晰明确,发布了一系列一致的版本,所以我希望我们能在年底前看到它。当然,SVN 源代码可供任何想要在等待公开发布时测试前沿技术的人使用。
还有一些规模较小但功能仍然强大的替代方案。Rui Nuno Capels 的 QTractor 是一款多轨/多通道 DAW(数字音频工作站),其设计类似于数字音频硬件世界中的便携式工作室。QTractor 的另一个特点是支持本机编译的 Linux VST 插件,以及常用的 LADSPA 和 DSSI 插件。Remon Sijrier 的 Traverso 采用高效的界面,非常易于使用,并提供完整的制作系统,从录制您的第一首曲目到刻录音频 CD。
Kai Vehmanen 的 Ecasound 在 Linux 音频软件世界中占据着独特的地位。Ecasound 是一个命令行 DAW,一个完整的音频录制和处理解决方案,不需要图形显示。它可以在交互模式下运行,也可以由用户编写的脚本驱动;它完全支持 JACK;它可以以多通道模式录制——Ecasound 的功能列表不胜枚举。Ecasound 是一个历史悠久的项目,我很高兴地报告它仍然由其原始作者开发和维护。
Fervent Software 的 Rosegarden 是另一个历史悠久的 Linux 音乐应用程序,具有长期而健康的开发轨道。Rosegarden 一直支持通用乐谱作为作曲家的界面,其开发者现在计划进一步加强该界面。鉴于其 JACK 支持,Rosegarden 几乎没有必要重复 DAW 的所有职责,并且对于基于乐谱的作曲家来说,将其基于乐谱的 GUI 与他们选择的 DAW 进行 JACK 同步是一个双赢的局面。
开发者 Werner Schweer 已将其 MusE 音频/MIDI 音序器朝相反的方向发展——他已删除了其乐谱界面,并将该代码重新聚焦到 MuseScore 程序中(见下文)。与此同时,MusE 继续发展成为一个专用的音频/MIDI 音序器,版本 1.0 目前处于 alpha 发布阶段。
考虑一下常见的录音室场景:MIDI 音序器驱动两到三个软合成器,其输出被定向到 Ardour 中。当您的工作完成后,您可以将每个应用程序保存到其当前状态,但是没有简单的方法可以在重新打开项目及其部件时将每个组件恢复到其会话状态。LASH 软件为该问题提供了一个优雅的解决方案,但其采用速度一直很慢。客户端应用程序必须包含对 LASH 的直接支持,到目前为止,开发人员一直专注于其他问题。尽管如此,该项目仍然活跃,客户端列表不断增长,我希望看到 LASH 在整个 Linux 音频开发社区中得到更广泛的采用。
母带处理是一个通常与录音项目的后期制作阶段相关的过程。在母带处理项目时,会平衡音轨电平,并应用压缩和 EQ 的最后润色,以在刻录母盘之前添加完美的音频触感。幸运的是,Linux 可以声称拥有一款出色的母带处理实用程序,即 Steve Harris 设计并由一群才华横溢的 Linux 音频程序员协助开发的 JAMin 程序。JAMin 的上一个主要版本(0.95.0)可以追溯到 2005 年,但该项目已经成熟,并继续显示出间歇性的 CVS 活动。
许多较旧的软合成器项目(amSynth、ALSA Modular Synth 和 ZynAddSubFX)都无人维护,需要关注。上面提到的合成器听起来很棒,但它们都可以从诸如当前编译器优化、LASH 支持、JACK 支持等便利设施中受益。
当前正在开发中的重要合成器包括 Ingen(基于 LADSPA/LV2/DSSI 插件的合成器)、QSynth(soundfont2 合成器)和 FMS(模块化合成)。最近,出现了一批采用非常规合成方法和 GUI 设计的新产品。Malte Steiner 的 Minicomputer 是一款功能强大的减法合成器,具有八个单音“页面”。Justin Smith 的 Synth Of Noise 是一款故障艺术大师梦寐以求的合成器,而 Juan Pedro Bolivar Puente 的 Psychosynth 则呈现了一个独特的 3D 界面,用于创建基本(以及不太基本)的合成网络。
采样器由 Specimen 和 LinuxSampler Projects 代表。这些应用程序在某些重要方面有所不同:LinuxSampler 使用 Tascam 的 GigaSampler 推广的 GIG 格式的文件,而 Specimen 更喜欢 libsndfile 支持的声音文件格式。LinuxSampler(图 2)是一个客户端/服务器架构,至少有两个 GUI 和一个命令行界面。Specimen 是一个独立的基于 GTK 的应用程序。LinuxSampler 和 Specimen 都支持 JACK,但 Specimen 也支持 ALSA,并且是一个支持 LASH 的应用程序。LinuxSampler 具有更多与 GigaSampler 模型相关的功能,并且是维护更一致的程序,但这两个采样器在完整的 Linux 音乐制作工作室中都很有用。
我还必须提到 Tapeutape,Florent Berthaut 的 MIDI 可控“虚拟采样器”。Tapeutape 具有丰富的功能集(包括 LASH 支持),专为现场表演而设计,无论是否使用 GUI。该程序的最新版本是 2007 年 4 月的 0.0.5 版本,但作者表示他仍在开发它,并且应该在本文章发表时发布更新。
Hydrogen 保持着其作为首屈一指的 Linux 鼓机/节奏编程器的地位。它的开发轨道放缓了一段时间——当前稳定版本 0.9.3 可以追溯到 2006 年初——但 SVN 源代码的工作仍在继续,社区支持活跃而强大。版本 0.9.4 有望实现重大改进——这尤其要归功于 Sebastian Moors 及其开发团队的新管理。
采样器和音色字体播放器在 MIDI 音序环境中可以很好地充当鼓声源,并且鼓循环已成为现代 DAW 中创作节奏轨道的常用方法。鉴于这些因素,虚拟鼓盒很少被创建或维护也就不足为奇了。然而,orDrumbox 程序具有许多有趣的音乐功能,并且可能是 Hydrogen 的有力竞争者,尽管它首先需要 JACK 支持。
直到最近,JACK Rack 还是 Linux 音频制作的首选独立信号处理系统。该程序有许多值得推荐的功能,包括访问全系列的 LADSPA 插件和使用 MIDI 连续控制器进行参数控制。唉,项目开发速度缓慢,平均每年发布两个版本,并且 2008 年尚未发布任何版本。
基于 Linux 的吉他手现在拥有一个非常出色的效果处理系统 Rakarrack,这是一个基于主要从 ZynAddSubFX 合成器中提取的效果算法的新系统。版本 0.2.0 现已发布,Rakarrack 正在大量开发中。未来的版本将为 Linux 吉他手提供更全面的乐器特定效果系统,包括箱体模拟和更多效果。
该领域的许多项目都具有强大的开发轨道。Bill Schottstaedt 的伟大作品 Snd 继续良好地发展,其广泛的用户和开发者社区提供了许多增强功能和修复。较新的项目,例如 Audacity(图 3)、mhWaveEdit 和 Sweep,显示出当前的开发进展,但不幸的是,ReZound 的备受期待的更新尚未实现,我们仍在等待 Audacity 和 Sweep 更好地集成 JACK。
LADSPA,Linux 音频开发者简单插件 API,是音频插件开发者的优秀资源,用户现在可以享受使用 LADSPA API 创建的许多优秀插件。杰出的套件包括 Tim Goetze 的 CAPS 套件、Steve Harris 不可或缺的 SWH 包和 Tom Szilagyi 的 TAPS 合集,但还有许多其他 LADSPA 精品可用。总体合集继续扩展,尽管速度缓慢。
LADSPA API 的有意简洁性必然将插件设计主要限制为效果和动态处理。新兴的 LV2 规范将 LADSPA 提升到一个新的水平,尤其是在乐器插件方面。LV2 与 DSSI(Disposable SoftSynth Interface)竞争,但这两个项目的开发者都在努力实现为 Linux 提供类似于 Windows 著名的 VST/VSTi 插件架构的共同目标。
目前以两种形式直接支持 VST/VSTi 插件。诸如 FST(FreeVST)和 dssi-vst 实用程序之类的桥接器可以直接在 Linux 下运行某些本机 Windows VST/VSTi 插件,而 Lucio Asnaghi 的 JOST Project 则致力于将开源 VST 插件移植到本机 Linux 版本。支持 VST/VSTi 插件(Windows 或本机 Linux)的应用程序包括 Ardour、Rosegarden、LMMS 和 QTractor。但是,Ardour 的支持需要特殊的构建过程,并且生成的二进制文件可能无法重新分发。
Steinberg API 的条款禁止免费重新分发 VST SDK,因此成熟的 LV2 很可能成为插件开发者的有吸引力的替代方案。时间会证明一切,尽管该规范已经是一个有价值的竞争者,但用户需要插件。一些项目已经解决了这一需求(请参阅 lv2plug.in 上的列表),但更多会更好。
LMMS 的开发者通过为所需的 VST SDK 编码一个直接替换来解决了这个问题,从而可以在不使用 Steinberg 代码的情况下提供直接 VST 支持。这一发展是最近的,Linux 音频开发者是否会将该解决方案纳入他们自己的程序中还有待观察。
该领域可以分为主要用作作曲家工作区的程序和用作音乐排版软件的程序。宏伟的 LilyPond Project 在音乐排版类别中占据主导地位,NtEd 和 Canorus 是目前维护最好的基于乐谱的作曲界面。然而,Werner Schweer 的 MuseScore 正在迅速发展成为一个出色的 WYSIWYG 图形界面,用于音乐创作,但它需要 Qt 及其其他依赖项的尖端安装。
Linux 数字 DJ 可以在 UltraMixer 和 Mixxx 这两款专业级混音器之间进行选择,这两款混音器都已超过 1.0 版本,并继续显示出强大的开发轨道。Alexander Koenig 的伟大“虚拟刮擦器”terminatorX 自 2004 年以来就未再开发,但在版本 3.82 中,可以安全地将其称为成熟版本。
当前的 Linux 视频混音器系列可以很好地服务于数字视频骑师 (VJ)。出色的软件包包括 FLxER、FreeJ、Gephex 和 Veejay,所有这些软件包都以类似于音频唱片骑师操作的方式处理视频文件和流。视频输入可以被刮擦、结巴、使用特效处理以及与其他视频(和其他媒体)混合。普通的笔记本电脑现在已经足够强大,可以处理这种不断发展的艺术形式的音频和视频资源需求,尤其是当它们运行 Linux 时。
Rivendell Project 统治着这个领域。Rivendell(图 4)为想要自动化其全部或部分运营的无线电广播公司(无线或基于网络的)提供了一个完整的解决方案。该套件是一项令人印象深刻的成就,具有一套完整的专业功能“...用于音频内容的采集、管理、调度和播放”,根据其网站的说法。最新的公开发布版本是 1.0 版,项目开发状态是当前和正在进行的。
传统的软件声音合成 (SWSS) 语言在 Linux 中蓬勃发展,该平台继续吸引此类系统的开发者。
Csound 享有广泛的用户社区和由非常有才华的程序员组成的核心开发团队的关注。最新版本 Csound 5.08 是一个真正的强大引擎,具有惊人的合成和处理运算码数量、集成的 GUI 小部件、更完整的 JACK 支持和许多其他引人注目的功能。Csound API 的开发为想要将 Csound 的功能融入到自己的软件中而无需重写其例程的程序员提供了一个强大的引擎。Jean-Pierre Lemoine 的 AVSynthesis、Steven Yi 的 blue 和 Rory Walsh 的 Cabbage Project 都依赖 Csound API 来实现其音频处理功能。
Paul Lansky 历史悠久的 Cmix 以 Dave Topper 的出色 RTCmix 的形式继续发展,但自 2006 年以来,开发似乎停滞不前。RTCmix 绝对值得深入研究,我希望其开发轨道能在不久的将来再次加速。
Bill Schottstaedt 的 Common Lisp Music (CLM) 是另一个 SWSS 系统,最终源自 Max Mathew 传奇的 Music V。事实上,Bill 最近将 Music V 合并到了 CLM 中,但这对于如此强大的开发者来说是一项微不足道的任务。CLM 可能与 Csound 一样长期处于不断发展之中,并且享有其自身才华横溢的开发团队的特别关注。新版本频繁且意义重大,通常会添加新的合成和处理功能以及诸如惊人的鸟鸣声合成例程集合和前面提到的 Music V 之类的便利设施。我还必须提到 Bill Schottstaedt 的 Common Music Notation(一种基于 Lisp 的乐谱语言)和他出色的 Snd 音频文件编辑器。他的所有软件都质量上乘且始终如一地维护,我们很幸运在 Linux 音频阵营中拥有他和他的作品。
值得注意的最新 SWSS 系统包括 ChucK、SuperCollider3 和令人敬畏的 Pure Data (Pd)。它们的现代特性包括更现代的语法和对现代编程技术的支持,在某些情况下,该语言包括一个集成的(但不是强制性的)GUI。ChucK 和 SuperCollider3 不包含集成的图形原语,但已经为该语言或该语言的某些方面创建了 GUI(例如,TAPESTREA,一个需要 ChucK 信号分析和合成功能的引人入胜的作曲工具)。
Pure Data 值得进一步评论。我在此处提到的系统享有用户和开发者的广泛社区支持,但 Pd 几乎接近于一种宗教。它非常具有说服力,具有各种与 Csound 相媲美的功能和例程,包括通过 GEM 库处理 OpenGL 的绝佳界面。由于其庞大的资源(和出色的文档),Pd 可以用于几乎任何音频、MIDI 或视频服务。
在过去,此标题下的软件仅包括基于语言的工具,但现在情况已发生深刻变化。GUI 现在是声音分析师首选的工具,由于对用户界面的关注,我们可以享用一些出色的软件。
屡获殊荣的 CLAM Project 在 Pau Arumi 和巴塞罗那 UPF 的开发团队的努力下,继续沿着其创新之路前进。CLAM 是“用于音频和音乐的 C/C++ 库”,专为快速开发声音和音乐应用程序而设计。该系统包括用于音频分析、合成和信号处理的独特工具和实用程序,并配有图形控件和显示。
GRAME 的 FAUST 既是一种用于实时音频信号处理的语言,也是 DSP 程序员编写插件或完整应用程序的开发环境。FAUST 确实是一款令人着迷的软件,拥有强大的开发团队和出色的工具和实用程序集合。我计划在未来为 Linux Journal 网站撰写一篇关于 FAUST 的文章。
Chris Cannam 的 Sonic Visualiser(图 5)是一个用于“查看和分析音乐音频文件内容”的程序,但该描述很少揭示该程序本身。该项目旨在提供最佳的音频可视化软件,用于以不仅音频处理专业人员而且任何人都能够利用和理解的形式查看波形和频谱图数据表示。然而,Sonic Visualiser 绝不仅仅是一个花哨的工具;它确实是一个用于研究音乐和声音的严肃工具。
Albert Graef 的 Pure(以前称为 Q)本身不是 DSP 环境,但从其示例中可以明显看出,音频和 MIDI 应用程序当然是其主要重点之一。此外,Pure/Q 还包括一些非常酷的方法,用于与 FAUST 和 Pd 音频合成和处理环境进行交互。
Linux 可以声称拥有计算机音乐家可用的最佳创作环境之一,即 Rick Taube 的 Common Music。Taube 教授多年来一直坚持维护 Common Music,最近,他开始致力于为该系统开发一个完全基于 GUI 的环境 (GraceCL)。IRCAM 的 OpenMusic 是另一个以创作为中心的程序,它可以在 Linux 下运行,但不幸的是,它只是零星地维护。
过去几年,强调多媒体支持的 Linux 发行版蓬勃发展。Planet CCRMA、64 Studio、JAD、Dynebolic 和 Musix 减少了配置低延迟高性能系统所带来的痛苦。其中一些发行版包括用于“尝试而无需哭泣”的实时光盘映像,而其他系统(例如 Gentoo 和 Ubuntu)则提供针对音频工作优化的自身专用版本。
尽管 Linux 音频世界取得了许多进步,但仍然存在一些令人恼火的困难。主流发行版尚未就通用的声音服务器达成一致,并且它们可能永远不会这样做。硬件支持仍然令人失望,尤其是在专业音频领域,并且许可问题继续困扰着一些项目。尽管如此,许多困难已经得到缓解或完全消除,因为开发人员继续努力提高 Linux 桌面上的可用性。
我于 1995 年开始使用 Linux,当时只有几十个像样的音频/MIDI 应用程序可用于 Linux。我很高兴我们现在拥有如此丰富的程序,尽管它们的质量参差不齐,并且我看到了良好的迹象表明其中许多程序将继续存在。明显的改进目标包括更广泛地支持 JACK 和 LASH 会话处理程序,标准化普通用户的首选声音服务器,以及硬件制造商提供更直接的驱动程序支持。一些变化将很容易实现,而另一些变化将很麻烦,但这正是 Linux 面对和克服这些困难的本质。与此同时,我正在使用 Linux 来制作自己的媒体作品,并与他人的作品(商业作品和其他作品)一起欣赏它们。美好的事物现在正在我身边发生,我看到更多美好的事物即将到来。无论它们是什么,我都会确保在 Linux Journal 和 LinuxJournal.com 的页面上告诉您。
资源
此列表仅包含文章文本中引用的程序。Linuxaudio.org 应用程序索引 apps.linuxaudio.org 中列出了更多 Linux 声音和 MIDI 应用程序。
音乐制作
ALSA: www.alsa-project.org
LMMS (Linux MultiMedia Studio): lmms.sourceforge.net
Ardour: ardour.org
QTractor: qtractor.sourceforge.net/qtractor-index.html
Traverso: traverso-daw.org
Ecasound: www.eca.cx/ecasound
Rosegarden: www.rosegardenmusic.com
MusE: muse-sequencer.org
LASH: lash.nongnu.org
JAMin: jamin.sourceforge.net
合成器和采样器
amSynth: amsynthe.sourceforge.net
ALSA Modular Synth: alsamodular.sourceforge.net
ZynAddSubFX: zynaddsubfx.sourceforge.net
Ingen: wiki.drobilla.net/Ingen
QSynth: qsynth.sourceforge.net/qsynth-index.html
Minicomputer: minicomputer.sourceforge.net
Synth Of Noise: code.google.com/p/noisesmith-linux-audio
Psychosynth: www.psychosynth.com/doku.php
Specimen: zhevny.com/specimen
LinuxSampler: www.linuxsampler.org
Tapeutape: www.tardigrade-inc.com/Tapeutape
鼓机
Hydrogen: www.hydrogen-music.org
orDrumbox: ordrumbox.sourceforge.net
个人 DSP/吉他 FX
JACK Rack: jack-rack.sourceforge.net
Rakarrack: rakarrack.sourceforge.net
音频文件编辑器
Snd: www-ccrma.stanford.edu/software/snd
Audacity: audacity.sourceforge.net
mhWaveEdit: https://gna.org/projects/mhwaveedit
Sweep: www.metadecks.org/software/sweep/index.html
Rezound: rezound.sourceforge.net
音频插件
LADSPA: www.ladspa.org
LV2: lv2plug.in
DSSI (Disposable SoftSynth Interface): dssi.sourceforge.net
FST (FreeVST): joebutton.co.uk/fst
JOST: www.anticore.org/jucetice
乐谱软件
LilyPond: www.lilypond.org
NtEd: vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml
Canorus: canorus.berlios.de
MuseScore: mscore.sourceforge.net
虚拟 DJ/VJ
UltraMixer: www.ultramixer.com
Mixxx: www.mixxx.org
terminatorX: terminatorx.org
FLxER: www.flxer.net/software
FreeJ: freej.dyne.org
Gephex: www.gephex.org
Veejay: www.veejayhq.net
广播软件
Rivendell: www.rivendellaudio.org
基于语言的软件声音合成
Csound: www.csounds.com
RTCmix: rtcmix.org
Common Lisp Music (CLM): ccrma-www.stanford.edu/CCRMA/Software/clm/clm.html
ChucK: chuck.cs.princeton.edu
SuperCollider3: supercollider.sourceforge.net
Pure Data (Pd): puredata.info
信号处理/分析/重合成
CLAM: clam.iua.upf.edu
FAUST: faust.grame.fr
Sonic Visualiser: www.sonicvisualiser.org
Pure: pure-lang.sourceforge.net
音乐创作
Common Music: www-ccrma.stanford.edu/software/cm/doc/cm.html
OpenMusic: freesoftware.ircam.fr
专用发行版
Planet CCRMA: ccrma.stanford.edu/planetccrma/software
64 Studio: 64studio.com
JAD: jacklab.net
Dynebolic: dynebolic.org
Musix: www.musix.org.ar
Gentoo: proaudio.tuxfamily.org/wiki
Ubuntu Studio: ubuntustudio.org
Dave Phillips 是一位居住在俄亥俄州芬德利的专业音乐家和作家。他从 1990 年代中期开始使用 Linux,并且是 Linux 音频开发者小组的最初创始人之一。他是The Book of Linux Music & Sound(No Starch Press,2000 年)的作者,并为各种期刊和在线新闻网站撰写了许多关于 Linux 音乐和声音问题的文章。当他不玩弄光和声音时,他喜欢阅读拉丁文学、练习太极拳、追逐沙皮幼犬以及与他心爱的 Ivy 共度时光。