音频应用

 找回密码
 快速注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

225

积分

2

听众

64

音贝

音频应用

Rank: 1

积分
225
发表于 2021-2-21 17:51:57 | 显示全部楼层 |阅读模式
Arch Linux 打造成音乐工作站的几条经验
, s1 E6 y! h/ \8 Y- V: B/ i3 U作为程序员+音乐人二合一,我的系统环境横跨Windows和Arch Linux。原本Arch Linux只用来做开发,但这么强大的系统,我总觉得它还有无限的可能性还没有发掘出来,比如,做音乐。. C3 q& `* B: q$ @# V8 s0 ~& H. k1 o! a

9 q/ a" n! i4 r+ x  \: f相较于Windows,作为开发者首选的系统之一,Arch Linux有以下难以比拟的优势:
+ d( n1 c* a/ ?6 \! Y, H4 E  I1 L4 @
运行速度快,内存占用量较小,轻便自在;9 i/ n( U( H( |3 @* U& |
Pacman软件库,应有尽有,安装开发工具轻而易举;! e# p7 ?' m% z. a/ D# L
安全可靠,不怕病毒;2 d! G0 W4 E( t( f( V% X
对老电脑、老设备分外友好,十年前的ThinkPad X200照样做主力。; V4 K0 F* R1 T& J7 g) T/ a5 L
不过,不管是哪个发行版,Linux总有一点比不上Windows和MacOS,就是音乐制作——很少有音频软件厂商能够提供原生支持Linux的音乐制作工具。尤其是Native Instruments这样的业界巨头,只专注于Windows和MacOS,不会为Linux提供任何支持。实在是可叹。
; e; G2 M1 f& ? 1317_1613898821_thumb.jpg 1 l: f/ d; ^# g
幸运的是,开源的力量是无穷的,既然Linux能普及,总有大佬在填补这方面的空白。各种适用于Linux的音乐制作工具链应运而生,从底层驱动级别的JACK,到对标业界标准插件规范(VST、RTAX、AAX、DX、AU)的LADSPA,甚至完整的DAW——LMMS、Ardour、REAPER for Linux,应有尽有。从此,Linux不再是没有音乐人造访的荒漠。
+ P+ g5 ~* v! M& ?$ k, y7 _7 r
3 x5 j, _1 B7 D
( {" e$ {6 t: OLinux作为音乐制作环境的必备要求
$ }4 m, `- Z) e8 v/ Y! |要想把Linux打造成音乐工作站,需要进行以下方面的配置:
. q/ h+ w, s! a( S) |& t  }
  R% s7 o8 |. J8 F- ~1 O3 |配置好低延迟的音频接口——JACK。+ Y% K% h: B+ {. ?9 [
安装必要的音乐制作软件。
1 ]  J% u2 x% s+ L' b2 M安装兼容环境——Wine、LinVST,用来使用Windows下的VST插件。3 C. c6 {+ {6 a) ^* u; ]3 u5 c/ W" O

6 `% u. d+ |" Q第一:安装与配置JACK
2 t& \5 p& d  L9 U8 F0 g; \要把你的Arch Linux打造成音乐工作站,首先要做的就是配置音频服务——JACK。JACK是一套高性能、低延迟的音频服务程序,它基于Linux底层的ALSA,可为音频应用程序提供低延迟的音频回放、录制支持,相当于Windows下的ASIO,以及MacOS下的CoreAudio。3 @; ~; k$ D' M0 |/ C; K
) m  X* s: `8 v
安装哪个版本的JACK?/ v7 }) A" n, }" s

" @/ {7 H7 b& d0 ^一般的发行版会提供两个版本的JACK:  r4 n: J9 B6 E5 {$ Z3 O0 Z

