音频应用

 找回密码
 快速注册

QQ登录

只需一步,快速开始

查看: 43841|回复: 3
打印 上一主题 下一主题
收起左侧

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

[复制链接]

225

积分

2

听众

64

音贝

音频应用

Rank: 1

积分
225
跳转到指定楼层
1#
发表于 2021-2-21 17:51:57 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
Arch Linux 打造成音乐工作站的几条经验6 ?& B( E6 M7 D$ \) y; w
作为程序员+音乐人二合一,我的系统环境横跨Windows和Arch Linux。原本Arch Linux只用来做开发,但这么强大的系统,我总觉得它还有无限的可能性还没有发掘出来,比如,做音乐。
& ~2 B, K$ }  M& s2 @
- W3 F% n4 L: i/ a* u相较于Windows,作为开发者首选的系统之一,Arch Linux有以下难以比拟的优势:
$ ]5 o3 x( l& i9 n* i! g( l2 g6 I* ^" Z5 v# V* e4 H' ]
运行速度快,内存占用量较小,轻便自在;8 z* u; O# q' M" H  z5 {
Pacman软件库,应有尽有,安装开发工具轻而易举;
4 |6 ?/ u  Q2 e; c& N安全可靠,不怕病毒;0 O+ Y, Q8 V- x9 m; Q4 L
对老电脑、老设备分外友好,十年前的ThinkPad X200照样做主力。" ]: z* V" M2 u! T2 s+ C
不过,不管是哪个发行版,Linux总有一点比不上Windows和MacOS,就是音乐制作——很少有音频软件厂商能够提供原生支持Linux的音乐制作工具。尤其是Native Instruments这样的业界巨头,只专注于Windows和MacOS,不会为Linux提供任何支持。实在是可叹。
( M, Q: [  }. `( L : A9 X$ o  I" d: C# V! X7 v
幸运的是,开源的力量是无穷的,既然Linux能普及,总有大佬在填补这方面的空白。各种适用于Linux的音乐制作工具链应运而生,从底层驱动级别的JACK,到对标业界标准插件规范(VST、RTAX、AAX、DX、AU)的LADSPA,甚至完整的DAW——LMMS、Ardour、REAPER for Linux,应有尽有。从此,Linux不再是没有音乐人造访的荒漠。
$ \/ Y- D- E9 h* j, [9 L& ]) ?) a) h& _1 B6 I
% w( y# f) [8 W* [# }
Linux作为音乐制作环境的必备要求
6 d% B* z5 I6 b要想把Linux打造成音乐工作站,需要进行以下方面的配置:
- _+ P1 t% M- I4 B
) a$ A+ M3 I+ z配置好低延迟的音频接口——JACK。
- M% U# f( C) c  j% C安装必要的音乐制作软件。
( y6 V  W" @0 r- @4 k安装兼容环境——Wine、LinVST,用来使用Windows下的VST插件。" u- e1 [2 O. k# m1 U  f4 }

: v  t, g5 V" u; ~3 V3 h. U) l. W第一:安装与配置JACK3 U( x* ?# P( ]2 g& T
要把你的Arch Linux打造成音乐工作站,首先要做的就是配置音频服务——JACK。JACK是一套高性能、低延迟的音频服务程序,它基于Linux底层的ALSA,可为音频应用程序提供低延迟的音频回放、录制支持,相当于Windows下的ASIO,以及MacOS下的CoreAudio。
* b0 a4 A0 X% \$ D* B$ X; U
+ D/ h& x9 v2 s$ ^) l$ W$ W2 R安装哪个版本的JACK?
2 _( L8 o% M1 z/ Z& n# N( o: K3 Q! ?4 e5 L
一般的发行版会提供两个版本的JACK:
$ s( r5 l  [2 Q/ L( u! A, Z7 D& m7 N* N, x: D
JACK1:包名为jack,用C语言编写的最初版本:/ T  h8 o  ], f) t7 ^
只有音频服务功能. h0 C. Y; X9 f3 q( [, n1 R% O
对系统要求苛刻,需要配置用户权限、realtime权限才能使用
5 u4 K; q1 w+ M: ~独占控制声卡,其他程序无法再播放音频4 q, \) m+ m. d% L9 o. Q
JACK2:包名为jack2,用C++重写的版本:
& S3 H. n2 f* J/ m支持DBus协议控制, x( Q7 j3 F; F
支持将PulseAudio、ALSA重定向到JACK,从而兼顾其他使用这两种音频服务的程序& m! E$ s9 o% ~9 ^* ]+ T
无需配置权限即可使用
0 f7 t4 J/ o* }' s# f" l7 w7 f; M先给出结论——选择JACK2,不要选择JACK1!  N" W3 ^- \3 X
虽然JACK1是最初版本,包括Manjaro、Artix Community在内的多款发行版都有预装,但它并不是开箱即用的。想要使用JACK1,首先要配置realtime权限,然后再把当前用户添加到audio用户组中,重新登录后再通过QJackCtl这类工具来手工启用JACK服务,非常麻烦。
$ y- q2 s, {% ~1 Z  G5 w, O
% ^9 O: ?. x9 i" p加之,JACK,和PulseAudio是独占访问声卡的,其中PulseAudio是各大Linux发行版和各种应用首选的音频服务,这就意味着一旦开启JACK,其他应用程序就无法出声,甚至会引起一些无法预料的错误。0 n  A" A+ s$ M4 k3 W/ P

  w: ]: f/ _2 C3 z& X$ i相较于此,重写的JACK2则解决了上述两大硬伤。首先,JACK2使用了全新的架构,默认情况下无需依赖realtime权限和audio用户组即可运行,和PulseAudio一样都能直接运行于用户空间(区别于root权限下的系统服务)。其次,开发者设计了一套“桥接(Bridging)”机制,能够把ALSA和PulseAudio重定向到JACK里来,从而保证其他使用了PulseAudio的应用程序仍能正常使用,听歌做歌两不误。# N  N, M( ?8 O& J$ o& x

! i( c! b  y1 Q' }5 \/ R" I$ w+ q显然,首选的JACK版本非JACK2莫属。
9 x9 Q5 _0 ?* U& K+ U  }2 z2 J( G' ^$ K' P6 X9 W' \& Y
安装与启动JACK26 x8 O* j3 M: U1 e
2 Q. n9 i1 t# \8 H( k' i; \
首先安装JACK2,以及JACK2的音频控制面板Cadence:6 p7 `7 _* S& g/ ~- `& m# J6 p
, N$ l2 o7 }' ~
sudo pacman -Ss jack2 cadence- J- ?6 a' A9 x4 F4 D

3 b% {6 a+ e- C% o0 }0 c; dCadence是一款优雅的JACK2控制面板,功能全面。首先打开它:
6 ?. T6 Z: A6 g# u/ H5 u* W * m+ |8 D2 l4 y9 R
: ~' [4 v5 k# V
图1 Cadence主界面
0 R/ }: Q+ r6 G( L1 ~5 N6 O  N8 M& y$ P3 o1 j
然后点击【JACK Status】部分的【Start】,启动JACK服务。若启动成功,则该部分会显示以下内容,表示JACK2启动成功,并给出当前的运行参数。
5 q  j! w* W- ?, A' x- b& X9 l
. Z; T6 j. @! h9 b
# ?- V# u6 d, r  A3 \图2 JACK启动成功后,Cadence显示的状态  @4 O+ ]+ D, A# K- L

* k) A$ r! p) R启动成功后,PulseAudio到JACK的桥接功能也会自动启用。打开PulseAudio桥接后,系统会多出一个音频设备,为“PulseAudio JACK sink”,是把PulseAudio重定向到JACK的设备,选择它即可让原先使用PulseAudio播放音频的程序都通过JACK来输出音频。
, N+ t! q# X% d, N9 H% }" K7 W; L: o# h$ l3 d& A
若不需要PulseAudio桥接,可以在Cadence下方的【JACK Bridges】的【PulseAudio】选项卡内手动开关这个功能。
; _. @3 @) Y6 k2 J* S0 ~
" t* ^( }) |7 N/ M; g3 d, c
; f1 F( s8 E/ U8 I+ ^* `图3 启动JACK2后,KDE音量控制里多出的音频设备
. g. b. c: V- F: H6 `  ]: y. z4 l3 n
提示:
( H6 D  q( k+ h; r$ Z& a8 r6 W! L
2 \) Q' G7 o0 ^) Y/ U+ W可以勾选【Auto-start JACK or LADISH at login】,设置Cadence与JACK2服务的自启动。. n% Q6 [. \8 |+ m9 d2 G
桥接启用后,原有声卡设备(见图3上方)的音量控制仍然起作用,用于控制输出的主音量。
欢迎厂家入驻,推文!免费!微信:yinpinyingyong

225

积分

2

听众

64

音贝

音频应用

Rank: 1

积分
225
2#
 楼主| 发表于 2021-2-21 18:22:45 | 只看该作者

% ]1 }) a2 ~/ p& ~" I0 v4 Z设置输出设备
) P* z! K' _. ]$ P" ]6 h" k8 |3 \) x) s% |/ F6 g
默认地,Cadence会把输出设备设置为Dummy(空设备),会导致无法出声。因此要手动设置音频设备。( ?5 F3 X0 j- X, b& o4 i

6 }1 r; x4 I3 W7 x5 d( q9 T在Cadence主界面里,点击【JACK Status】部分的【Configure】,进入JACK设置,然后点选【Drivers】选项卡。, ^- _* `- w7 \# Y" i2 j; B4 T+ O
0 |8 X* M- S: o" k  ~
左边【Drivers】一栏有五种输出设备:ALSA(调用本地声卡)、Dummy(空设备)、Loopback(回环)、Net/NetOne(网络源)。点选ALSA,以使用我们的声卡。其余选项不常用。. V$ }, U% b8 {& `
7 g# R/ e* U. L9 k3 v9 Z, m! U
图4 设置Cadence输出设备# }. ]- ~0 K6 g! m3 a5 O

- ^6 n  m, T1 E# N+ S: t( t( \此时右边就会显示出可用的设置项。! i9 Q% |9 y, b0 ]( E
2 R, x) y  S' n; q$ j6 F- I6 ~
看到【Device】部分,设置输出设备。注意下面几个设置项,按下表设置好:
, F( X+ q) M( u$ L( `9 T* j' i+ Q2 s  h5 v
% x" {) k2 H. a' N2 T
设置项
说明
取值
Device/Interface
选择要给JACK使用的设备,包含输入、输出
hw:0指向默认的声卡设备
Input Device( J0 M; F) Q1 w* O
Output Device
单独设置输入、输出设备
1 Q% s( K- b8 _* \, h! m! d6 N8 {只有在Duplex Mode勾选后才能设置
hw:0指向默认设备的默认接口
Duplex Mode
勾选后,可以分别设置输入/输出设备- t& w2 l4 x2 u$ R
否则全部使用Device/Interface中的设备
% V! Q8 R" G! ~/ Y; ~
Input Channels4 N2 [- m" Q- W4 f
Output Channels
输入、输出通道数
默认值为0,会自动指向该设备支持的最大通道数

$ i2 e* K$ i- \6 P# K然后看到【Properties】部分,设置以下两个参数:
/ C" \+ l6 A, \
, _) O; n% \  z
- k/ G1 a" J1 @9 ^$ b
设置项
说明
取值
Sample Rate
采样率
一般音乐制作用44100或48000即可! m1 Z; h$ M7 o
要求音质则可用96000或192000,但声卡不一定能支持。
Buffer Size
缓冲区大小
取值越小,延迟越低,但在集成声卡上可能会导致爆音。
# X: W  J7 ]$ A2 u7 q: t一般设置成256~512,一般的集成声卡和独立声卡都能兼顾延迟和音质

" [) W- \- B4 ~% N; z" z5 n# h/ b
0 e) a2 w6 l5 d3 x% K. p

% i4 ~8 `$ Q) W8 m- h其他参数保持默认值即可。
9 g" [$ \! w8 a$ C+ n0 h( z' C* M( g6 ]$ b: B( P) r# [
设置完成后确认,先后点击【Stop】和【Start】,重启JACK,即可生效。
- B+ T% ^' E, N* V& q7 `+ I# c: k( k7 ?9 O* _
, a9 w8 m* _' N
第二:安装Linux下的DAW
/ [, l4 i* d: m( FLinux下的主流DAW软件不多,几大商业DAW大厂(如Steinberg、AVID、Ableton)基本没有适配Linux的计划。但一些优秀的开发团队推出了适用于Linux的自由软件DAW,比如:5 G7 D) \# `7 p% L9 j; Y# h

* ]! D0 o( F3 mArdour:偏重于混音和后期的DAW,适合处理乐队、Vocal录音。调音台大厂Harrison的MixBus就是基于Ardour开发的。; `6 k; G7 i+ ~1 l
LMMS:完成度较高的全功能DAW,拥有钢琴窗,适合MIDI编曲。它自带大量的效果器,以及一些模拟游戏机的音源,开箱即用。
! W" x4 t6 ~  a; eMixxx:开源的DJ工作站,严格来说不是DAW,专为现场Live打造。6 |0 T  X4 r; w& Z; J; E$ x' ]  ~
以上软件皆可直接从Arch Linux的官方源安装。因篇幅限制,这里不介绍软件的用法,读者可自己体验。
. o  K" X2 [& s4 f7 A7 c1 k
! V( @# n7 j( Y1 h6 _  O0 o. xsudo pacman -S ardour
1 N/ M' Q5 b2 s# e: csudo pacman -S lmms
1 x9 I9 q9 E; X1 ksudo pacman -S mixxx% i6 O0 v. O: k$ z% o2 t  V
作者使用的是强悍的商业DAW——REAPER。有别于其他大厂,它提供了官方的Linux版本,能直接使用专为Linux开发的VST插件;且其Windows版本也可以借助兼容层Wine,在Linux下运行。
6 h6 y6 ~6 Z8 u" k6 X6 V4 P2 z6 r9 L, L* U2 N

" N4 N. a1 F5 @( R# ~8 V第三:安装原生效果器插件% g7 W9 i; M8 I  m6 p8 b
除了DAW,一些优秀的开发者也推出了同属自由软件的效果器插件,涵盖LV2、LADSPA与VST等几大格式,满足Linux下音乐人的使用。它们同样可以在Arch Linux下运行。这里先介绍两款插件:
4 J& t! q6 R' S' t7 `. A
7 |  }' F0 a$ l" F- eLSP Plugins5 W7 ]% X2 u, }& K) X1 l6 R- v
( @. x* U* h# r; O
全名Linux Studio Project Plugins,是一套专为Linux打造的效果器插件,旨在填补Linux下缺少优质插件的空白。它囊括了混音所需的一系列效果器,包括压缩器、延迟效果器、图形均衡器、多段均衡器(类似于Fabfilter Pro-Q),甚至扩展器(Expander)、频段压缩器、侧链压缩器这样的高级玩法。部分插件还提供动态的频谱图显示,清晰直观。
7 a: Z4 f8 w* ^: R1 B. l7 [
* u* b' y6 y2 p# s3 U5 y比如,下图所示的压缩器Dynamic Processor Stereo:
. ~- }+ \" Q7 o$ n# c7 z5 j
9 }* X+ x0 n: W- g& E6 P0 g  _Dynamikprozessor Stereo
' ^8 p& [- n) N( ?$ }  c2 \7 D! Y# d6 R, Z+ `# n# G
以及多段侧链压缩器Sidechain Multiband Compressor Stereo x8:% C( R; C! B, C) Y  S

7 j" c' o3 n8 V. B3 n, P8 ASidechain Multi-band Kompressor Stereo x8
/ F+ `* ^1 c5 I7 n) g
4 n- r3 x5 n/ [+ c; l( F. V在Arch Linux中,直接安装即可。
/ R  s8 @5 I4 \, O  ~9 u0 v; k. R# X3 J) }  Z* y( @
sudo pacman -S lsp-plugins
% O/ v9 T! q) P/ f/ s! R2 ~# ]% t" i% X( E1 @
Dragonfly Reverb  n0 Q0 R3 M( d

* v7 x; D* k0 q0 N" G% N; l7 J这是一款非常高质量的混响工具,与商业DAW自带的不相上下,用彼此独立的几款插件来实现大厅(Hall)、房间(Room)、板式(Plate)混响,并提供一个反射效果插件(Reflections)。
, v) ~/ {3 u# D( s- ^# f9 G8 ?7 ~4 J) n4 Z3 z" ~

6 K4 t0 ~* U- U3 I* B" ~它也可以直接安装:  O0 P) u7 ~8 l4 f) }

9 C  T* H; R, |9 msudo pacman -S lsp-plugins  E) f( E) `; W4 B+ P

) t( h  b: @% U* s插件的安装目录
/ D0 U) n# ?7 Z7 @3 t
, g5 P/ F1 K. r/ s" {% q! _5 [: I2 oArch Linux下,通过Pacman安装的插件如果提供VST版本,一般都会放在/usr/lib/vst下。把它添加到支持VST的DAW VST扫描目录中(如REAPER For Linux)。9 J2 ~$ L. s* u; g7 b0 a! ^9 x
3 q# G. t  [! N% Y
+ Q- o8 h( P1 l5 ]
第四:使用Windows下的VST插件
, t! G3 w" P2 r& d) C+ ~8 L我在上文里提到,目前主流的商业音频软件厂商,只会把精力集中在Windows和MacOS,往往直接忽略Linux。这就使得计算机音乐制作领域的大半壁江山都不属于Linux。好在,Wine的发展,使部分Windows专属的VST插件得以在Linux下运行,一定程度上弥补了这一缺憾。
4 s6 c& x3 ]/ ^! W* {& s; D( f8 }( y- |: d4 d% `4 C
接下来就介绍如何在Linux下,给DAW装配上VST插件。7 y4 h- w" x+ t- E! \9 y$ K
8 f) ?2 a, X( n8 H( F
Wine的安装和初始化
( x5 P" N# R3 s/ g2 m- t' u
( O; ?, x: z' h  QWine是专为Linux和MacOS开发的兼容层,让你能在Linux下运行Windows下的程序。
; c' p& ?' T' x$ N* h  e5 ~1 G" L: n+ u" e
在Arch Linux下,要想安装Wine,首先须开启multilib源,这个源默认情况下是不启用的。
0 F+ H8 `- z% T# e! U/ D) W! Y4 Z% y3 G9 U( K1 O8 z
sudo打开Pacman的配置文件/etc/pacman.conf,然后取消注释以下两行,保存:
" f" m) v/ g. V- |2 }% E3 J* c/ ?3 A/ o- S1 q
[multilib]! t- ?/ Y6 X' A/ H4 @3 a' L& R
Include = /etc/pacman.d/mirrorlist3 A1 s4 K  E* l! M/ x7 ]- j3 [

; S2 ^# w: j8 S# U! w& N! H* A0 b注意:上方还有一个multilib-testing,收录测试中的软件,可能不稳定,一般不启用。2 {* q2 W# y3 O+ w
1 J  ?$ h" S" E! H8 f! w4 K2 y
更新软件源,然后安装Wine。下方的wine-mono和wine-gecko分别为.NET运行时、浏览器内核,为可选组件,但最好装上以免Wine在初始化时提示安装:
1 ~$ a  n! |0 w6 K" t3 W
7 y: O7 Q( \. u( }% @, w+ w3 fsudo pacman -Syy
% B$ J2 _6 Y. h- a2 Usudo pacman -S wine wine-mono wine-gecko
9 q) _/ k8 b3 [+ E4 [2 ^, }7 j
9 @+ ?! g, L- t' r- M' ^安装时可能需要选择用哪个版本的libfreetype,保持默认值就好。
7 w' {3 I8 D6 ]0 n% L$ u9 W" v
% L7 g4 C) B. E" J' O安装完成后初始化,运行任意一个Windows应用程序,或是运行winecfg(Wine的配置工具),即可启动Wine,它会帮我们创建一个默认的“前缀(Prefix)”。这里的“前缀”是Windows程序的运行环境,相当于一个个沙盒,每个前缀彼此独立。5 B7 b3 `, n" N2 {7 y4 J0 p
欢迎厂家入驻,推文!免费!微信:yinpinyingyong

225

积分

2

听众

64

音贝

音频应用

Rank: 1

积分
225
3#
 楼主| 发表于 2021-2-21 18:23:44 | 只看该作者

; N' `( w1 p1 x* `( [使用VST插件的方案  c! U9 e' i6 E5 f$ N) M: s

' O* Y3 M7 i* u9 e# HLinux下的原生DAW,主要有两种支持Windows版VST插件的方案:
: _/ h8 u( |  \7 H! _
* g, [& _) }! l; [使用基于Wine的桥接器,将Windows版VST插件转换成原生的Linux VST插件,如LinVST- R  s0 N/ k4 h( [' [* v
原理是构建一个原生VST格式的wrapper,宿主在加载wrapper后会自动调用桥接器的host服务端,从而利用Wine加载VST本体。
" g' Z) f# C! ~通用的方案,只要DAW支持原生VST,就可以用。* B/ l% f% p9 [" m: j9 F0 M( @
内建桥接器,即采用自己编写的桥接器,如LMMS中的VeSTige( b& w. E  x9 `
只有少数的DAW有这个功能。
" {& ?: Z( d3 F( w: P- C* Z另外,还可以直接使用Wine来运行Windows版的DAW,它会像在Windows里那样加载VST。它基本不需任何其他配置,但不具备普适性,不能保证所有的DAW都能正常运行。目前兼容性好的只有REAPER。1 |" e3 c, J- y4 X, g1 Z- J) i, c

% ?" E$ \7 v9 g! x& C: u( S- i1 ~: v方案一:内建桥接器2 R  [' _0 f& R: d+ S

+ ^, x$ J% c& k以LMMS为例,它附带了专门的桥接器VeSTige,可以直接像在Windows那样,加载*.dll为扩展名的VST插件。! n, Z0 [) D7 H, Z# h, J

* d7 y/ c( ]  Y5 H2 K) O# O- c & l8 [4 h/ V1 J$ S' ^5 A7 l: F$ g$ i

! B9 ]' k7 Q3 @0 }  V1 j操作步骤如下:
; U% N( g- a" H6 c( W% a# U8 w" G7 k' T' ^
点击左侧的Instrument Plugins(音频插件);5 B* p6 k9 P+ \
插件列表出现,在下方找到VeSTige,拖到音轨视图里;
0 l, I7 O$ N7 o! Y, X& E- o点击音轨视图里的VeSTige图标,打开插件界面;4 ~$ M: z5 e8 g$ t! t
在插件界面中点击“打开”按钮,定位到VST插件目录,打开它;. D3 T7 m9 r3 v7 M6 q* ]' A7 b
可以点击“Show/hide GUI”按钮来显示或隐藏VST插件的界面。
  N7 S( z4 k* W3 \5 t# ~能否加载成功,仍然因系统环境和Wine的版本而异。如果无法加载,则使用htop,把RemoteVSTHost.exe这个进程结束,以免占用过多处理器资源。1 O2 p  [' ?" f0 B$ ?1 }
, k1 c2 k* e  S9 V8 R. m$ H  y5 F
方案二:使用LinVST9 q, X5 n" r- C' b5 Z7 V
2 _1 g" s/ M* [
LinVST是由OSXMidi开发的桥接器。类似于Windows下的jBridge,用户通过它提供的转换工具,创建一个原生VST插件,作为Windows版VST插件的wrapper,接下来只需在宿主中加载即可。
' k2 u! L4 Y. U" Q7 M& r6 G
2 a$ r  N& T$ X9 n8 t& R它同时支持VST2和VST3,分别对应两个独立的项目:LinVST2、LinVST3。它们各自还拥有一个增强版本——LinVST-X和LinVST3-X,允许一个VST插件实例被共享,起到节省资源的目的(例如把一个Kontakt实例用在多个音轨上)。. @+ f$ ^9 z& `6 ]

  f3 y1 L" \% V# y: ?9 [, SArch Linux的官方源没有收录LinVST,须通过AUR安装。笔者用的是yay。
& s' V& l1 o! g1 g2 l/ E" Z/ W: V% Z7 E
0. 安装yay
' ~( E0 z. i$ L3 ]9 V2 R$ l; e. t, f0 t% h7 c
初次听说AUR和yay的读者,可以先添加Arch Linux CN源。同样是编辑/etc/pacman.d,在结尾添加:
. J. n# j' t, }2 Y) _  z
8 t2 t* H: m* |[archlinuxcn]" s4 A1 ]8 y; m- b
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch
; h, g: W* W* |& H
8 E5 H) Q6 B, n然后安装密钥包,以及yay本体:
& T1 H" y% ]( u8 ]! z3 d. x7 L# o7 B5 l3 Q- S
sudo pacman -S archlinuxcn-keyring yay0 ?5 l( Y, g( g, C: f

% q$ |$ F: q+ j; {, e) X1. 安装LinVST本体, D( e: G. z0 A
, t. H1 S+ b" J9 H) x% E
首先安装LinVST。AUR的包分为源码包和二进制包,后者开箱即用,前者则需编译。建议选择二进制包。: [! q) z4 l" E; j% X
# 源码包( R1 A) p  u8 k2 B, l- a
yay -S linvst linvst3
8 u7 ^, G3 o& g* d) \6 }& {# 二进制包: ?( I5 K. s+ m& I. O" L' L1 |
yay -S linvst-bin linvst3-bin% ~. C7 n: T& ?6 d/ J

4 M1 j( d0 O7 ^5 j# m如果需要增强版本,则安装:
+ J0 g: _8 E; i$ \2 @8 F4 q# s& X2 S, i0 p! F
yay -S linvst-x-bin linvst3-x-bin4 Y: Q  m5 r. A6 ?

/ G. }: O8 g$ ]注意:采用源码版编译会有两个问题:- N8 ]* U  H) L4 E+ d
& M5 K) q7 s: \& r6 B9 Y  H$ g) W. n
只有linvst能编译,linvst3会在编译附加组件ArchStudioUtils时出错。6 N7 k( a7 D. _  s
生成wrapper必不可少的linvstconvert没有编译。用户必须手动进入源码的convert/目录来编译才行。
- u) @! {. K2 Q- N. U7 R# M9 `, N2. 如果出现错误:“一个或多个文件没有通过有效性检查!”
% {! {4 z3 l! ]: u. m0 v5 Z: d! }$ G1 c3 P1 N; z2 l
但是,由于LinVST的二进制包更新与AUR PKGBUILD的MD5值不同步,会出现能下载成功,却通不过有效性检查的情况。这时要手工修改PKGBUILD文件,去掉有效性检查的部分。
' h- @; {8 i) |7 y2 i
2 b3 d6 u! b2 D+ r" q- a首先进入linvst-bin包的yay缓存目录:0 @: |3 D: O- F6 ]' N- p

% I  {, c, V' e1 xcd ~/.cache/yay/linvst-bin/0 ]$ C8 e7 \6 o$ J" D
& ~& T; m+ E  L# z
然后修改PKGBUILD文件,更改md5sums=(xxxxx)一行,把括号里的字符串值改为SKIP,表示“跳过有效性检查”。注意大小写:
& Z; ~8 D" E  Z" v8 }! z0 q: c/ d) V6 _- E
# 修改前,字符串值为MD5校验和& m1 C7 c3 F5 j1 p5 X
md5sums=(68b329da9893e34099c7d8ad5cb9c940)
; }2 p/ {' s8 ]3 o7 l) j" q
6 t6 f8 n0 J6 u5 p( P0 |# 修改后,字符串值为SKIP
& m$ n6 q4 H! u3 w* Wmd5sums=(SKIP), A3 F$ G8 O3 T- T" d' ^$ ~7 i
6 f# C! T; K& H
保存后,运行makepkg,生成安装包:
/ I$ J8 s% C. P( ]2 y; e- O! G
makepkg, I. n  V% Q2 F+ H2 Q8 M9 ]

9 E) w4 H/ Y8 h% h) o) [生成好的安装包位于当前目录,文件名为linvst-bin-x.y-z-x86_64.pkg.tar.zst(x,y,z为版本号)。可以直接安装:1 {* u* B+ ~- D: D$ k

. X4 D) g6 g9 k" s" Z! Ksudo pacman -U linvst-bin-x.y-z-x86_64.pkg.tar.zst8 y6 E# D( a' R4 h4 r  }
$ u. A  l. S# u' ^" G( B1 W- \+ t
用同样的方法,制作并安装其他几个二进制包。
0 F% Q" [5 Q( Z. p" J8 @- {
; d2 N( L$ o0 }3. 生成wrapper, R$ |4 @0 x# d6 _# y( C( o- D
% J6 R" Z$ a( U3 w# P
LinVST用于生成wrapper的工具有以下几种,它们界面大体相同,须从终端运行:
0 Q9 T' E6 [) c% C% u% |: j; y- o; M& Z2 l. N
linvstconvert、linvstxconvert、linvst3convert、linvst3xconvert:指定一个文件夹,然后由其中的VST插件生成对应的wrapper。
- U, j; o0 L- a4 |以上工具加上tree作为后缀:递归寻找子目录下的所有VST插件,为其生成wrapper。
$ C; P* W7 X/ V) z' a; J如果所有的VST插件都在一个文件夹里,则选前一类;而如果位于若干个子目录里(比如部分VST插件带有附属的文件,要与插件本体放在单独目录中),则选后一类。/ t6 V- a5 J2 b8 |3 K

7 d! O( N- B( u运行后,出现这个界面:7 H, y+ C  f, V7 U) O/ k

; u& q8 x* H, b5 ]3 A
$ t! M' e2 ?) b* t
' n0 `/ r2 y* y& t首先把你的Windows VST插件统一放到一个目录中,建议~/.vst(VST2)和~/.vst3(VST3)。
# f- U4 l1 e+ u$ e: m8 C在生成工具界面中,选择LinVST库。点击【Choose linvst.so】,在文件对话框中定位到/usr/share/LinVst,选择linvst.so。其他几个VST3和增强版的库文件也在该文件夹中,如果是linvst3convert,则选择linvst3.so,以此类推。6 N( B) q( g4 u  z4 U
然后通过下方的【Choose dll folder】,选择Windows VST DLL所在的文件夹。(如果是linvst3convert,则界面是【Choose VST3 folder】,选择*.vst3所在文件夹)。# Y3 k4 M) G$ D: J+ E2 }
点击【Start】生成,随后VST插件目录下就会出现与插件同名的*.so文件,即原生VST wrapper。
; {/ [. ?' u; N( N* o* J$ g" r最后把插件目录添加到DAW中即可。实测,REAPER for Linux完美支持。
! f, v. i+ k+ B; ]注意:4 i" w! ]6 b9 L+ B

5 E5 E3 y0 \% Z7 Z% v( SVST插件和生成的*.so文件必须在同一目录下,否则LinVST会提示找不到插件。, Q% e" O6 t# |9 a
Wine的兼容性
, u: j8 ~- n8 U7 e8 K6 {+ `
% H; I: ?+ Y. w% {6 b4 w; l# k: gWine是一个持续开发的项目,这是由Windows的复杂度决定的,开发团队不可能在短期内适配真实Windows下的所有特性,并保持其稳定性。因此并不是所有的程序都能完美运行,包括VST插件,测试中程序挂掉、出现Bug,在所难免。% a; O! T2 w: a- c

5 m- ^+ T- I8 Z- b  n幸运的是,有些开发者会考虑到Linux的生态,会优化自己的应用程序,使其能完美地运行于Wine。REAPER就是一个很好的例子,它的Windows版本可以直接在Wine中安装。之前REAPER并未推出原生的Linux版本,官方特别在下载页中提到,“Windows版本可在Wine下运行良好(For Linux users, the Windows version works well with WINE.)”,便利了Linux用户,也实现了开疆拓土。  W: J8 k6 V0 l' z* v4 Z
* t* ?  H  T4 b" h9 v( R, Q
即便如此,REAPER仍属于少数。大部分的应用仍需自行去测试,检验其在Wine下的兼容性,以及事后会不会出Bug。
& l, |0 {, z3 b9 C
- _1 A6 |/ a. K( y/ @我所做的测试' \) q9 ~3 ]8 p4 k
4 s( l) t2 Y3 ?
Kontakt Player:我用Wine下的REAPER for Windows测试,它可以在REAPER中正常加载并播放NKI采样,表现与Windows下一致。不过,如果在REAPER中就地重新加载(选择“更改当前VST效果”后重新选择Kontakt),则会导致长时间卡住,可见并不完美。
0 u9 [, ?( o) E8 J( oSynth1:一款免费、强悍的合成器插件。+ I+ Z! u: x" b, }3 C
在LMMS下尝试用VeSTige打开,但没能启动成功。相反LMMS自带的VST宿主程序(RemoteVSTHost.exe)还卡在后台占用CPU,只能手动结束。9 E6 b1 m/ ^) C7 B2 B4 g% I8 Y
移师REAPER for Linux,借助LinVST,顺利运行,体验与Windows别无二致。9 B, j0 B/ n" R$ F1 [$ F  ~9 c. o

' U: r% D! B! ~; b后记7 l8 L5 p3 ^7 k3 X8 G: o: f
以上是作者在Arch Linux下试玩音乐制作软件的体会,发掘了Linux的别样用法。由于厂商适配策略的不同,并不能保证Linux一定能拥有不输于Windows和MacOS的体验,但当下的Linux至少不存在这方面的空白。
8 @! b! d  R, r9 d. P+ ]7 w) K  f/ P
不过,在Linux下制作音乐尚有明显的局限性,体现在诸多商业软件缺少对Linux的支持。作者曾经在自己的惠普笔记本上安装Arch Linux,配置好REAPER和Native Instruments的Komplete Start套装,无奈兼容性差强人意,到最后还是只能回到Windows。要想让Linux能在音乐制作领域与Windows、MacOS一分高下,还有很长的路要走。
欢迎厂家入驻,推文!免费!微信:yinpinyingyong

8

积分

1

听众

2

音贝

音频应用

Rank: 1

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

本版积分规则

音频应用搜索

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

Powered by Audio app

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