音频应用

 找回密码
 快速注册

QQ登录

只需一步,快速开始

查看: 46577|回复: 3
收起左侧

[后期] Arch Linux 打造成音乐工作站的几条经验

[复制链接]

225

积分

2

听众

64

音贝

音频应用

Rank: 1

积分
225
发表于 2021-2-21 17:51:57 | 显示全部楼层 |阅读模式
Arch Linux 打造成音乐工作站的几条经验
, D* e0 t$ v5 E# f& ]" X- }作为程序员+音乐人二合一,我的系统环境横跨Windows和Arch Linux。原本Arch Linux只用来做开发,但这么强大的系统,我总觉得它还有无限的可能性还没有发掘出来,比如,做音乐。
2 v. V- Z, w. q" _) J
' L; }) i- ^. Q. i" Y( Q  s相较于Windows,作为开发者首选的系统之一,Arch Linux有以下难以比拟的优势:
/ ]# ]' `5 T8 e5 Z1 f& g
( H& M8 }! X3 G运行速度快,内存占用量较小,轻便自在;# J* Z9 X# D2 A. L
Pacman软件库,应有尽有,安装开发工具轻而易举;
( S; p7 E# I0 [2 R6 A3 w# {安全可靠,不怕病毒;6 G! M% X3 h3 S. n2 y1 G0 ]: r, X
对老电脑、老设备分外友好,十年前的ThinkPad X200照样做主力。0 b; d# _) {% y9 K7 A
不过,不管是哪个发行版,Linux总有一点比不上Windows和MacOS,就是音乐制作——很少有音频软件厂商能够提供原生支持Linux的音乐制作工具。尤其是Native Instruments这样的业界巨头,只专注于Windows和MacOS,不会为Linux提供任何支持。实在是可叹。' K. O9 d4 f' i" A8 B* Y6 m
1317_1613898821_thumb.jpg
0 y8 M! g- b' v: A幸运的是,开源的力量是无穷的,既然Linux能普及,总有大佬在填补这方面的空白。各种适用于Linux的音乐制作工具链应运而生,从底层驱动级别的JACK,到对标业界标准插件规范(VST、RTAX、AAX、DX、AU)的LADSPA,甚至完整的DAW——LMMS、Ardour、REAPER for Linux,应有尽有。从此,Linux不再是没有音乐人造访的荒漠。
, m7 N  O% i$ V4 E! M, h4 J) l
5 c/ g  I  D  C+ V% Y! X- `- t/ P* X0 h$ E
Linux作为音乐制作环境的必备要求# g! W$ f) c6 E' `% o6 V- {
要想把Linux打造成音乐工作站,需要进行以下方面的配置:
2 U6 s1 R" z( p0 T( d
% Z8 U* i9 W7 C8 M! S配置好低延迟的音频接口——JACK。6 q/ h/ l. h0 E# W
安装必要的音乐制作软件。
; w3 {% c- H+ w' M; X( W$ a  E安装兼容环境——Wine、LinVST,用来使用Windows下的VST插件。2 L  J2 \! Y& l* _4 V8 N; e
: Z5 g9 j, I& b! q  A
第一:安装与配置JACK* J: h" `' v. e/ H; g; z5 J1 Q
要把你的Arch Linux打造成音乐工作站,首先要做的就是配置音频服务——JACK。JACK是一套高性能、低延迟的音频服务程序,它基于Linux底层的ALSA,可为音频应用程序提供低延迟的音频回放、录制支持,相当于Windows下的ASIO,以及MacOS下的CoreAudio。
& ^' o: q* _5 d. V4 @; F% A$ @/ m! D. o+ g9 a- B
安装哪个版本的JACK?
' X9 `4 L9 r% M, q  F/ Y* r* P3 u6 F1 o. u9 c" l) j7 `
一般的发行版会提供两个版本的JACK:% H0 z% T% G! P5 t) r. c2 R6 f

0 g; c6 Y/ U* pJACK1:包名为jack,用C语言编写的最初版本:2 g, p' O( h; t; c6 L  t9 ~
只有音频服务功能: ]& n+ D6 V0 y- L# h$ |
对系统要求苛刻,需要配置用户权限、realtime权限才能使用
, E! G: j5 M+ a& ^1 q. t, H独占控制声卡,其他程序无法再播放音频
+ u. k" w* T; T& `6 iJACK2:包名为jack2,用C++重写的版本:
8 ~+ c1 s8 @1 v0 o, Q+ n支持DBus协议控制9 [) \- J# ~( v9 M  }, A
支持将PulseAudio、ALSA重定向到JACK,从而兼顾其他使用这两种音频服务的程序
" x1 R. ]! V8 e5 U+ p无需配置权限即可使用
. |! `# [8 ]" `; G先给出结论——选择JACK2,不要选择JACK1!
; `* Q5 n' J+ }; _1 s6 Z. c虽然JACK1是最初版本,包括Manjaro、Artix Community在内的多款发行版都有预装,但它并不是开箱即用的。想要使用JACK1,首先要配置realtime权限,然后再把当前用户添加到audio用户组中,重新登录后再通过QJackCtl这类工具来手工启用JACK服务,非常麻烦。# ^, [+ n4 A2 f% p# |8 I; p$ y9 c
7 t% F" R  |( e+ U! ~
加之,JACK,和PulseAudio是独占访问声卡的,其中PulseAudio是各大Linux发行版和各种应用首选的音频服务,这就意味着一旦开启JACK,其他应用程序就无法出声,甚至会引起一些无法预料的错误。
* b) ^! T% b' {% g0 A) `
! M2 ~2 C9 u; X8 m& p相较于此,重写的JACK2则解决了上述两大硬伤。首先,JACK2使用了全新的架构,默认情况下无需依赖realtime权限和audio用户组即可运行,和PulseAudio一样都能直接运行于用户空间(区别于root权限下的系统服务)。其次,开发者设计了一套“桥接(Bridging)”机制,能够把ALSA和PulseAudio重定向到JACK里来,从而保证其他使用了PulseAudio的应用程序仍能正常使用,听歌做歌两不误。/ t: k3 ^+ @) {1 x/ y1 r
# w+ K' Y$ ~* G
显然,首选的JACK版本非JACK2莫属。
, ^* |* n8 I3 @7 j: G$ f$ a
& _# t- p* M! v2 i安装与启动JACK2
2 h: y3 ?2 u( c, b- ]9 c
  a% i, D# t; j/ j5 O首先安装JACK2,以及JACK2的音频控制面板Cadence:& _6 K8 O) I( A

/ Z* v, X4 {1 h) asudo pacman -Ss jack2 cadence$ p  g& r8 l8 s1 u) ~
4 _3 [3 q; V- W* U# M5 {& ^) {5 ?7 F# N
Cadence是一款优雅的JACK2控制面板,功能全面。首先打开它:
$ ]9 }7 J( S& w1 O1 E 7588_1612847001_thumb.png
7 k' E  X* j" K* M  \! f; b+ `, Y2 g5 m7 Q& M+ I* q
图1 Cadence主界面
( d( c$ M9 b/ R
% o/ v& `, \6 G2 @7 [9 I# h然后点击【JACK Status】部分的【Start】,启动JACK服务。若启动成功,则该部分会显示以下内容,表示JACK2启动成功,并给出当前的运行参数。
8 X$ N0 W! o. Q& W; n! d
! M! k1 @' E1 u) S$ e, j 4620_1612847017_thumb.png
: |, q2 c, E  x0 O+ J: v图2 JACK启动成功后,Cadence显示的状态$ G" W7 J! _* L7 M% B' R- s

* k; A" k0 m  F: i6 g6 \4 S启动成功后,PulseAudio到JACK的桥接功能也会自动启用。打开PulseAudio桥接后,系统会多出一个音频设备,为“PulseAudio JACK sink”,是把PulseAudio重定向到JACK的设备,选择它即可让原先使用PulseAudio播放音频的程序都通过JACK来输出音频。
1 a9 t6 R9 @$ Z8 t- I3 O; g" c& _9 C) _! G
若不需要PulseAudio桥接,可以在Cadence下方的【JACK Bridges】的【PulseAudio】选项卡内手动开关这个功能。' S& T. f* P) C! ]

8 `; Y* H! A" Z% }1 }* ]) g3 a" {% z. } 5494_1612847038_thumb.png 0 N! I7 H# p( i. J) y& {: v. g
图3 启动JACK2后,KDE音量控制里多出的音频设备' s& l4 U$ T: D1 D" V' f* Q
4 _+ }& {0 o5 T  Z/ U
提示:
% J$ t  Q) L9 q. @. A0 t4 x) f/ \% K5 H. F' b- M( o/ t
可以勾选【Auto-start JACK or LADISH at login】,设置Cadence与JACK2服务的自启动。; S$ y# d$ V7 C1 }
桥接启用后,原有声卡设备(见图3上方)的音量控制仍然起作用,用于控制输出的主音量。
欢迎厂家入驻,推文!免费!微信:yinpinyingyong

225

积分

2

听众

64

音贝

音频应用

Rank: 1

积分
225
 楼主| 发表于 2021-2-21 18:22:45 | 显示全部楼层

2 A/ p& C% R# ?7 c! W9 l; {设置输出设备, D5 s) c  }6 b) t5 y) A3 r
! J5 x. X8 c& J) Y: K  T: _+ m* Y) ^( {
默认地,Cadence会把输出设备设置为Dummy(空设备),会导致无法出声。因此要手动设置音频设备。
  `2 A% U" o) C$ O
) ?9 I( I% d! t; M在Cadence主界面里,点击【JACK Status】部分的【Configure】,进入JACK设置,然后点选【Drivers】选项卡。1 e7 E% K5 e1 u' h

. e" A) U8 D% {' h左边【Drivers】一栏有五种输出设备:ALSA(调用本地声卡)、Dummy(空设备)、Loopback(回环)、Net/NetOne(网络源)。点选ALSA,以使用我们的声卡。其余选项不常用。4 B7 O' |" n( Q4 K" x6 O6 [$ _
4363_1612847081_thumb.png : P8 z! ?- \1 @; b5 h
图4 设置Cadence输出设备6 T8 r1 u& G% H7 y" C9 `* K

0 \+ j$ H" F. Y6 P$ ?7 [+ F: X. Z: x此时右边就会显示出可用的设置项。) W, g( U* A) O& h" q
! ^# f; T: g5 z* g& x) {# n
看到【Device】部分,设置输出设备。注意下面几个设置项,按下表设置好:' Y; V. o4 ~4 q8 R' A8 T; M7 q

- P" D! s" \( Z# o

3 q2 P4 S; ~4 w" G0 B/ i" ?$ d3 ?设置项
说明
取值
Device/Interface
选择要给JACK使用的设备,包含输入、输出
hw:0指向默认的声卡设备
Input Device5 i& P0 w' q% F! o8 y  L0 a
Output Device
单独设置输入、输出设备
" R4 [& `* x0 N只有在Duplex Mode勾选后才能设置
hw:0指向默认设备的默认接口
Duplex Mode
勾选后,可以分别设置输入/输出设备
1 w: {( \. u9 {否则全部使用Device/Interface中的设备
0 F( r" d2 d- H  ]* ]' d
Input Channels5 Z. [' v9 \& @3 `* s
Output Channels
输入、输出通道数
默认值为0,会自动指向该设备支持的最大通道数

$ ^7 [1 k/ v4 c然后看到【Properties】部分,设置以下两个参数:
. a7 E4 E. W% u9 }* C( }4 ?
( q8 y0 ?" K* n: b4 R, S; `
, L5 m9 }9 w- c7 k
设置项
说明
取值
Sample Rate
采样率
一般音乐制作用44100或48000即可
0 S4 w$ `+ W3 |% g5 m要求音质则可用96000或192000,但声卡不一定能支持。
Buffer Size
缓冲区大小
取值越小,延迟越低,但在集成声卡上可能会导致爆音。
+ U, n5 B5 ^6 W7 y; ~. @/ T一般设置成256~512,一般的集成声卡和独立声卡都能兼顾延迟和音质

: q  g* u! c$ C3 w* X
+ O0 j+ w$ j; I1 E. I& a  P3 g+ g* b& Z
) |4 i7 D5 f7 l+ e
其他参数保持默认值即可。. C' U0 \% F1 U0 D2 y5 u

( j; ?* L$ F) j& F, U6 u: k9 O" _; f! |设置完成后确认,先后点击【Stop】和【Start】,重启JACK,即可生效。
% q5 t" G& t8 v/ w! U/ U4 E8 F) O$ U& J
4 I! ^! A3 B" Y4 t
第二:安装Linux下的DAW
  ]; H! ^+ m8 K5 g6 o0 zLinux下的主流DAW软件不多,几大商业DAW大厂(如Steinberg、AVID、Ableton)基本没有适配Linux的计划。但一些优秀的开发团队推出了适用于Linux的自由软件DAW,比如:5 w* ]5 b2 x  L, n& H
+ D# F9 [: I' i- t, l7 @6 q0 ?: O
Ardour:偏重于混音和后期的DAW,适合处理乐队、Vocal录音。调音台大厂Harrison的MixBus就是基于Ardour开发的。
0 W- l# a' t2 e8 lLMMS:完成度较高的全功能DAW,拥有钢琴窗,适合MIDI编曲。它自带大量的效果器,以及一些模拟游戏机的音源,开箱即用。
1 P) |5 L( ]0 F; H9 [/ l: RMixxx:开源的DJ工作站,严格来说不是DAW,专为现场Live打造。6 b7 E. k; L5 I
以上软件皆可直接从Arch Linux的官方源安装。因篇幅限制,这里不介绍软件的用法,读者可自己体验。
3 R1 X+ K4 O1 i% O$ M: M
0 D) n3 ~: c" v) w9 F  Ysudo pacman -S ardour4 v% m! c, h* U( M
sudo pacman -S lmms  C2 ?* ~; v3 V8 M1 s9 D" x
sudo pacman -S mixxx7 d; K$ V# v: v2 T4 A& [) f0 R! N/ P4 q. v
作者使用的是强悍的商业DAW——REAPER。有别于其他大厂,它提供了官方的Linux版本,能直接使用专为Linux开发的VST插件;且其Windows版本也可以借助兼容层Wine,在Linux下运行。5 r- U3 @0 z/ N5 }: T+ s

* L/ ~) a0 b. d* G9 H
2 g6 b1 ~: g/ X& K6 J第三:安装原生效果器插件+ |! H8 M( o4 e; u
除了DAW,一些优秀的开发者也推出了同属自由软件的效果器插件,涵盖LV2、LADSPA与VST等几大格式,满足Linux下音乐人的使用。它们同样可以在Arch Linux下运行。这里先介绍两款插件:
) E  F+ ^! b1 _( l5 V7 z7 L, q! S1 _+ {: x7 a+ o3 M& `
LSP Plugins
  b; c  [5 @- N1 Y( C( R
" k+ g% A* Y6 |3 v! M- Z8 R全名Linux Studio Project Plugins,是一套专为Linux打造的效果器插件,旨在填补Linux下缺少优质插件的空白。它囊括了混音所需的一系列效果器,包括压缩器、延迟效果器、图形均衡器、多段均衡器(类似于Fabfilter Pro-Q),甚至扩展器(Expander)、频段压缩器、侧链压缩器这样的高级玩法。部分插件还提供动态的频谱图显示,清晰直观。6 w/ }, g+ ^9 W- \% ]
$ y7 {# E1 p- q/ u, k" e, a
比如,下图所示的压缩器Dynamic Processor Stereo:
( Q6 @6 S/ u; q% {, h& l7 Q* z 5931_1612847184_thumb.png 0 t- p& T8 d1 q
Dynamikprozessor Stereo
0 }5 ?, I! E2 s+ c6 K
% M6 b4 Y$ P7 H: k" I) a& j以及多段侧链压缩器Sidechain Multiband Compressor Stereo x8:
, r& R) f& F, r- u% J3 D 5265_1612847154_thumb.png ) Y6 N# N) y; o2 w' p
Sidechain Multi-band Kompressor Stereo x80 I2 e6 F/ @  u8 U
5 `2 h7 ~2 P5 ]
在Arch Linux中,直接安装即可。
% X) B6 N% A* L; d
# v- k3 g8 ?; F. p; y5 f  rsudo pacman -S lsp-plugins' x) Z* ]9 k3 x6 U* l
! b9 F# P) q6 }5 d) L5 R- g
Dragonfly Reverb5 a5 v$ b7 X: G4 P" V6 J4 t

6 d( q0 l& B% X* p这是一款非常高质量的混响工具,与商业DAW自带的不相上下,用彼此独立的几款插件来实现大厅(Hall)、房间(Room)、板式(Plate)混响,并提供一个反射效果插件(Reflections)。
/ y4 m- N2 C# h: }% J/ ?; J  ?+ [, m
4834_1612847212_thumb.png $ ~3 o0 Y- s# D8 w
它也可以直接安装:, z+ ]. |6 ?; h5 k5 V9 t+ }. r
3 a# o" b2 ]2 W2 l5 m& i8 J2 C6 F, L5 N
sudo pacman -S lsp-plugins" @# o& L4 i" i4 H
' Y' ]- D* K) O. q5 M0 G
插件的安装目录
0 Y( b; |9 v6 O, H" r2 o( S6 H" \
; s- e. Z9 ~9 _1 _- s7 e- q  fArch Linux下,通过Pacman安装的插件如果提供VST版本,一般都会放在/usr/lib/vst下。把它添加到支持VST的DAW VST扫描目录中(如REAPER For Linux)。8 q9 j6 [* g, l% Z0 H7 P/ Q3 N% [/ g

7 t7 Q6 b& T+ F% [: I1 {8 O! Q9 k7 D- T
第四:使用Windows下的VST插件& N/ Y' t$ r/ _
我在上文里提到,目前主流的商业音频软件厂商,只会把精力集中在Windows和MacOS,往往直接忽略Linux。这就使得计算机音乐制作领域的大半壁江山都不属于Linux。好在,Wine的发展,使部分Windows专属的VST插件得以在Linux下运行,一定程度上弥补了这一缺憾。) k% p( }. Y! X" ~
- E* |7 ^8 Y: [$ ~
接下来就介绍如何在Linux下,给DAW装配上VST插件。
7 f; {$ ^# |  ~7 I) E: R* u
; Y3 E) @6 Z; e9 _1 e4 ZWine的安装和初始化
' w  Q- W+ C  e* R3 I  \7 x0 r4 x4 U& Z% {& G% S1 B( G
Wine是专为Linux和MacOS开发的兼容层,让你能在Linux下运行Windows下的程序。
5 e! N( |2 e# m, k/ u
. e( `: |: P4 C在Arch Linux下,要想安装Wine,首先须开启multilib源,这个源默认情况下是不启用的。0 R9 ^8 v  }4 T( r7 X

& b7 D& S3 f( i4 x3 Vsudo打开Pacman的配置文件/etc/pacman.conf,然后取消注释以下两行,保存:
4 v8 w4 y; G7 @* s6 ]5 _! p& ^5 W$ z1 u" @! h8 [3 d5 n
[multilib]4 f. B+ H; s+ D2 F* Q, @* n
Include = /etc/pacman.d/mirrorlist
- V! \* [; @1 _* z8 e9 O) c. ^( M
8 i# L# z$ [' l5 {$ }注意:上方还有一个multilib-testing,收录测试中的软件,可能不稳定,一般不启用。
6 t/ v- G9 p  W, q, Y5 R" b8 U: Y4 c1 o+ M0 x1 v
更新软件源,然后安装Wine。下方的wine-mono和wine-gecko分别为.NET运行时、浏览器内核,为可选组件,但最好装上以免Wine在初始化时提示安装:
2 N0 y2 Z$ ]7 e9 e* y
& ^2 X1 C- f* Dsudo pacman -Syy6 v7 {& w; k) ^8 }
sudo pacman -S wine wine-mono wine-gecko* S. A% c2 _2 s( Q" c' U5 W# c

; a2 m, X) c9 a& B安装时可能需要选择用哪个版本的libfreetype,保持默认值就好。
! ?" M2 G* ^+ @
0 q/ @1 A- k* k9 T* ]: m' M/ z5 Q安装完成后初始化,运行任意一个Windows应用程序,或是运行winecfg(Wine的配置工具),即可启动Wine,它会帮我们创建一个默认的“前缀(Prefix)”。这里的“前缀”是Windows程序的运行环境,相当于一个个沙盒,每个前缀彼此独立。; T  [* b+ z. v2 l
欢迎厂家入驻,推文!免费!微信:yinpinyingyong

225

积分

2

听众

64

音贝

音频应用

Rank: 1

积分
225
 楼主| 发表于 2021-2-21 18:23:44 | 显示全部楼层
6 L+ g5 U4 F' Z* y6 ^5 A4 [# ~: p) t, n
使用VST插件的方案
8 t1 d6 r0 U# E& t3 f* N& S( C: v
) H3 }+ S1 q! o/ y6 ?8 q8 BLinux下的原生DAW,主要有两种支持Windows版VST插件的方案:( F( Y7 S- T7 n. Q. O4 d

! E; V7 d0 f; I# A9 r/ ]使用基于Wine的桥接器,将Windows版VST插件转换成原生的Linux VST插件,如LinVST
$ c2 ^- V; X. e5 \0 B. L7 `2 K6 j原理是构建一个原生VST格式的wrapper,宿主在加载wrapper后会自动调用桥接器的host服务端,从而利用Wine加载VST本体。
! D4 y7 L7 `; g/ T2 ?% W通用的方案,只要DAW支持原生VST,就可以用。
. c0 A) ?1 R% f$ n3 L8 \内建桥接器,即采用自己编写的桥接器,如LMMS中的VeSTige
9 h' x7 s- X3 F9 S1 Q6 h只有少数的DAW有这个功能。
' V* G: L$ u! c' I; A9 i另外,还可以直接使用Wine来运行Windows版的DAW,它会像在Windows里那样加载VST。它基本不需任何其他配置,但不具备普适性,不能保证所有的DAW都能正常运行。目前兼容性好的只有REAPER。% F0 m3 E6 i$ L) D. i' G
! k1 ^* S" u  P0 j/ G! Z
方案一:内建桥接器
* s: ?/ O( R: \# h
- o* ]: @( l: l+ M1 f7 |以LMMS为例,它附带了专门的桥接器VeSTige,可以直接像在Windows那样,加载*.dll为扩展名的VST插件。  W: F) F* y3 s
  A& h7 E7 D+ u3 r6 A
4110_1612847300_thumb.png 0 X) ~6 E. }3 }% i7 L2 f
2 B6 E9 r# U& D" _
操作步骤如下:
1 _1 t9 ^0 k5 q7 j6 v' K4 i* z8 f9 y3 s8 o* z  g
点击左侧的Instrument Plugins(音频插件);
/ b" U. v3 Y5 z% A4 K& H0 }插件列表出现,在下方找到VeSTige,拖到音轨视图里;! s4 V1 K$ U+ Y# y5 c% [
点击音轨视图里的VeSTige图标,打开插件界面;$ ~9 m4 x! y1 t4 s
在插件界面中点击“打开”按钮,定位到VST插件目录,打开它;
7 l: F) p) g3 L+ R6 n可以点击“Show/hide GUI”按钮来显示或隐藏VST插件的界面。
. [/ t- m( ~* x; ^* |能否加载成功,仍然因系统环境和Wine的版本而异。如果无法加载,则使用htop,把RemoteVSTHost.exe这个进程结束,以免占用过多处理器资源。
8 b8 T; o- G+ E4 s- I3 D6 O( }
; H/ C! q- g' l8 R: O) _方案二:使用LinVST+ F3 p7 s5 h$ G2 Y
  _+ Z( A9 T- ?- V: \
LinVST是由OSXMidi开发的桥接器。类似于Windows下的jBridge,用户通过它提供的转换工具,创建一个原生VST插件,作为Windows版VST插件的wrapper,接下来只需在宿主中加载即可。
: M: O: ^: U* D) z
/ R& S$ r" t6 e1 M) M它同时支持VST2和VST3,分别对应两个独立的项目:LinVST2、LinVST3。它们各自还拥有一个增强版本——LinVST-X和LinVST3-X,允许一个VST插件实例被共享,起到节省资源的目的(例如把一个Kontakt实例用在多个音轨上)。
2 u9 o4 c! y7 U- R! B. q2 {: e+ c- V& M3 s+ i/ e5 R7 }
Arch Linux的官方源没有收录LinVST,须通过AUR安装。笔者用的是yay。$ b( M9 b$ Z+ f
4 @: X7 A. O4 z3 J, U
0. 安装yay: U: W. G, ?$ ~8 _) G
2 i% L( G6 _( K2 v
初次听说AUR和yay的读者,可以先添加Arch Linux CN源。同样是编辑/etc/pacman.d,在结尾添加:3 V. |4 ?! _! [0 h' O/ E) p4 L0 T

+ f. s; g1 f0 J[archlinuxcn]8 @- R. g  H, Y* U
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch
! J7 m  \1 w( ?; R' R8 C* X' \
9 ^1 R/ ]: C2 }9 O5 X然后安装密钥包,以及yay本体:
4 t- R% J  @5 O
+ L4 ^; d) @7 osudo pacman -S archlinuxcn-keyring yay
( D9 }7 c  [; l$ y, F$ f; C. r0 I# y4 y& c! G
1. 安装LinVST本体
& A8 _. T# }2 ]7 p5 A7 K2 p; L
% ?3 O; [2 n, Z首先安装LinVST。AUR的包分为源码包和二进制包,后者开箱即用,前者则需编译。建议选择二进制包。
6 B* @& K# g$ y( x& U- E# 源码包
4 ]5 a" ?0 a9 s4 V3 Hyay -S linvst linvst3
8 I" \( {) M! p8 M: g  g0 i# 二进制包
/ o4 t/ z% A) z# vyay -S linvst-bin linvst3-bin% w- m9 }- |$ h3 V2 a1 e
- e, B6 ^+ t3 B6 ]. ?, ?
如果需要增强版本,则安装:
0 ?, f; ?! U/ M- @3 m8 u6 C' _: G( D; ]
yay -S linvst-x-bin linvst3-x-bin+ F1 {& V7 Z4 K# t; @
9 f% {+ f( z+ R% ^3 X7 g
注意:采用源码版编译会有两个问题:
" \  x8 O% y! X$ d7 i) G6 I! `" ~3 n% \; I
只有linvst能编译,linvst3会在编译附加组件ArchStudioUtils时出错。6 g* u" B3 [7 u+ S& `* V4 G
生成wrapper必不可少的linvstconvert没有编译。用户必须手动进入源码的convert/目录来编译才行。
- o+ v3 w8 i9 q: C* ~2. 如果出现错误:“一个或多个文件没有通过有效性检查!”
& `: C& m! f! t5 R9 Z2 W9 p8 |) ~" E4 G9 j1 ?
但是,由于LinVST的二进制包更新与AUR PKGBUILD的MD5值不同步,会出现能下载成功,却通不过有效性检查的情况。这时要手工修改PKGBUILD文件,去掉有效性检查的部分。& j, }, L  S, S+ ?3 `8 C& t
- s! O% O: K* P' k
首先进入linvst-bin包的yay缓存目录:
, s  V* u: l, p+ a( y& A& T0 [0 t3 |9 C1 f) [8 a5 b8 A
cd ~/.cache/yay/linvst-bin/0 Y: }; \4 a7 {  ?0 g; ]% ]& f3 c

2 i! q+ C. F  |. w$ [# O/ M然后修改PKGBUILD文件,更改md5sums=(xxxxx)一行,把括号里的字符串值改为SKIP,表示“跳过有效性检查”。注意大小写:
* M8 w  h1 }2 p  q1 `9 q% x" a3 ~% K7 l" w3 E( w
# 修改前,字符串值为MD5校验和- \7 H' H0 O; S2 [+ c2 o4 R
md5sums=(68b329da9893e34099c7d8ad5cb9c940); O& W; C) R4 E8 x3 y8 K

6 r2 D. _  P2 `7 ~# 修改后,字符串值为SKIP, ]: W- u! I- M: g0 B8 i
md5sums=(SKIP)# y4 Q& c# N9 w% R9 f- E! v# h, c, }
/ I( ~+ i1 N7 d! X
保存后,运行makepkg,生成安装包:- n7 f( ^% Z0 M- \# w

2 J$ I, {+ l4 v6 [makepkg
. k' D' k0 X. Q  W- ?9 \- j0 D  K) F% P" m1 s: l
生成好的安装包位于当前目录,文件名为linvst-bin-x.y-z-x86_64.pkg.tar.zst(x,y,z为版本号)。可以直接安装:% U( B$ `+ J  E, _

) Q1 v; L% y! Q2 h# c1 Jsudo pacman -U linvst-bin-x.y-z-x86_64.pkg.tar.zst
1 M7 a6 }$ \" \& S$ `
; O5 o  L- q9 _: m7 o用同样的方法,制作并安装其他几个二进制包。
5 |: d# K7 t* M$ _( m/ ]) O$ D: t9 y4 ]
3. 生成wrapper
2 a* H' ~9 L: h* w$ N' o8 ]
% G: g1 i5 A: d2 S& }( B% bLinVST用于生成wrapper的工具有以下几种,它们界面大体相同,须从终端运行:  Y+ }6 Y, G( S& r7 e

! |4 n4 z6 i/ olinvstconvert、linvstxconvert、linvst3convert、linvst3xconvert:指定一个文件夹,然后由其中的VST插件生成对应的wrapper。9 X2 G6 b5 H( O( b
以上工具加上tree作为后缀:递归寻找子目录下的所有VST插件,为其生成wrapper。) M5 B" C# O9 d3 T( y# c) q% c6 o
如果所有的VST插件都在一个文件夹里,则选前一类;而如果位于若干个子目录里(比如部分VST插件带有附属的文件,要与插件本体放在单独目录中),则选后一类。, T# ^' T& h4 g5 k4 o+ @
2 m- Y; H- v3 j- z
运行后,出现这个界面:
0 u5 @+ F" X: K% \
4 B5 p: Z- }# k! I1 X' g 9404_1612847445_thumb.png , n8 y2 u- X( T/ N, O

( y2 q8 a3 I0 R: [; t( b; E首先把你的Windows VST插件统一放到一个目录中,建议~/.vst(VST2)和~/.vst3(VST3)。
: q9 P( D% R7 Q; m, N/ x在生成工具界面中,选择LinVST库。点击【Choose linvst.so】,在文件对话框中定位到/usr/share/LinVst,选择linvst.so。其他几个VST3和增强版的库文件也在该文件夹中,如果是linvst3convert,则选择linvst3.so,以此类推。  R* M5 Y$ d3 W& u: s4 T; e
然后通过下方的【Choose dll folder】,选择Windows VST DLL所在的文件夹。(如果是linvst3convert,则界面是【Choose VST3 folder】,选择*.vst3所在文件夹)。; |  N0 [# O0 r0 M, p
点击【Start】生成,随后VST插件目录下就会出现与插件同名的*.so文件,即原生VST wrapper。
! k6 c  u1 E, p5 u8 n最后把插件目录添加到DAW中即可。实测,REAPER for Linux完美支持。
& H3 S- g' N( K% Y  s/ D注意:
- @3 n: S. ^- O# x( ^9 g4 p2 j' T0 `( a( k
VST插件和生成的*.so文件必须在同一目录下,否则LinVST会提示找不到插件。
/ t  _6 }: F( c4 z$ V: x" pWine的兼容性
: }( W; y: }* ~# X0 j
  Z4 z' ], M6 Z! \Wine是一个持续开发的项目,这是由Windows的复杂度决定的,开发团队不可能在短期内适配真实Windows下的所有特性,并保持其稳定性。因此并不是所有的程序都能完美运行,包括VST插件,测试中程序挂掉、出现Bug,在所难免。; |$ n8 l# j2 N

" L, r  a- w( ?2 U- |幸运的是,有些开发者会考虑到Linux的生态,会优化自己的应用程序,使其能完美地运行于Wine。REAPER就是一个很好的例子,它的Windows版本可以直接在Wine中安装。之前REAPER并未推出原生的Linux版本,官方特别在下载页中提到,“Windows版本可在Wine下运行良好(For Linux users, the Windows version works well with WINE.)”,便利了Linux用户,也实现了开疆拓土。
3 d  T9 L/ J! y( M5 A! R% j& A7 Q& J6 {9 B8 A
即便如此,REAPER仍属于少数。大部分的应用仍需自行去测试,检验其在Wine下的兼容性,以及事后会不会出Bug。
/ F1 B2 L) L) C0 ]8 G( @- W" e( D6 N9 C8 D3 k
我所做的测试9 t4 z2 g6 V$ m$ I( G. a

5 V2 y: d: Q, G! S1 a/ `9 \  m. SKontakt Player:我用Wine下的REAPER for Windows测试,它可以在REAPER中正常加载并播放NKI采样,表现与Windows下一致。不过,如果在REAPER中就地重新加载(选择“更改当前VST效果”后重新选择Kontakt),则会导致长时间卡住,可见并不完美。9 G3 w, G% n; V+ q' T4 \
Synth1:一款免费、强悍的合成器插件。4 l: [. p) k% r0 R; I
在LMMS下尝试用VeSTige打开,但没能启动成功。相反LMMS自带的VST宿主程序(RemoteVSTHost.exe)还卡在后台占用CPU,只能手动结束。
2 S9 C/ X& b1 B/ k3 U移师REAPER for Linux,借助LinVST,顺利运行,体验与Windows别无二致。
' I/ e' O7 S2 z# n. h6 y. x% j
: X; ^9 @7 }3 H. W# K3 a( @后记9 g* {8 T% w+ ?" j
以上是作者在Arch Linux下试玩音乐制作软件的体会,发掘了Linux的别样用法。由于厂商适配策略的不同,并不能保证Linux一定能拥有不输于Windows和MacOS的体验,但当下的Linux至少不存在这方面的空白。" o, h( [0 L% k0 w6 l) Q) X9 G
0 u3 u' \$ V1 H- C: n( m* L3 G
不过,在Linux下制作音乐尚有明显的局限性,体现在诸多商业软件缺少对Linux的支持。作者曾经在自己的惠普笔记本上安装Arch Linux,配置好REAPER和Native Instruments的Komplete Start套装,无奈兼容性差强人意,到最后还是只能回到Windows。要想让Linux能在音乐制作领域与Windows、MacOS一分高下,还有很长的路要走。
欢迎厂家入驻,推文!免费!微信:yinpinyingyong

8

积分

1

听众

2

音贝

音频应用

Rank: 1

积分
8
发表于 2021-3-3 15:09:21 | 显示全部楼层
相当详细的教程,感谢楼主分享!
欢迎厂家入驻,推文!免费!微信:yinpinyingyong
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

音频应用搜索

小黑屋|手机版|音频应用官网微博|音频应用 ( 鄂ICP备16002437号-6 )

GMT+8, 2025-7-19 00:29 , Processed in 0.050241 second(s), 21 queries , Redis On.

Powered by Audio app

快速回复 返回顶部 返回列表