. o- z0 ]: s, }0 [$ d% oJACK1:包名为jack,用C语言编写的最初版本:
& J8 R8 J6 U( x- d只有音频服务功能
6 c/ c  c/ F2 S# F: b对系统要求苛刻,需要配置用户权限、realtime权限才能使用
, n$ X- S2 |) z9 C& @. c独占控制声卡,其他程序无法再播放音频
- ~! L* [& s* ?& e% kJACK2:包名为jack2,用C++重写的版本:# m& K. B0 P% b4 D
支持DBus协议控制
4 o- y% p# ]' y# S2 P6 Z* s: E% F/ J0 s支持将PulseAudio、ALSA重定向到JACK,从而兼顾其他使用这两种音频服务的程序
( R6 b, _; q7 P, I无需配置权限即可使用/ _5 O1 n; R0 _6 i6 Z
先给出结论——选择JACK2,不要选择JACK1!
( X( C" X% K& b/ c" {, A虽然JACK1是最初版本,包括Manjaro、Artix Community在内的多款发行版都有预装,但它并不是开箱即用的。想要使用JACK1,首先要配置realtime权限,然后再把当前用户添加到audio用户组中,重新登录后再通过QJackCtl这类工具来手工启用JACK服务,非常麻烦。5 i$ P, A$ V( Z6 R' v2 w
5 M7 ?5 i# w; _& s- d
加之,JACK,和PulseAudio是独占访问声卡的,其中PulseAudio是各大Linux发行版和各种应用首选的音频服务,这就意味着一旦开启JACK,其他应用程序就无法出声,甚至会引起一些无法预料的错误。; A  v/ T6 D! ^4 C5 t0 ?- ^

1 w2 C% s0 C( I: b" a, y/ |9 ]相较于此,重写的JACK2则解决了上述两大硬伤。首先,JACK2使用了全新的架构,默认情况下无需依赖realtime权限和audio用户组即可运行,和PulseAudio一样都能直接运行于用户空间(区别于root权限下的系统服务)。其次,开发者设计了一套“桥接(Bridging)”机制,能够把ALSA和PulseAudio重定向到JACK里来,从而保证其他使用了PulseAudio的应用程序仍能正常使用,听歌做歌两不误。
' o  b4 [& L9 u- M
) _! V; g) e( M" _% o# V' k! T6 Y显然,首选的JACK版本非JACK2莫属。# Z  Z- _$ T( j
( y! |- e- ]. J) y1 i
安装与启动JACK2% H' M6 J' \: Q, f

: f$ S8 y( F) k/ @* [首先安装JACK2,以及JACK2的音频控制面板Cadence:
4 S* d, \5 i4 ], a) c/ Z; A# T1 H2 Q6 s( L: }  e
sudo pacman -Ss jack2 cadence- J0 G5 {, S4 m6 R3 f9 l
# p; {3 x3 X/ w2 d. K& e
Cadence是一款优雅的JACK2控制面板,功能全面。首先打开它:# b" n% o5 \/ I9 }1 f% e
7588_1612847001_thumb.png ! n; B. W. [/ w- o# j4 D
1 J0 Q, f0 I7 O$ l' _6 s8 u4 O7 g* C
图1 Cadence主界面
, y# {7 M; L$ l* p! M  A) S8 H2 F, G3 `
然后点击【JACK Status】部分的【Start】,启动JACK服务。若启动成功,则该部分会显示以下内容,表示JACK2启动成功,并给出当前的运行参数。: A: ?0 H: ~2 t9 G

' ]% q4 c" r9 G 4620_1612847017_thumb.png
/ ^7 `1 T( i5 ^- W! G图2 JACK启动成功后,Cadence显示的状态
$ f5 [( k! y8 g- b. O8 g9 w+ F2 ?5 l* R. `; g- j- z
启动成功后,PulseAudio到JACK的桥接功能也会自动启用。打开PulseAudio桥接后,系统会多出一个音频设备,为“PulseAudio JACK sink”,是把PulseAudio重定向到JACK的设备,选择它即可让原先使用PulseAudio播放音频的程序都通过JACK来输出音频。2 R0 K8 M( c+ Z: g( k& Y3 H

% q# M. U+ p2 U& N5 {若不需要PulseAudio桥接,可以在Cadence下方的【JACK Bridges】的【PulseAudio】选项卡内手动开关这个功能。
8 T0 @8 ^! b1 I- N! m  ~% C$ E& t. ]+ Y9 A  S9 y. k
5494_1612847038_thumb.png / v) m; n: u! K' U7 f+ b
图3 启动JACK2后,KDE音量控制里多出的音频设备
) W7 E% O, M$ U/ Y
+ ~& X0 {' J8 Y9 f6 o( g提示:
- U7 R) o' P- q! f# L$ U+ m( t. n6 `3 u/ z* j- k7 B% A% @
可以勾选【Auto-start JACK or LADISH at login】,设置Cadence与JACK2服务的自启动。# Q- m# y3 ^  _' k! F9 z4 I
桥接启用后,原有声卡设备(见图3上方)的音量控制仍然起作用,用于控制输出的主音量。
欢迎厂家入驻,推文!免费!微信:yinpinyingyong

225

积分

2

听众

64

音贝

音频应用

Rank: 1

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

, _( Y" P0 E) L, g1 Z设置输出设备
+ j- S  Y7 k( R! k: N5 k8 Z" V
, G8 W( ~/ Y. N默认地,Cadence会把输出设备设置为Dummy(空设备),会导致无法出声。因此要手动设置音频设备。7 m  e& N6 C6 J2 @* V) w
! c- b/ `9 [3 X% i' O6 q
在Cadence主界面里,点击【JACK Status】部分的【Configure】,进入JACK设置,然后点选【Drivers】选项卡。
# X- a- p- `$ t! F! v/ ]; g" C0 [1 Q$ M( N7 z
左边【Drivers】一栏有五种输出设备:ALSA(调用本地声卡)、Dummy(空设备)、Loopback(回环)、Net/NetOne(网络源)。点选ALSA,以使用我们的声卡。其余选项不常用。& C& M( T4 E/ H' j1 a
4363_1612847081_thumb.png
9 t6 m9 L; ~  l图4 设置Cadence输出设备
6 H5 h+ Y2 Y* i" C% _9 w* w2 |9 s! U  e9 \" }
此时右边就会显示出可用的设置项。1 I7 G& _% w6 B" T* q
3 {9 y7 n/ B- u5 f  e/ y3 Y
看到【Device】部分,设置输出设备。注意下面几个设置项,按下表设置好:: t( V  m# y% S+ u2 D1 ^
5 Z2 e1 t# N- g% X4 l
5 h3 g5 s- J" o. R
设置项
说明
取值
Device/Interface
选择要给JACK使用的设备,包含输入、输出
hw:0指向默认的声卡设备
Input Device
; [0 U; H3 u$ B( ZOutput Device
单独设置输入、输出设备
  y6 T+ ~: E5 s* D% v5 Q8 ~) Q只有在Duplex Mode勾选后才能设置
hw:0指向默认设备的默认接口
Duplex Mode
勾选后,可以分别设置输入/输出设备
7 W  I# Z8 i, S- U0 y否则全部使用Device/Interface中的设备

1 W9 g" |* f! J+ Y3 s* q- h! \
Input Channels8 h& ?7 E1 ~; ?8 p: ?2 y5 T* R
Output Channels
输入、输出通道数
默认值为0,会自动指向该设备支持的最大通道数
6 N: y" L1 M& E# ]1 |
然后看到【Properties】部分,设置以下两个参数:1 A2 `' m5 W4 G: }
6 V' f/ e2 \" ~" g" Y
- o6 e. o5 \3 y* B4 X( i2 ]. t( i
设置项
说明
取值
Sample Rate
采样率
一般音乐制作用44100或48000即可( u; F6 }, U# a4 R7 D4 I
要求音质则可用96000或192000,但声卡不一定能支持。
Buffer Size
缓冲区大小
取值越小,延迟越低,但在集成声卡上可能会导致爆音。3 u' \% a; r/ \3 {
一般设置成256~512,一般的集成声卡和独立声卡都能兼顾延迟和音质

, T* m8 v, L& S1 ^( J  Z, {6 `# y
3 f1 x5 R6 j: W
! Y& d5 f3 e6 E& G0 y: V
其他参数保持默认值即可。
% j7 ?% a& @/ ^& ?+ J# B/ o5 _, ?- E( X
设置完成后确认,先后点击【Stop】和【Start】,重启JACK,即可生效。* g6 {3 h; ]+ K
7 _0 c* @4 Q4 f& x) X+ m

; e% Z5 K; Q& o& J. K第二:安装Linux下的DAW, P& z- j2 {2 A: L
Linux下的主流DAW软件不多,几大商业DAW大厂(如Steinberg、AVID、Ableton)基本没有适配Linux的计划。但一些优秀的开发团队推出了适用于Linux的自由软件DAW,比如:
; I* c/ u, W9 ~5 U9 [: J% m
: `( Z. Z) U6 P9 a7 i( SArdour:偏重于混音和后期的DAW,适合处理乐队、Vocal录音。调音台大厂Harrison的MixBus就是基于Ardour开发的。
% ]+ c. D1 ^0 D, t! @! KLMMS:完成度较高的全功能DAW,拥有钢琴窗,适合MIDI编曲。它自带大量的效果器,以及一些模拟游戏机的音源,开箱即用。: ~& H( I# G9 h7 a# t
Mixxx:开源的DJ工作站,严格来说不是DAW,专为现场Live打造。$ m, N( e/ v+ t# O* C+ ]
以上软件皆可直接从Arch Linux的官方源安装。因篇幅限制,这里不介绍软件的用法,读者可自己体验。  H8 }4 o0 ]# F# e5 B9 H' B0 }
* }) G  {. T% i
sudo pacman -S ardour1 w* k- \0 _+ e3 L( T; h, o* X% O2 H0 U
sudo pacman -S lmms6 w. W6 S6 K1 R; g9 T. i) r
sudo pacman -S mixxx1 Y  g- J* B# ?  b' U2 F8 I
作者使用的是强悍的商业DAW——REAPER。有别于其他大厂,它提供了官方的Linux版本,能直接使用专为Linux开发的VST插件;且其Windows版本也可以借助兼容层Wine,在Linux下运行。4 }2 i; W/ t  l5 G/ q" `% T/ V

5 @, T' }6 |5 r$ @7 T* x" N* e: U3 c/ N0 ^: Z: T
第三:安装原生效果器插件
+ l  n! z5 d7 h1 s& i除了DAW,一些优秀的开发者也推出了同属自由软件的效果器插件,涵盖LV2、LADSPA与VST等几大格式,满足Linux下音乐人的使用。它们同样可以在Arch Linux下运行。这里先介绍两款插件:) e3 m1 @/ O) j# u3 m

  D* P9 @' v$ ]8 t( mLSP Plugins) n7 F* c( b7 j0 A' ~

7 X+ W# k$ [' x$ D. W9 B# ^全名Linux Studio Project Plugins,是一套专为Linux打造的效果器插件,旨在填补Linux下缺少优质插件的空白。它囊括了混音所需的一系列效果器,包括压缩器、延迟效果器、图形均衡器、多段均衡器(类似于Fabfilter Pro-Q),甚至扩展器(Expander)、频段压缩器、侧链压缩器这样的高级玩法。部分插件还提供动态的频谱图显示,清晰直观。: l% Y! h* v/ |  S2 M

! p4 \& ?: Q- l% E! v" R' o) W比如,下图所示的压缩器Dynamic Processor Stereo:2 E& i  w  E* x! z
5931_1612847184_thumb.png * u' ~# G4 J7 r/ ]. [& P( z7 d0 I
Dynamikprozessor Stereo& p& w9 V  s  a+ \& _1 |5 [! }
0 ~2 [9 E! |7 Y+ b
以及多段侧链压缩器Sidechain Multiband Compressor Stereo x8:
+ \- X" H( g- z/ l# q( W1 b 5265_1612847154_thumb.png # l; k0 T  l4 j' i" y5 P& b1 F
Sidechain Multi-band Kompressor Stereo x8% B9 Y7 N9 O" T0 x, y
6 |$ ]8 S# I: [0 h6 _; A2 G
在Arch Linux中,直接安装即可。! Q7 h8 h% J0 `9 D

5 P$ g9 i# _6 V3 usudo pacman -S lsp-plugins
& O+ n, K  J+ A1 H& R9 e) B
! j" P( K( i+ G- L. P& n0 _Dragonfly Reverb! ~) @0 T; c3 B) d. u
5 b* h2 Z2 Y2 |6 X9 V/ j
这是一款非常高质量的混响工具,与商业DAW自带的不相上下,用彼此独立的几款插件来实现大厅(Hall)、房间(Room)、板式(Plate)混响,并提供一个反射效果插件(Reflections)。; w6 g; M+ ?+ M4 j0 R3 Z3 f7 C

: b, P7 p# A( E% ? 4834_1612847212_thumb.png 5 I0 u; a+ b' c1 [: y
它也可以直接安装:; p2 D+ m. |$ {: {
& n# [. g. `& x: Z6 \* v& J
sudo pacman -S lsp-plugins
: O, F1 I2 G, O; i
7 b' E9 V# z2 ]) R8 X插件的安装目录
; r0 O9 v' N, l! H# X$ k4 h
7 a: n! g4 l2 dArch Linux下,通过Pacman安装的插件如果提供VST版本,一般都会放在/usr/lib/vst下。把它添加到支持VST的DAW VST扫描目录中(如REAPER For Linux)。
5 x  n; \& g. ~
6 r+ D: F6 Q" g- b7 Z
/ t1 I7 M6 E  O) Q第四:使用Windows下的VST插件
3 ?5 V! k3 s9 a2 R6 W& h6 p我在上文里提到,目前主流的商业音频软件厂商,只会把精力集中在Windows和MacOS,往往直接忽略Linux。这就使得计算机音乐制作领域的大半壁江山都不属于Linux。好在,Wine的发展,使部分Windows专属的VST插件得以在Linux下运行,一定程度上弥补了这一缺憾。1 m2 m6 ^* q3 T( \1 m
) [2 P3 _2 N' |8 R8 O0 J7 R
接下来就介绍如何在Linux下,给DAW装配上VST插件。
9 Q5 g, J1 N. y4 h5 O- B1 O+ V; \6 S1 L6 }* w# F
Wine的安装和初始化, ^6 j8 G7 n" v

4 R0 ?1 @; P: JWine是专为Linux和MacOS开发的兼容层,让你能在Linux下运行Windows下的程序。
/ Y# ^7 J% p8 ?- R2 l8 U7 r. ~$ b# m; W2 X5 |2 i) S
在Arch Linux下,要想安装Wine,首先须开启multilib源,这个源默认情况下是不启用的。' V: Y  N% }9 F1 _
3 K7 h& ~3 |/ s3 E4 o0 w3 `6 C1 _
sudo打开Pacman的配置文件/etc/pacman.conf,然后取消注释以下两行,保存:& ]* I, a# N6 \1 F

+ U  a, N8 b4 P' Q$ Y+ d) g[multilib]( Q" n7 R4 e) p- r2 E
Include = /etc/pacman.d/mirrorlist; v1 ?# w$ i0 N

1 ^3 u5 w$ D+ L9 b! B注意:上方还有一个multilib-testing,收录测试中的软件,可能不稳定,一般不启用。$ K+ L, {" g8 _2 b. k3 `
2 x- v8 K- v1 {0 K4 z# k
更新软件源,然后安装Wine。下方的wine-mono和wine-gecko分别为.NET运行时、浏览器内核,为可选组件,但最好装上以免Wine在初始化时提示安装:0 f1 O& J, l+ {% q7 x

+ }" \% @2 B, e7 z- }: Psudo pacman -Syy7 W: S- {" |  Z# Q" W# T  f+ i
sudo pacman -S wine wine-mono wine-gecko
4 Q1 G8 N7 j2 i+ A' v5 F: M* |- S5 W. U
安装时可能需要选择用哪个版本的libfreetype,保持默认值就好。
+ I- t2 G4 d0 l+ u4 p; }
( ^7 ?( C9 v2 Z( X% K" G* T, q* ~安装完成后初始化,运行任意一个Windows应用程序,或是运行winecfg(Wine的配置工具),即可启动Wine,它会帮我们创建一个默认的“前缀(Prefix)”。这里的“前缀”是Windows程序的运行环境,相当于一个个沙盒,每个前缀彼此独立。
/ h) O( n$ ?& x/ B' O. r
欢迎厂家入驻,推文!免费!微信:yinpinyingyong

225

积分

2

听众

64

音贝

音频应用

Rank: 1

积分
225
 楼主| 发表于 2021-2-21 18:23:44 | 显示全部楼层
0 Q$ E( B- y- d$ i' V  o
使用VST插件的方案  t6 o8 g, N6 E  \
/ Z1 W# J2 \$ p0 ~4 [3 }
Linux下的原生DAW,主要有两种支持Windows版VST插件的方案:. g# B" [+ l" l7 X2 i( U5 l
$ h. _5 f' @+ y; H( Y- M% h
使用基于Wine的桥接器,将Windows版VST插件转换成原生的Linux VST插件,如LinVST
; `' q$ T3 u% w" z  j原理是构建一个原生VST格式的wrapper,宿主在加载wrapper后会自动调用桥接器的host服务端,从而利用Wine加载VST本体。
; L+ `: N3 {. X; O6 M1 u* }5 D通用的方案,只要DAW支持原生VST,就可以用。+ L+ E, u; e1 q. x; _0 y8 o
内建桥接器,即采用自己编写的桥接器,如LMMS中的VeSTige
6 ]# ~2 ?6 i$ V* |* D只有少数的DAW有这个功能。
" b: U5 B( B/ U& O; U6 t6 ^  a另外,还可以直接使用Wine来运行Windows版的DAW,它会像在Windows里那样加载VST。它基本不需任何其他配置,但不具备普适性,不能保证所有的DAW都能正常运行。目前兼容性好的只有REAPER。7 ^0 I% A' |/ i% M9 K
$ v1 @8 z) i: E+ u- r9 j1 n/ T- @
方案一:内建桥接器
2 O$ C/ U: B+ F$ @; k  a& J$ Z% n
/ A4 ]% H* k9 \. b1 h( _以LMMS为例,它附带了专门的桥接器VeSTige,可以直接像在Windows那样,加载*.dll为扩展名的VST插件。
$ E  x% F1 p& Q! T2 a  S5 w8 e3 p/ |) Y" U; o. e9 R
4110_1612847300_thumb.png 1 [' a, O/ H7 x' O+ [5 G

. `4 A2 F9 q& w# N( G6 t1 T操作步骤如下:
( s0 w6 a# \- o2 X% t  U" N0 M( p4 z% D: R$ S  k3 b( f0 b
点击左侧的Instrument Plugins(音频插件);) r! A2 R( p3 u, X
插件列表出现,在下方找到VeSTige,拖到音轨视图里;
  i9 u. a1 r' z点击音轨视图里的VeSTige图标,打开插件界面;
) k8 @$ g& r9 D在插件界面中点击“打开”按钮,定位到VST插件目录,打开它;
+ g8 _8 z3 M  W; ^  M4 X+ }8 W可以点击“Show/hide GUI”按钮来显示或隐藏VST插件的界面。/ R+ R& ^# \2 F3 j
能否加载成功,仍然因系统环境和Wine的版本而异。如果无法加载,则使用htop,把RemoteVSTHost.exe这个进程结束,以免占用过多处理器资源。
+ J: o' b$ l4 _( C/ h2 K0 _- L7 O, G. `( g- R" |% n
方案二:使用LinVST
  U( f9 m- N9 c. m3 ~) C# D& z" S) T% z) z0 _; ]
LinVST是由OSXMidi开发的桥接器。类似于Windows下的jBridge,用户通过它提供的转换工具,创建一个原生VST插件,作为Windows版VST插件的wrapper,接下来只需在宿主中加载即可。
' `+ H. k  g" J! q
4 z" ]7 M6 B2 x0 z它同时支持VST2和VST3,分别对应两个独立的项目:LinVST2、LinVST3。它们各自还拥有一个增强版本——LinVST-X和LinVST3-X,允许一个VST插件实例被共享,起到节省资源的目的(例如把一个Kontakt实例用在多个音轨上)。6 L& w4 s) ^1 j7 _6 N. B5 e/ ~4 E

( W( u, U6 j4 V0 j. Z' U9 }Arch Linux的官方源没有收录LinVST,须通过AUR安装。笔者用的是yay。- q. N: }( ]: n1 @, [

2 P4 B1 g* C0 H: b2 E% s' v; Y0. 安装yay" |: u) x$ d6 R9 a5 @& S
7 `: }* W6 l7 F. A1 L
初次听说AUR和yay的读者,可以先添加Arch Linux CN源。同样是编辑/etc/pacman.d,在结尾添加:
; S# S- O( c0 |/ U2 _0 q2 E0 h/ j0 z
' i  {: Z- S0 H$ X! {% d; G% e( y[archlinuxcn]$ g; `) M6 J( j6 h4 ~$ {& e
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch7 s) u& n) M+ D

$ Z  {# c$ P* A  S然后安装密钥包,以及yay本体:
6 N  j  a. r% J- F" g* ?$ e  B; z/ M4 }+ x1 a5 S6 {
sudo pacman -S archlinuxcn-keyring yay
5 `& \& ^. P3 k$ k! r  e; R; N* \! T! z3 c) Z3 \) o  o2 e5 V
1. 安装LinVST本体
' ]7 k" |3 |' w- `! C3 q/ ^, W4 Q) ~) O
首先安装LinVST。AUR的包分为源码包和二进制包,后者开箱即用,前者则需编译。建议选择二进制包。
! h- `# A# \6 g# e# 源码包% y: g9 _1 X* w( q9 `
yay -S linvst linvst37 Z- E5 f/ `9 J/ _5 d  B+ B
# 二进制包
+ W1 J: a% e, {  W: s8 \; Kyay -S linvst-bin linvst3-bin
8 L: `5 A1 x4 v' G9 H
. A; ?) Y0 o, l如果需要增强版本,则安装:
! j. h: n! x6 V1 o) k1 e( ], K4 b8 c8 g
yay -S linvst-x-bin linvst3-x-bin
2 |6 l* J& e1 S$ Z) l/ v7 c' f4 U3 C' Z9 Q- O, y8 c
注意:采用源码版编译会有两个问题:
( D& w7 B, T' _! c, B; _5 S- w+ g, C* Q
只有linvst能编译,linvst3会在编译附加组件ArchStudioUtils时出错。' M0 k5 i+ a8 l7 W3 `$ |- b$ i
生成wrapper必不可少的linvstconvert没有编译。用户必须手动进入源码的convert/目录来编译才行。; c/ r5 g: A. s2 `; Z& j
2. 如果出现错误:“一个或多个文件没有通过有效性检查!”$ `/ B' z/ X; Q+ Q0 c
( F( \; O% e) ]* q3 A. {& O
但是,由于LinVST的二进制包更新与AUR PKGBUILD的MD5值不同步,会出现能下载成功,却通不过有效性检查的情况。这时要手工修改PKGBUILD文件,去掉有效性检查的部分。. n, q! E' r! o6 D; Y% E

) B# d4 L/ Q2 A首先进入linvst-bin包的yay缓存目录:
: q  }, D8 L: p5 D. @6 n
7 f* u  `5 v- Bcd ~/.cache/yay/linvst-bin/! ~2 X7 z  a5 o/ p. g& N

5 y/ ]+ z+ w+ K; t然后修改PKGBUILD文件,更改md5sums=(xxxxx)一行,把括号里的字符串值改为SKIP,表示“跳过有效性检查”。注意大小写:/ y3 t3 h9 N8 |# d

( b/ T3 r0 K2 l9 e# 修改前,字符串值为MD5校验和) {7 r! E: G& |% R% a) D
md5sums=(68b329da9893e34099c7d8ad5cb9c940)8 y1 Y( @0 `' [: R; ]

1 ]6 i4 c3 T# v# 修改后,字符串值为SKIP0 i1 _! ?% q* ?8 o0 o8 C8 `- L5 D
md5sums=(SKIP)
8 s. M5 u- }" {. q& ?9 f; g6 ^, B$ {! f
保存后,运行makepkg,生成安装包:8 b3 A0 B. r' b" T& |  \3 @; C
% j/ L5 Z2 E3 W6 q; l
makepkg
3 D8 |4 H0 ]) |0 G* g% w
6 k1 C: v! q7 ]9 @9 e4 p生成好的安装包位于当前目录,文件名为linvst-bin-x.y-z-x86_64.pkg.tar.zst(x,y,z为版本号)。可以直接安装:" e$ w" f  X6 k' A2 F2 ]& f
! q( C* d' w( \2 {) s
sudo pacman -U linvst-bin-x.y-z-x86_64.pkg.tar.zst
1 S8 ~! I! [* o, c2 ]$ I- V( k6 `7 N$ v& a5 R. _, U
用同样的方法,制作并安装其他几个二进制包。
8 A2 g5 R7 X; }! F
4 D% A0 B! p* r- A3. 生成wrapper
: k. T8 i! u: N; j( w0 V( w# H  |' u- P5 E% Q3 O4 s! D
LinVST用于生成wrapper的工具有以下几种,它们界面大体相同,须从终端运行:* f8 M( q) D, y- _* \! b0 X, [2 v

% w1 ]$ k+ m- W, alinvstconvert、linvstxconvert、linvst3convert、linvst3xconvert:指定一个文件夹,然后由其中的VST插件生成对应的wrapper。
9 h/ [) `3 \! @以上工具加上tree作为后缀:递归寻找子目录下的所有VST插件,为其生成wrapper。3 J, M& ~' e6 J
如果所有的VST插件都在一个文件夹里,则选前一类;而如果位于若干个子目录里(比如部分VST插件带有附属的文件,要与插件本体放在单独目录中),则选后一类。
6 B; a+ i( F6 C0 Y' ^$ _& ]5 c) v5 X/ U( z
运行后,出现这个界面:
1 K2 Y' L1 B2 y$ q8 O: U5 S1 k+ Z/ P; H
9404_1612847445_thumb.png
3 E6 F4 H6 e8 c7 ~/ ~. H  f2 X# w( y$ b& h( e5 ]0 M5 J* Y& E
首先把你的Windows VST插件统一放到一个目录中,建议~/.vst(VST2)和~/.vst3(VST3)。
0 w$ Y$ N! l0 g+ B在生成工具界面中,选择LinVST库。点击【Choose linvst.so】,在文件对话框中定位到/usr/share/LinVst,选择linvst.so。其他几个VST3和增强版的库文件也在该文件夹中,如果是linvst3convert,则选择linvst3.so,以此类推。
3 }, ?$ K6 e' r4 z然后通过下方的【Choose dll folder】,选择Windows VST DLL所在的文件夹。(如果是linvst3convert,则界面是【Choose VST3 folder】,选择*.vst3所在文件夹)。
2 Y2 ]4 {0 |6 i: a  \( N& g( ^点击【Start】生成,随后VST插件目录下就会出现与插件同名的*.so文件,即原生VST wrapper。3 f2 O0 p% _3 e/ c" m% R: A  d& t$ z
最后把插件目录添加到DAW中即可。实测,REAPER for Linux完美支持。% j0 i: S6 z' u* w0 _! t
注意:' U$ i# l+ B  {) k2 z

/ V5 a+ }1 y' t. e- K1 S0 S8 AVST插件和生成的*.so文件必须在同一目录下,否则LinVST会提示找不到插件。6 g; z0 G. Q5 c9 }$ }1 Z
Wine的兼容性# v8 a& B" f% Z7 z, F. W
) R  P0 g  T# ]6 _: a4 g0 x
Wine是一个持续开发的项目,这是由Windows的复杂度决定的,开发团队不可能在短期内适配真实Windows下的所有特性,并保持其稳定性。因此并不是所有的程序都能完美运行,包括VST插件,测试中程序挂掉、出现Bug,在所难免。
% V& t  Y. D, U: G/ {0 q
: e1 d+ i( b- h幸运的是,有些开发者会考虑到Linux的生态,会优化自己的应用程序,使其能完美地运行于Wine。REAPER就是一个很好的例子,它的Windows版本可以直接在Wine中安装。之前REAPER并未推出原生的Linux版本,官方特别在下载页中提到,“Windows版本可在Wine下运行良好(For Linux users, the Windows version works well with WINE.)”,便利了Linux用户,也实现了开疆拓土。$ W- R  l3 E/ a6 b, t
  V# P6 I( c' D1 n
即便如此,REAPER仍属于少数。大部分的应用仍需自行去测试,检验其在Wine下的兼容性,以及事后会不会出Bug。' Z* v/ p/ ]# Y  ~
% S9 A0 F: N  {8 K4 b
我所做的测试1 a9 ^0 y: ?6 q

, i4 Q, i  P# f6 W6 r) d7 `Kontakt Player:我用Wine下的REAPER for Windows测试,它可以在REAPER中正常加载并播放NKI采样,表现与Windows下一致。不过,如果在REAPER中就地重新加载(选择“更改当前VST效果”后重新选择Kontakt),则会导致长时间卡住,可见并不完美。7 U& ?) |; ~0 z4 Z# u- e; E
Synth1:一款免费、强悍的合成器插件。
+ b- O0 w$ B) ?& U5 m在LMMS下尝试用VeSTige打开,但没能启动成功。相反LMMS自带的VST宿主程序(RemoteVSTHost.exe)还卡在后台占用CPU,只能手动结束。
# Y9 M  [& X# A% n5 x移师REAPER for Linux,借助LinVST,顺利运行,体验与Windows别无二致。
, q, G* i6 h1 i, ^4 L3 S8 E" e
1 D2 p3 k3 W* ^# U" W$ ^3 l( W后记
. [8 l4 o8 M+ K+ e+ p( ^7 O以上是作者在Arch Linux下试玩音乐制作软件的体会,发掘了Linux的别样用法。由于厂商适配策略的不同,并不能保证Linux一定能拥有不输于Windows和MacOS的体验,但当下的Linux至少不存在这方面的空白。/ m& [8 N/ A' t/ d3 U

) W- j' p- N- x6 \. ^2 S" 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-6-30 13:48 , Processed in 0.051614 second(s), 23 queries , Redis On.

Powered by Audio app

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