访问 Linux 音频和音乐软件的新世界

作者:Dave Phillips

我收到的最常见问题之一是“进入 Linux 音频软件世界的最佳方式是什么?”。在 90 年代后期,这个问题没有简单的答案。通常,您必须安装您选择的发行版,然后自行定制用于音频工作。这通常意味着诸如为提高性能而修补内核源代码、用 ALSA 系统替换较旧的 OSS/Free 内核声音模块、重新编译和重新安装内核、优化磁盘性能、安装所有需要的应用程序和各种支持软件等活动。虽然不是非常困难,但这个过程耗时,容易出现恼人的错误和不兼容性,因此即使对于相对有经验的用户来说也相当令人生畏。

在真正的 Linux 风格中,许多项目已经出现,其主要目的是减轻安装和配置高级 Linux 音频系统和应用程序库所带来的痛苦。这些项目为音频功能提供软件资源,适用于简单的桌面听音乐趣或专业质量的多轨多声道音频和 MIDI 制作。当然,需要适当的硬件,但 ALSA 系统目前支持广泛的声卡和数字音频板,从流行的 SoundBlaster Live 和 Audigy 卡到高端板卡,如 RME Hammerfall 和 M-Audio 的 Delta 系列。

Planet CCRMA 和 AGNULA 是此类项目的两个示例。每个项目都提供完整的 Linux 发行版,其中包含针对音频性能优化的内核和选定的声音应用程序软件库。这两个项目之间存在差异,但我要在一开始就说,如果您有兴趣进入 Linux 音频软件的新世界,那么两者中的任何一个或两者都可以很好地满足您的需求。

Planet CCRMA

Fernando Lopez-Lezcano 是一位作曲家,在斯坦福大学的计算机音乐与声学研究中心(CCRMA,发音为“karma”)工作。他也是该中心的系统管理员,负责其网络的配置和维护。中心的大部分工作站运行 Linux,在过去的几年里,Fernando 创建了一个软件包来镜像中心的软件。该软件包通过本地网络免费提供,使学生可以在家运行与中心完全相同的系统。这个软件包最终演变成现在的 Planet CCRMA At Home(简称 Planet CCRMA,或简称“the Planet”),现在它已免费向公众开放。

Planet CCRMA 最完整的形式是一个软件包集合,可以安装在完整的 Linux 发行版(RedHat 或 Fedora Core 1,反映了 CCRMA 使用的系统)之上。您可以下载 ISO 镜像刻录到本地光盘,或者可以通过网络执行安装。Planet 的网站提供了基本系统 Red Hat 发行版,但如果您已经运行目标系统(RH 7.3、8.0、9.0、FC1),您可以单独下载内核和应用程序软件包,并在当前发行版之上安装系统。Fernando 修改了基本系统的各种组件,我将在后面描述,但最有用的补充之一肯定是 apt 系统的集成,以便通过网络轻松检索和安装 RPM 软件包。关于 apt 的使用,我还有更多要说的,但首先我将描述我安装系统的体验。

我选择了使用 Planet CCRMA 的 Red Hat 9.0 进行完整系统安装,所以我下载了光盘镜像,将它们刻录到 CD(使用 Joerg Schilling 出色的 cdrecord 通过 GCombust GUI),并使用我的新光盘安装了系统。Red Hat 以其易于安装而闻名(这在很大程度上归功于出色的 Anaconda 安装程序),而且我确实在基本安装和设置方面没有任何问题。我的外围设备被正确识别和配置,一切都“刚刚好用”。嗯,几乎“刚刚”...

Planet CCRMA 当前的内核版本来自 2.4.x 稳定系列。默认情况下,这些内核包括较旧的 OSS/Free API 作为其声音子系统。但是,Planet CCRMA 系统需要 ALSA,因此提供了完整的说明,用于删除 OSS/Free 并用 Planet 的 ALSA 软件包替换它。幸运的是,随着 2.6.x 内核被引入系统,这一步骤将被消除。磁盘优化是另一个仍然留给用户的任务,但 Planet 的网站上也提供了完整的说明。

