相较于Windows,作为开发者首选的系统之一,Arch Linux有以下难以比拟的优势:
- 运行速度快,内存占用量较小,轻便自在;
- Pacman软件库,应有尽有,安装开发工具轻而易举;
- 安全可靠,不怕病毒;
- 对老电脑、老设备分外友好,十年前的ThinkPad X200照样做主力。
不过,不管是哪个发行版,Linux总有一点比不上Windows和MacOS,就是音乐制作——很少有音频软件厂商能够提供原生支持Linux的音乐制作工具。尤其是Native Instruments这样的业界巨头,只专注于Windows和MacOS,不会为Linux提供任何支持。实在是可叹。
幸运的是,开源的力量是无穷的,既然Linux能普及,总有大佬在填补这方面的空白。各种适用于Linux的音乐制作工具链应运而生,从底层驱动级别的JACK,到对标业界标准插件规范(VST、RTAX、AAX、DX、AU)的LADSPA,甚至完整的DAW——LMMS、Ardour、REAPER for Linux,应有尽有。从此,Linux不再是没有音乐人造访的荒漠。
要把你的Arch Linux打造成音乐工作站,首先要做的就是配置音频服务——JACK。JACK是一套高性能、低延迟的音频服务程序,它基于Linux底层的ALSA,可为音频应用程序提供低延迟的音频回放、录制支持,相当于Windows下的ASIO,以及MacOS下的CoreAudio。
最后修订:2022年7月7日。
安装哪个版本的JACK?
一般的发行版会提供两个版本的JACK:
- JACK1:包名为
jack
,用C语言编写的最初版本:- 只有音频服务功能
- 对系统要求苛刻,需要配置用户权限、realtime权限才能使用
- 独占控制声卡,其他程序无法再播放音频
- JACK2:包名为
jack2
,用C++重写的版本:- 支持DBus协议控制
- 支持将PulseAudio、ALSA重定向到JACK,从而兼顾其他使用这两种音频服务的程序
- 支持重定向ALSA MIDI,使MIDI设备在低延迟、高性能环境下工作
- 无需配置权限即可使用
先给出结论——选择JACK2,不要选择JACK1!
虽然JACK1是最初版本,包括Manjaro、Artix Community在内的多款发行版都有预装,但它并不是开箱即用的。想要使用JACK1,首先要配置realtime权限,然后再把当前用户添加到audio
用户组中,重新登录后再通过QJackCtl这类工具来手工启用JACK服务,非常麻烦。
加之,JACK,和PulseAudio是独占访问声卡的,其中PulseAudio是各大Linux发行版和各种应用首选的音频服务,这就意味着一旦开启JACK,其他应用程序就无法出声,甚至会引起一些无法预料的错误。
相较于此,重写的JACK2则解决了上述两大硬伤。
- 首先,JACK2使用了全新的架构,默认情况下无需依赖realtime权限和
audio
用户组即可运行,和PulseAudio一样都能直接运行于用户空间(区别于root权限下的系统服务)。 - 其次,开发者设计了一套“桥接(Bridging)”机制,能将来自其他接口(ALSA、PulseAudio等)的音频、MIDI等数据重定向到JACK里来,从而使用其他音频接口的程序仍能正常使用。例如,PulseAudio的桥接,可以保证其他使用了PulseAudio的应用程序仍能出声,听歌做歌两不误。
显然,首选的JACK版本非JACK2莫属。
安装JACK2
首先安装JACK2,以及JACK2的音频控制面板Cadence。Cadence是一款优雅的JACK2控制面板,功能全面。
1 |
|
接着,安装用于桥接JACK2与其他音频接口的软件包,根据自己的需要选择。建议至少安装pulseaudio-jack
:
1 |
|
然后,将当前用户添加到audio
用户组中。这不是强制要求,但该步骤似乎也与桥接功能有关,建议一并完成:
1 |
|
最后,重启电脑,使上述所有修改生效。若不重启则无法使用桥接功能。
启动JACK2
接下来,JACK2的管理均由Cadence完成,无需使用命令行。首先打开Cadence:

图1 Cadence主界面
然后点击 【JACK Status】 部分的 【Start】 ,启动JACK服务。若启动成功,则该部分会显示以下内容,表示JACK2启动成功,并给出当前的运行参数。

图2 JACK启动成功后,Cadence显示的状态
启动成功后,PulseAudio到JACK的桥接功能也会自动启用。打开PulseAudio桥接后,系统会多出一个音频设备,为“PulseAudio JACK sink”,是把PulseAudio重定向到JACK的设备,选择它即可让原先使用PulseAudio播放音频的程序都通过JACK来输出音频。
若不需要PulseAudio桥接,可以在Cadence下方的_【JACK Bridges】的【PulseAudio】_选项卡内手动开关这个功能。

图3 启动JACK2后,KDE音量控制里多出的音频设备
提示:
- 可以勾选【Auto-start JACK or LADISH at login】,设置Cadence与JACK2服务的自启动。
- 桥接启用后,原有声卡设备的音量控制仍然起作用,用于控制输出的主音量。(例如,图3上方的“ Speakers(内置音频 模拟立体声) ”。)
设置输出设备
默认地,Cadence会把输出设备设置为Dummy(空设备),会导致无法出声。因此要手动设置音频设备。
在Cadence主界面里,点击 【JACK Status】 部分的 【Configure】 ,进入JACK设置,然后点选 【Drivers】 选项卡。
左边【Drivers】一栏有五种输出设备:ALSA(调用本地声卡)、Dummy(空设备)、Loopback(回环)、Net/NetOne(网络源)。点选ALSA,以使用我们的声卡。其余选项不常用。

图4 设置Cadence输出设备
此时右边就会显示出可用的设置项。
看到 【Device】 部分 ,设置输出设备。注意下面几个设置项,按下表设置好:
设置项 | 说明 | 取值 |
---|---|---|
Device/Interface | 选择要给JACK使用的设备,包含输入、输出 | hw:0 指向默认的声卡设备 |
Input Device Output Device |
单独设置输入、输出设备 只有在Duplex Mode勾选后才能设置 |
hw:0 指向默认设备的默认接口 |
Duplex Mode | 勾选后,可以分别设置输入/输出设备 否则全部使用Device/Interface中的设备 |
|
Input Channels Output Channels |
输入、输出通道数 | 默认值为0 ,会自动指向该设备支持的最大通道数 |
然后看到 _【Properties】_部分 ,设置以下两个参数:
设置项 | 说明 | 取值 |
---|---|---|
Sample Rate | 采样率 | 一般音乐制作用44100 或48000 即可要求更高音质则可用 96000 或192000 ,但声卡不一定能支持。 |
Buffer Size | 缓冲区大小 | 取值越小,延迟越低,但在集成声卡上可能会导致爆音。 一般设置成 256~512 ,一般的集成声卡和独立声卡都能兼顾延迟和音质 |
其他参数保持默认值即可。
设置完成后确认,先后点击 _ 【Stop】_ 和_【Start】_,重启JACK,即可生效。
下集继续……
接下来,我会讲解如何设置WineASIO,让你能畅快地通过Wine来运行Windows下支持ASIO的音频软件。
传送门——把Arch Linux打造成音乐工作站(二):安装WineASIO
- 本文作者: 爱拼安小匠
- 本文链接: https://anclark.github.io/2020/12/08/Linux_Audio_Production/Make_Your_ArchLinux_An_Audio_Workstation_01/
- 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-ND 3.0(署名-非商用-禁止演绎 3.0) 许可协议。转载请注明出处!