如果你是一名程序员,你会发现 GNU/Linux 系统非常强大和健壮。 在视觉艺术、视频、商业或游戏等领域,你会发现一些工具具有令人期待的潜力,但也有很多错误、怪癖和挑战。 在大多数情况下,你可以完成任何你需要做的事情,但设置和学习曲线可能不如专有系统上的专有选项那么顺畅。
在本文中,基于我今年在 SCaLE 14x 上的演讲,我们将介绍为音乐制作配置 Linux 系统的基础知识,重点介绍哪些方面效果最佳,并承认挑战,并就如何寻求帮助提出建议。
入门
硬件
要开始使用音频,我们需要一些扬声器(耳机也算)。 要使用计算机完全生成的那些声音之外的任何声音,我们还需要一些声音输入。 较旧的 Linux 系统使用 OSS(开放声音系统),而较旧的音频接口和带有 Firewire 的计算机使用 FFADO,但对于今天的几乎所有人来说,重点是 ALSA:高级 Linux 声音架构。
值得庆幸的是,ALSA 是 Linux 内核的一部分,因此作为最终用户,你不需要了解太多关于它的信息。 你只需要知道你的硬件是否受支持。 大多数计算机的内置硬件都可以工作。 为了获得更好的声音以及与吉他、麦克风和其他音乐设备的兼容性,更专业的音频接口更有意义。 任何“符合类标准”的接口都可以工作,其中包括许多基本的经济实惠的选择。 相当多的高端接口也受支持。 对于具有一流音质的选择,我在 Focusrite Scarlett 系列上取得了成功。 由于仅由志愿者更新,因此最容易访问的受支持接口列表很少完整或最新,但论坛和 IRC 上的友好人士可以提供帮助。
内核设置
对于大多数音乐制作所需的低延迟定时,建议使用低延迟内核(但不是绝对必需的)。 最好的选择是安装一个预先打包的内核,作为音乐专用系统的一部分。
发行版和仓库
入门不需要专用的音乐系统。 大多数入门软件都可以在几乎任何标准的 GNU/Linux 系统上运行(而且任何人都可以调整任何系统以实现几乎任何目标,如果你想花时间在这上面)。 但是,专用的音乐系统有很多好处。
我使用 KXStudio,这是一个极好的仓库集合,可以轻松添加到任何基于 Debian(因此也是基于 Ubuntu)的操作系统。 添加 KXStudio 仓库后,只需简单地更新和安装推荐的项目,你将获得一个完整的系统,其中包含低延迟内核、大量出色的程序、一套专用的管理工具以及大量的效果器、插件和合成器。 KXStudio 维护者(实际上主要是一个人)在保持事物更新和响应请求方面做得非常出色。 请记住,这基本上是全职完成的志愿工作,因此请考虑捐款以维持其运行。
Aaron 个性化定制的 KXStudio 桌面
还存在其他以音频为中心的软件包和发行版,值得注意的是 AV Linux 和 Fedora Jam。 多年来已经制作了其他几个系统,但大多数系统都没有更新或处于活动状态。
关于 100% 软件自由的说明:虽然以音频为中心的发行版 Musix 和 Dynebolic 获得了 FSF 的认可,但拥有 100% 自由/自由/开放音乐系统的最新方法是使用核心 Debian 系统或 FSF 认可的 Trisquel 发行版,并将 KXStudio 仓库添加到你的安装中。
JACK
虽然 ALSA 直接与硬件配合使用,但其他音频层管理来自各种程序的所有信号,并将这些信号发送到 ALSA。 有些程序直接支持 ALSA,而另一些程序则与 PulseAudio 或类似 KDE 的 Phonon 系统配合使用,后者与 GStreamer 或 VLC 后端配合使用。 所有这些混乱基本上意味着你的系统设置以不同的方式与不同的程序交互,具体取决于它们对这些框架的支持和交互程度。
主要的音乐专用音频系统称为 JACK。 它提供了一个后端,支持音频(和 MIDI,用于发送合成器控制信号的系统)到任何受支持程序的任意路径。 使用 JACK,合成器输出可以进入混响插件,然后进入录音程序,同时单独的鼓程序播放。 JACK 可以启动和停止来自多个程序的所有播放,其中任何一个程序都可以设置为主时钟。
JACK 遵循 Unix 原则,即使用小型程序来做好一件事或几件事,而不是使用庞大的多合一程序。 当然,这需要严肃的管理工具才能将所有内容整合在一起。 KXStudio 提供了 Cadence GUI 工具套件,许多人在 KXStudio 之外也使用它。 最注重 JACK、遵循 Unix 原则的工具来自 Non 系列的作者 Jon Liles。 它们提供单独的混音器工具、录音工具、音序器和会话管理器。 会话管理器是一种工具,用于记录你在 JACK 中拥有的所有不同设置和连接,并将它们保存为一组,以便你可以关闭并在以后自动重新打开所有这些独立程序,并以相同的方式设置它们。
使用 Cadence 工具设置 JACK 连接
不幸的是,虽然 JACK 和模块化的概念很有意义,但支持水平和工具质量却不一致。 有些组合运行完美且流畅,但有些程序提供不完整的支持,甚至根本不支持。 有些程序支持 JACK,但它们的设计鼓励用户无论如何都在内部完成所有操作。
GNU/Linux 音乐制作的初学者应该尝试理解 JACK 的基本概念。 这将帮助他们理解可用的音乐工具的通用生态系统,无论他们是否选择接受模块化方法。
在我的下一篇文章中,我将重点介绍支持 JACK 但也可以独立使用的程序。
社区支持
Linux Musicians Forum 是入门和参与的最佳场所。 还可以查看 Freenode.net 上的 #opensourcemusicians IRC 频道(当然,许多项目也有自己的频道)。 Linux Audio Wiki 也是一个极好的资源,尽管其中一些内容可能已经过时了。 此外,请查看 libremusicproduction.com 以获取一系列更深入的教程和更多内容。
在实践中,设置你的系统可能需要进行一些故障排除。 例如,在我的特定笔记本电脑上,如果我想使用可靠的低延迟设置(在现场使用合成器或效果器进行演奏时需要快速响应),我需要关闭我的网络并将我的 CPU 设置为性能模式。 尽管存在关于这些主题的优秀指南(其中一些指南是我自己撰写的),但在如此多样化的工具和硬件的复杂 GNU/Linux 世界中,每种情况都各不相同。 我鼓励大家利用热情友好的社区。 没有什么比个人支持更重要的了。 请记住,要懂得回报:在你自己感到舒适后,帮助改进维基并回答后来新来者的问题!
10 条评论