内核级别的更改包括对以下改进的支持: Andrew Morton 的低延迟补丁(将延迟从约 300 毫秒减少到可能小于 10 毫秒,具体取决于您的硬件)Robert Love 的抢占式内核补丁(使内核进程可中断,提高延迟和系统的总体响应能力)Tommi Ilmonen 的功能补丁(允许普通用户安全地运行具有实时优先级的应用程序)内核的实时时钟驱动程序(rtc.o)已修补以获得更高的分辨率(对于 Linux MIDI 应用程序尤其重要)启用了内核 DMA 和 PCI 总线选项。用户还可以选择单 CPU 和多处理器内核。大多数这些更改对用户是透明的,即,不需要特殊的例程来激活它们。但是,低延迟补丁必须由 root 用户通过以下简单命令手动激活:echo 1 > /proc/sys/kernel/lowlatency 如果您不确定是否启用了低延迟补丁,只需运行 'cat /proc/sys/kernel/lowlatency'。如果它返回 1,则一切就绪,但如果它返回 0,则需要运行上面给出的命令。好的,这就是 Planet CCRMA 最底层的旋风之旅。下一阶段包括中间层软件,它提供了新 Linux 音频系统的强大功能。此级别包括 JACK 音频服务器和传输控制、LADSPA 插件以及各种库,如 libsndfile、libsamplerate、libfftw 和其他重要的音频软件组件。同样,此级别的软件对最终用户是透明的。Planet CCRMA 安装它,您运行需要它的程序,一切都很愉快。是的,它实际上就是这样工作的。最高级别当然是最终用户最感兴趣的。在这里,我们遇到了应用程序库,这是一个令人印象深刻的集合,包括以下类别和程序:硬盘录音(Ardour、ecasound)声音编辑(Snd、Audacity、ReZound)MIDI 录音和编辑(MusE、Rosegarden-4)模块跟踪和编辑(SoundTracker、CheeseTracker)软件声音合成(Csound、Common Lisp Music、Pd)算法作曲软件(Common Music)软合成器(ALSA Modular Synth、ZynAddSubFX、Fluidsynth)乐谱软件(LilyPond、NoteEdit)多媒体播放器/编辑器(XMMS、ALSAplayer、Cinelerra)还有许多其他应用程序可用,请参阅 Planet CCRMA 站点以获取完整列表。顺便说一句,JACK 得到了最新版本的 JACK 本身以及围绕它发展起来的出色 JACK 中心应用程序集合(Ardour、JAMin、Freqtweak、qjackctl 等)的广泛支持。安装 Planet CCRMA 的 Red Hat 版本是完整的 Linux 发行版,因此您最喜欢的桌面应用程序都在那里,包括 GIMP、emacs 和 vi、Mozilla、KDE、GNOME 以及您期望从典型 Red Hat 安装中获得的一切。正如我提到的,如果您已经运行受支持的 Red Hat 发布版本,则无需从 Planet 安装版本。根据您的安装选择,Planet 将启动进入 GNOME 或 KDE 桌面环境,所有应用程序都已列在环境的菜单中。当然,Planet 也适用于任何流行的 Linux 桌面或窗口管理器(具有适当的配置)。例如,图 1 展示了我的系统在 BlackBox 窗口管理器下运行。没有任何特殊内容表明系统的存在,但它都在那里,准备就绪。注意:KDE 和 GNOME 都配备了自己的声音服务器,分别是 artsd 和 esd。如果您在这些环境中的任何一个下使用 Planet,则应确保禁用相应的服务器,以避免与 Planet CCRMA 系统冲突。最后,关于 apt 系统的更多说明。Debian 用户熟悉非常方便的 apt-get 命令,Fernando 已将 apt 支持添加到 Planet CCRMA 的 Red Hat 中。简而言之,我已经爱上了 apt-get。我对它的强大功能的第一次体验是在我安装了基本 Red Hat 系统并想要继续安装应用程序之后。按照网站上的出色说明,我运行了这个简单的命令(当然是作为 root)来安装 Planet CCRMA 上的所有内容:apt-get install planetccrma-audiovideoapps 然后我所要做的就是坐下来观看一切都自动安装和配置。从那时起,我只需要运行以下这对命令即可使我的系统与 Planet CCRMA 的最新和最棒的软件包保持同步:apt-get update apt-get dist-upgrade 显然,宽带连接是必需的。可以使用调制解调器与 apt-get 一起使用,但不建议这样做。Fernando 一直在维护 Planet CCRMA,使其系统各个级别的软件都保持最新版本。Planet CCRMA 网站上提供了广泛的文档,并且有一个活跃的邮件列表供用户分享更多注释和建议。如果您想在 Red Hat 系统上使用 Linux 音频和视频应用程序,请听取我的建议,预订飞往 Planet CCRMA 的早班飞机。AGNULA AGNULA 代表“A GNU/Linux Audio distribution”(GNU/Linux 音频发行版)。顾名思义,这个系统有一个哲学基础:AGNULA 旨在执行与 Planet CCRMA 相同的功能,即为 Linux 用户提供完整的交钥匙音频/视频工作站,但它只使用自由软件来实现这一点,“自由”在此处的定义符合自由软件基金会(FSF)的定义。如果您不了解 FSF 的四大自由,它们是基本原则,规定了您的权利:为任何目的运行该程序。研究程序的工作原理并使其适应您的需求。重新分发程序的副本。改进程序并将您的改进发布给公众,以便整个社区受益。这些是崇高的原则,几乎完全与典型的关于软件所有权和使用的商业限制相悖。AGNULA 是一个由欧盟委员会资助并由意大利佛罗伦萨的 Centro Tempo Reale 协调的项目。该项目的启动日期为 2002 年 4 月 1 日,将于 2004 年 3 月 31 日结束;但是,开发人员打算在结束日期之后继续支持该项目。该项目的主要目标是开发两个 GNU/Linux 发行版,完全基于自由软件,专门用于消费级和专业级音频应用程序和多媒体开发。一个发行版基于 Debian 发行版(DeMuDi,Debian 多媒体发行版),另一个基于 Red Hat(ReHMuDi,Red Hat 多媒体发行版)。根据 AGNULA 主页,这些发行版专注于为音乐家、作曲家、音频研究人员、DJ、VJ 等提供有用的环境,特别关注以下功能:软件应易于安装(自动配置、自动硬件检测、关注人机交互)。软件应基于功能齐全的 GNU/Linux 系统(完全可配置和可自定义、可靠且安全)。大多数软件应根据 GNU GPL 许可证发布,并且所有包含的程序都将是自由软件。AGNULA 项目的另一个独特方面体现在其合作伙伴联盟中。Tempo Reale 不是唯一参与该研究中心的项目。其他重要的参与者包括巴黎的 IRCAM、斯德哥尔摩的 KTH 和巴塞罗那的 UPF。这些项目合作伙伴已经为 AGNULA 系统直接贡献了开发的软件,包括诸如著名的 jMax(来自 IRCAM)的 Python 实现、Xavier Serra 的 SMS 合成软件的扩展(来自 UPF 的 CLAM 软件)以及来自 KTH 的语音合成工具等工作。其中一些项目只是最近才成熟,但它们都是 AGNULA 内令人兴奋的发展。AGNULA 网站将项目目的总结如下:支持完全致力于音频应用程序的 GNU/Linux 发行版的开发。在一致的环境中提供对最广泛的自由音频软件组合的协调访问。这将加强音频领域最先进的研发。提供基于自由软件的音频系统,这将增强定制化使用(在文化和艺术环境中很有用)。帮助传播关于自由软件主题的敏感性(特别关注音频/视频应用程序和内容分发)。当然,崇高的目标值得追求和实现。当然,最重要的是:该项目进展如何,目前是否处于可用状态?我很高兴地报告说,开发稳步进行,并且在其 1.0 版本中表现出色。由于我正在为 AGNULA 编写文档,因此我在这里安装系统至关重要,并且由于我已经安装了 Planet CCRMA,我决定设置 AGNULA 的 DeMuDi 分支。我在我的笔记本电脑上运行 Debian 系统,所以我已经熟悉 DeMuDi 的某些方面,并且我发现安装仅比 Planet CCRMA 的安装稍微复杂一些。Debian 是 AGNULA 基本发行版的自然选择:它是一个社区支持的努力,独立于公司义务,并且它本身几乎完全由自由软件构建(根据 FSF 定义)。安装 AGNULA/DeMuDi 并不困难,尽管 Debian 缺少像 Red Hat 的 Anaconda 这样完善的安装程序。AGNULA 开发人员已经充分认识到剩下的几个粗糙点,并且正在为下一个主要发布日期(目标是在 2004 年 1 月下旬)平滑这些粗糙点。我不得不调整 X 配置的一部分,但 AGNULA 开发人员非常乐于助人并且对我很有耐心。一旦基本系统安装完成,下一步就是上线并发出以下简单命令:apt-get update apt-get install demudi-all 在该阶段完成后,我就准备就绪了。AGNULA 的应用程序库与 Planet CCRMA 的非常相似,只有少数程序由于许可限制而被排除在外。类别相同,大多数应用程序相同,并且底层系统修改几乎相同。一个明显的区别是 DeMuDi 对 FVWM2 窗口管理器的选择。我对这个选择有点惊讶,主要是因为我在 90 年代中期将 FVWM 用于我的第一个 Linux GUI,但我必须承认,对于 X 中的默认用户界面来说,这是一个不错的选择。它当前的默认外观很平淡,但简单的 'xsetbg linus.jpg' 产生了更丰富的背景。开发团队意识到了 FVWM2 相当朴素的外观,并且一个子项目已经在努力改进默认用户界面。与 KDE 或 GNOME 相比,FVWM2 是一个更轻量级的界面,没有与这些桌面环境相关的花哨功能,但当然您可以将 X GUI 更改为您喜欢的任何管理器或环境。通过命令行和弹出菜单访问应用程序库。我想直接测试 AGNULA 的性能,所以我随机运行应用程序以查看系统如何响应。我很高兴地报告,几乎所有东西第一次都运行良好,而那些没有运行的程序失败是因为我没有启动 JACK 服务器。总而言之,这是一次非常令人满意的体验。AGNULA 1.0 的应用程序库不如 Planet CCRMA 的最新,但我还没有勤奋地通过 apt-get 进行更新。我“按原样”享受这个系统(见图 2),但我承认我热切期待 AGNULA 1.1。AGNULA 开发人员和用户的邮件列表非常活跃,我认为可以肯定地说,该项目已经朝着实现其既定目标的方向迈进了一段距离。必须高度赞扬开发团队,特别是 Andrea Glorioso、Free Ekayanaka、Nicola Giosmin、Davide Fugazza 和 Damien Cirrotteau。Linux 音频界名人 Guenter Geiger 和 Marco Trevisani 做出了开创性的工作,我还必须特别提及 Nicola Bernardini 所扮演的角色。AGNULA 在很大程度上是 Nicola 的心血结晶,它确实正在成长为一个奇妙的成熟体。和平退出 虽然有些人可能会抱怨过去的日子有多么美好,但我必须承认,我已经非常满意更简单的安装例程、apt 系统和丰富多彩的工作环境。性能才是真正重要的,而调整系统以获得最佳音频性能并非易事。Planet CCRMA 和 AGNULA 确实消除了在试图解开内核延迟、JACK、ALSA、LADSPA 插件等复杂性时所遭受的大部分痛苦。如果您有兴趣使用 Linux 进行高质量的声音录制、编辑和播放,您应该查看这些项目。顺便说一句,Planet 和 AGNULA 并不是唯一旨在减少用户对 Linux 音频感到沮丧的项目。请查看本文的资源列表,了解其他类似项目。毕竟,有选择总是好的,不是吗?资源 AGNULA (DeMuDi 和 ReHMuDi) http://www.agnula.org Planet CCRMA At Home http://www-ccrma.stanford.edu/planetccrma/software/ AudioSlack (Luke Yelavich 为 Slackware 用户提供的音频软件包) http://www.audioslack.com Dynebolic (面向媒体活动家、艺术家和教师的 GNU/Linux 发行版) http://dynebolic.org LAW (Jacob Robbins 的 Linux 音频工作站) http://www.newyorkmusicunion.com Medialinux at OSL (基于 Knoppix 的专注于多媒体的 Linux 发行版) ftp://logx.it/mirrors/medialinux/>i Thac 的 Mandrake RPM (包括大量 Linux 音乐和声音软件包) http://rpm.nyvalls.se/ Turn-Key Linux Audio (Kevin Ernste 在 Eastman 计算机音乐中心提供的 Linux 音频发行版) http://lulu.esm.rochester.edu/kevine/turnkey/

Dave Phillips 是一位音乐家、教师和作家,居住在俄亥俄州芬德利。自 1995 年首次接触 Linux 以来,他一直是 Linux 音频社区的活跃成员。他是《The Book of Linux Music & Sound》以及 Linux Journal 中众多文章的作者。

加载 Disqus 评论