音频应用

 找回密码
 快速注册

QQ登录

只需一步,快速开始

阅读: 32564|回复: 3

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

[复制链接]

225

积分

2

听众

64

音贝

音频应用

Rank: 1

积分
225
发表于 2021-2-21 | |阅读模式
音频应用公众号资讯免费发布推广
Arch Linux 打造成音乐工作站的几条经验! |! o4 [' ?) T4 X
作为程序员+音乐人二合一,我的系统环境横跨Windows和Arch Linux。原本Arch Linux只用来做开发,但这么强大的系统,我总觉得它还有无限的可能性还没有发掘出来,比如,做音乐。
! A' w' ^% \; r; x+ }" q. Z- s
; B) h! J: O* S! Q+ W/ _相较于Windows,作为开发者首选的系统之一,Arch Linux有以下难以比拟的优势:6 p1 N) b" @; y8 |" O

3 H7 D$ c. y- k4 L2 y1 Q运行速度快,内存占用量较小,轻便自在;
( Y" A" e# e0 T" c9 s/ WPacman软件库,应有尽有,安装开发工具轻而易举;
# W) |6 b/ C- ~# s安全可靠,不怕病毒;
) x! l% `- O8 q对老电脑、老设备分外友好,十年前的ThinkPad X200照样做主力。* ]  b, U, b* X; v; `  ~3 y
不过,不管是哪个发行版,Linux总有一点比不上Windows和MacOS,就是音乐制作——很少有音频软件厂商能够提供原生支持Linux的音乐制作工具。尤其是Native Instruments这样的业界巨头,只专注于Windows和MacOS,不会为Linux提供任何支持。实在是可叹。
4 z1 n- P- u' m+ R6 _( j& p 1317_1613898821_thumb.jpg 3 r) L* w4 o, \
幸运的是,开源的力量是无穷的,既然Linux能普及,总有大佬在填补这方面的空白。各种适用于Linux的音乐制作工具链应运而生,从底层驱动级别的JACK,到对标业界标准插件规范(VST、RTAX、AAX、DX、AU)的LADSPA,甚至完整的DAW——LMMS、Ardour、REAPER for Linux,应有尽有。从此,Linux不再是没有音乐人造访的荒漠。6 z( F1 n$ h& [( S6 j

' @( i, Y: }% T6 b" k) ~" n, P8 b" V6 g8 n2 \1 k- J
Linux作为音乐制作环境的必备要求
+ O8 C' p6 @9 B* f) S要想把Linux打造成音乐工作站,需要进行以下方面的配置:
( @. H% J& P; \
8 e  D* P: B+ O配置好低延迟的音频接口——JACK。6 f4 s- ?+ Z7 G; |( t; m
安装必要的音乐制作软件。6 e! @2 D$ s& P- o
安装兼容环境——Wine、LinVST,用来使用Windows下的VST插件。
2 t  i! t2 b" D) d" a6 d
+ c, \8 l, y% H2 n( ^9 f第一:安装与配置JACK
7 S& @6 h, b' [5 ~6 V要把你的Arch Linux打造成音乐工作站,首先要做的就是配置音频服务——JACK。JACK是一套高性能、低延迟的音频服务程序,它基于Linux底层的ALSA,可为音频应用程序提供低延迟的音频回放、录制支持,相当于Windows下的ASIO,以及MacOS下的CoreAudio。4 X3 `% `6 E- K! l

7 e- I! b; M( ~' h3 ^2 R安装哪个版本的JACK?
$ n' k  @7 q( Q, b: b9 }2 r
2 q' w  N( x/ j% Z1 \一般的发行版会提供两个版本的JACK:
3 ]  h3 I4 h+ ^" t* R4 [9 b# V  [7 Y- `' u- \& @  R$ n
JACK1:包名为jack,用C语言编写的最初版本:
" E1 F' f& ~+ K# G: `5 w只有音频服务功能" X) E' G: x5 @) f0 i* U
对系统要求苛刻,需要配置用户权限、realtime权限才能使用' x" s' p8 V% Q" P7 I- s: R/ P
独占控制声卡,其他程序无法再播放音频, R" U9 A. x2 p# y
JACK2:包名为jack2,用C++重写的版本:2 q4 D  t% K" W
支持DBus协议控制% m: S  n7 Q( C; q4 T0 g
支持将PulseAudio、ALSA重定向到JACK,从而兼顾其他使用这两种音频服务的程序
- E7 c- Y& }( y5 b  F& n无需配置权限即可使用7 ~% d" _. f6 F5 q# c, i' |
先给出结论——选择JACK2,不要选择JACK1!
) ~. Y5 E. u1 [虽然JACK1是最初版本,包括Manjaro、Artix Community在内的多款发行版都有预装,但它并不是开箱即用的。想要使用JACK1,首先要配置realtime权限,然后再把当前用户添加到audio用户组中,重新登录后再通过QJackCtl这类工具来手工启用JACK服务,非常麻烦。+ b( {8 T$ ?( O9 I( [9 E/ I* x

: h0 K: q( W% K- C# u) M加之,JACK,和PulseAudio是独占访问声卡的,其中PulseAudio是各大Linux发行版和各种应用首选的音频服务,这就意味着一旦开启JACK,其他应用程序就无法出声,甚至会引起一些无法预料的错误。
! x, {2 K- z- \* B/ \; v$ F. o: O9 w6 X9 Y! v
相较于此,重写的JACK2则解决了上述两大硬伤。首先,JACK2使用了全新的架构,默认情况下无需依赖realtime权限和audio用户组即可运行,和PulseAudio一样都能直接运行于用户空间(区别于root权限下的系统服务)。其次,开发者设计了一套“桥接(Bridging)”机制,能够把ALSA和PulseAudio重定向到JACK里来,从而保证其他使用了PulseAudio的应用程序仍能正常使用,听歌做歌两不误。
8 u5 ^6 A3 `; M8 ?, V/ h: ?. ^
2 l5 H, r; d& a$ h0 r% r# J显然,首选的JACK版本非JACK2莫属。' d1 v# v, \  j  J/ U4 W

1 q7 l, P% k8 E0 ^0 v8 F$ z$ Z安装与启动JACK2
* X9 X9 E" Z5 i) g0 |) B. S7 ?- n1 n
首先安装JACK2,以及JACK2的音频控制面板Cadence:( E, W" g1 x  S# Z, f& J

* V" p. N) M* R  {$ zsudo pacman -Ss jack2 cadence4 K) _3 x: V; ^

2 P+ z! Y) G" _% F+ ^1 H/ xCadence是一款优雅的JACK2控制面板,功能全面。首先打开它:
# `/ E6 W5 M+ F9 n+ l# b4 G 7588_1612847001_thumb.png " N" W) P" ]8 w8 \

8 E. F; L1 A! l! }% |8 E- Y' g+ A图1 Cadence主界面
- F  ?: y# F4 A! K3 i
& v6 [) |# Q) q8 N然后点击【JACK Status】部分的【Start】,启动JACK服务。若启动成功,则该部分会显示以下内容,表示JACK2启动成功,并给出当前的运行参数。8 `1 y5 U, D4 L6 j# a& v
; T1 x& I' p' U% {% y
4620_1612847017_thumb.png
& }1 C6 z' M+ N  l: T3 c" |* N) L- T图2 JACK启动成功后,Cadence显示的状态0 f$ l7 U* X% G7 p7 g# |

! R& x5 z4 r) N) V启动成功后,PulseAudio到JACK的桥接功能也会自动启用。打开PulseAudio桥接后,系统会多出一个音频设备,为“PulseAudio JACK sink”,是把PulseAudio重定向到JACK的设备,选择它即可让原先使用PulseAudio播放音频的程序都通过JACK来输出音频。
& m) u3 q' q- q, I1 J
  [  H# K& e0 f& b+ I# Y若不需要PulseAudio桥接,可以在Cadence下方的【JACK Bridges】的【PulseAudio】选项卡内手动开关这个功能。
1 j0 R) r' b$ g4 b4 ?! {6 Z2 H
; [% n+ e. X* ]. N! r- A! y 5494_1612847038_thumb.png 3 \# j* `5 |" _$ e
图3 启动JACK2后,KDE音量控制里多出的音频设备
5 K+ E# q3 X0 S5 k9 Q6 H' L. M- b4 ~: F; }, O% `$ F
提示:  @3 n9 y) `; l8 p# }8 n( j
2 t* i0 h: L5 f4 Y! c
可以勾选【Auto-start JACK or LADISH at login】,设置Cadence与JACK2服务的自启动。
# R% H, V: z& l9 Q' X& }3 j桥接启用后,原有声卡设备(见图3上方)的音量控制仍然起作用,用于控制输出的主音量。
欢迎厂家入驻,推文!免费!微信:yinpinyingyong

225

积分

2

听众

64

音贝

音频应用

Rank: 1

积分
225
 楼主| 发表于 2021-2-21 |
* g- [  d; u4 z% _5 O1 C
设置输出设备- e- T- \# n  R
# t* D9 u2 h8 p9 Q7 Q+ m
默认地,Cadence会把输出设备设置为Dummy(空设备),会导致无法出声。因此要手动设置音频设备。: l. l% ^' k, r& b' {
0 S5 ]$ f8 ^  [* P; P! E
在Cadence主界面里,点击【JACK Status】部分的【Configure】,进入JACK设置,然后点选【Drivers】选项卡。) U  N2 [! a: @: f, z4 i
2 M, r5 _. z' Q, K  G
左边【Drivers】一栏有五种输出设备:ALSA(调用本地声卡)、Dummy(空设备)、Loopback(回环)、Net/NetOne(网络源)。点选ALSA,以使用我们的声卡。其余选项不常用。0 m' t7 a# \6 ]+ P+ \# y
4363_1612847081_thumb.png 1 o) ]* B' k  S4 E/ W
图4 设置Cadence输出设备
: A4 S% [1 I" ]% }  A7 e- v. V9 x  w* C! p2 |/ a% s
此时右边就会显示出可用的设置项。
3 B/ n6 ?, S$ i5 d+ e3 ^5 \+ W2 g5 Y6 L! @
看到【Device】部分,设置输出设备。注意下面几个设置项,按下表设置好:  p5 V' ]. `9 j
) h" K0 e5 P  t9 {' _# j' w

. t0 c6 o2 D: d% U' }- g, U$ [设置项
说明
取值
Device/Interface
选择要给JACK使用的设备,包含输入、输出
hw:0指向默认的声卡设备
Input Device5 ~$ o, ?1 V/ i7 A- U  z- `
Output Device
单独设置输入、输出设备3 c% [5 ]* A# F8 H
只有在Duplex Mode勾选后才能设置
hw:0指向默认设备的默认接口
Duplex Mode
勾选后,可以分别设置输入/输出设备% U+ b) u6 d. J4 o6 T6 D+ K  A( J
否则全部使用Device/Interface中的设备

$ `3 r3 r$ u* f' ]
Input Channels( \* L1 f! q0 x$ Y! Z
Output Channels
输入、输出通道数
默认值为0,会自动指向该设备支持的最大通道数

# O1 ~0 k7 V- d8 B  h( ~然后看到【Properties】部分,设置以下两个参数:
# Y2 R" s2 o: K+ }( F  I3 x# Y8 ^* j# G$ [& ^

( }6 m$ R( [+ m$ v) K  A6 Z0 ]$ ~设置项
说明
取值
Sample Rate
采样率
一般音乐制作用44100或48000即可) {6 U' i) Q& O- P2 W, T
要求音质则可用96000或192000,但声卡不一定能支持。
Buffer Size
缓冲区大小
取值越小,延迟越低,但在集成声卡上可能会导致爆音。4 ?9 ?+ m( d0 G, r" ?* |" W
一般设置成256~512,一般的集成声卡和独立声卡都能兼顾延迟和音质

# _% e6 n7 m/ |, O" m
& R" v+ _3 Y5 `2 q& R1 ?7 I

4 j' U& K  P- P9 o* W+ w其他参数保持默认值即可。
" K2 C! z; I* f7 G
9 _9 o8 `% z  n设置完成后确认,先后点击【Stop】和【Start】,重启JACK,即可生效。/ F% C% S& O% g% i/ @4 B8 u
: h- I6 Q% D# ?# l8 `  r2 L) o

9 z* |& ]) J9 `第二:安装Linux下的DAW
# J; t# o9 z, d6 o6 h: c0 uLinux下的主流DAW软件不多,几大商业DAW大厂(如Steinberg、AVID、Ableton)基本没有适配Linux的计划。但一些优秀的开发团队推出了适用于Linux的自由软件DAW,比如:
0 n7 E5 k. s1 Z3 S; h0 `: e9 m6 y3 Q+ g1 {  `' }
Ardour:偏重于混音和后期的DAW,适合处理乐队、Vocal录音。调音台大厂Harrison的MixBus就是基于Ardour开发的。
5 ~( w6 O7 j) e+ D1 ILMMS:完成度较高的全功能DAW,拥有钢琴窗,适合MIDI编曲。它自带大量的效果器,以及一些模拟游戏机的音源,开箱即用。
6 ^: S: L6 O; [1 @Mixxx:开源的DJ工作站,严格来说不是DAW,专为现场Live打造。
# E8 a2 K& J, M* Y以上软件皆可直接从Arch Linux的官方源安装。因篇幅限制,这里不介绍软件的用法,读者可自己体验。" S" R; }- j3 l! h5 ?9 f. |
7 p5 r0 c( X1 f3 J. S. C* p
sudo pacman -S ardour
" q% a! W; f  G6 ssudo pacman -S lmms
& j+ T( l$ E- bsudo pacman -S mixxx
/ g- S" l/ C& @% E& \. w8 Y作者使用的是强悍的商业DAW——REAPER。有别于其他大厂,它提供了官方的Linux版本,能直接使用专为Linux开发的VST插件;且其Windows版本也可以借助兼容层Wine,在Linux下运行。
* }7 }4 p4 p" ~' v5 v
0 c8 o1 L1 N0 X0 r5 S; ~1 A; X% ^# Q, B7 A% \1 Q
第三:安装原生效果器插件
2 W" \  L! p# Q* M- S) P# {除了DAW,一些优秀的开发者也推出了同属自由软件的效果器插件,涵盖LV2、LADSPA与VST等几大格式,满足Linux下音乐人的使用。它们同样可以在Arch Linux下运行。这里先介绍两款插件:3 a- _1 b- }, X* Q: M

: p& l) x+ |9 f- PLSP Plugins
' S0 ?1 x( Z. ?, ]& k
% W3 W* e# p  |$ D9 j3 f& o全名Linux Studio Project Plugins,是一套专为Linux打造的效果器插件,旨在填补Linux下缺少优质插件的空白。它囊括了混音所需的一系列效果器,包括压缩器、延迟效果器、图形均衡器、多段均衡器(类似于Fabfilter Pro-Q),甚至扩展器(Expander)、频段压缩器、侧链压缩器这样的高级玩法。部分插件还提供动态的频谱图显示,清晰直观。
! I" ~; _- b0 E/ t
4 m' v6 Y" g$ L& U& k; i比如,下图所示的压缩器Dynamic Processor Stereo:
- T8 h) u2 H- }/ D, e 5931_1612847184_thumb.png 9 v0 h. a7 J  ]2 I
Dynamikprozessor Stereo
2 _% d; j  O; q7 O
# j8 D( L( h2 k6 K! d7 g% O, g- ^以及多段侧链压缩器Sidechain Multiband Compressor Stereo x8:9 }/ O5 o  f8 e% A, W
5265_1612847154_thumb.png 7 m# K$ i- j7 K: \# m
Sidechain Multi-band Kompressor Stereo x8% M9 t% a  o3 Z& N+ {2 ]) S
- x4 d- r9 b6 V' V2 X6 m* U
在Arch Linux中,直接安装即可。
. e! \. v0 `# s: ^. {1 A5 [' J
/ c# G6 r) M* v! `) B! o  H0 Jsudo pacman -S lsp-plugins
2 w, t# b4 p3 |' ?* k
. g, m5 e( p" l% r: K( o- ?Dragonfly Reverb
, Y' q7 B5 E) P. E5 _( o/ \, a. ^1 W6 m
这是一款非常高质量的混响工具,与商业DAW自带的不相上下,用彼此独立的几款插件来实现大厅(Hall)、房间(Room)、板式(Plate)混响,并提供一个反射效果插件(Reflections)。& z9 }2 T8 x9 Y
* z9 U9 `- R1 D# T
4834_1612847212_thumb.png
  U% d" ^! q8 F8 ?+ A" O它也可以直接安装:3 i# L; h& V5 H0 I1 a% |: ~

: `0 \( `# d& p) W* u, S7 i6 ?sudo pacman -S lsp-plugins
* h9 [+ s8 }6 y& S+ M* P  a8 ^1 S. u) J' |5 R. {% h5 p' B
插件的安装目录
) u0 a8 ?5 Y, w) c+ r0 I* Y. t- E, n  @
Arch Linux下,通过Pacman安装的插件如果提供VST版本,一般都会放在/usr/lib/vst下。把它添加到支持VST的DAW VST扫描目录中(如REAPER For Linux)。" _" Z# y/ [# g* s7 ^& K: y
+ y$ ^# a: U: [( f( z9 J
* }- |* y* j) y
第四:使用Windows下的VST插件8 v) W  o' G; ]! A; n2 T# Z8 G& K, f
我在上文里提到,目前主流的商业音频软件厂商,只会把精力集中在Windows和MacOS,往往直接忽略Linux。这就使得计算机音乐制作领域的大半壁江山都不属于Linux。好在,Wine的发展,使部分Windows专属的VST插件得以在Linux下运行,一定程度上弥补了这一缺憾。$ W/ f3 C* `7 A! d3 q" t
# e+ T3 K: Q; Q+ I2 m2 u  f
接下来就介绍如何在Linux下,给DAW装配上VST插件。
0 K$ \( `8 P2 c6 A/ m( I+ N: O- s/ A! I- V5 n# K
Wine的安装和初始化. p  f6 T6 F5 [! Y
+ X4 ]5 b( _0 `  ^7 W" t: i" C0 T
Wine是专为Linux和MacOS开发的兼容层,让你能在Linux下运行Windows下的程序。
, Q( f# g# W  o* S7 j
! X* G8 J+ L- a) l0 @3 Y1 Q5 q; ]在Arch Linux下,要想安装Wine,首先须开启multilib源,这个源默认情况下是不启用的。9 O3 M* M% N- v
8 q5 C4 _3 y. w6 k1 z) x
sudo打开Pacman的配置文件/etc/pacman.conf,然后取消注释以下两行,保存:# ]/ y8 k* j: S$ f# x
. K! B7 \1 E3 [& x
[multilib]
7 D9 [5 ]/ M( k: s4 ?Include = /etc/pacman.d/mirrorlist
) w) {$ t" J* ]7 m
% ~) c) f8 r2 Q! ^' \' ?' E: q注意:上方还有一个multilib-testing,收录测试中的软件,可能不稳定,一般不启用。8 V: g/ R- T% d8 Y+ B$ q+ q/ a

# o# F" l5 O8 O  O, M% H更新软件源,然后安装Wine。下方的wine-mono和wine-gecko分别为.NET运行时、浏览器内核,为可选组件,但最好装上以免Wine在初始化时提示安装:, y* `  D, u( L; A

0 ]3 v. v& i2 b. |8 Nsudo pacman -Syy$ e2 ]; [6 ?& X* p5 X% e
sudo pacman -S wine wine-mono wine-gecko1 n) j) _; B7 }4 Q

. Y- m5 h; F, T% y0 p安装时可能需要选择用哪个版本的libfreetype,保持默认值就好。* ]6 G  L9 B( {) Q1 y
6 V+ L, p1 S* K& h, ?  a0 G
安装完成后初始化,运行任意一个Windows应用程序,或是运行winecfg(Wine的配置工具),即可启动Wine,它会帮我们创建一个默认的“前缀(Prefix)”。这里的“前缀”是Windows程序的运行环境,相当于一个个沙盒,每个前缀彼此独立。
! S% f/ m, ~9 ]+ D& T
欢迎厂家入驻,推文!免费!微信:yinpinyingyong

225

积分

2

听众

64

音贝

音频应用

Rank: 1

积分
225
 楼主| 发表于 2021-2-21 |

6 Q$ }5 t* o$ f. X, M' }! q使用VST插件的方案
; d+ U; `* ~: M+ `! I; |
: o, S3 \' f  I( SLinux下的原生DAW,主要有两种支持Windows版VST插件的方案:8 R0 M  p/ u# J9 h3 F" k
( O% P, r, b' d# _
使用基于Wine的桥接器,将Windows版VST插件转换成原生的Linux VST插件,如LinVST
& o2 l% b$ N* J- z/ h$ ?2 c1 S/ i原理是构建一个原生VST格式的wrapper,宿主在加载wrapper后会自动调用桥接器的host服务端,从而利用Wine加载VST本体。
' B* c: W* |0 ]# y8 ~2 w9 P通用的方案,只要DAW支持原生VST,就可以用。5 z% m! C0 g' i: {- W  x
内建桥接器,即采用自己编写的桥接器,如LMMS中的VeSTige
: N# B5 I' v1 n) E只有少数的DAW有这个功能。
" Y! ^! [  r3 J- y, u( o另外,还可以直接使用Wine来运行Windows版的DAW,它会像在Windows里那样加载VST。它基本不需任何其他配置,但不具备普适性,不能保证所有的DAW都能正常运行。目前兼容性好的只有REAPER。  j# \; a# t: ~8 N
6 X6 j  J) {3 v; C5 H$ }5 H
方案一:内建桥接器# B% M/ K. R' y% I% y* o

2 J. U  D6 x2 b& D& T, m% T& ]; y; D以LMMS为例,它附带了专门的桥接器VeSTige,可以直接像在Windows那样,加载*.dll为扩展名的VST插件。) g3 s( _1 S  x

, u) E+ z0 q) C 4110_1612847300_thumb.png
8 M: o% t0 k! [- F: b0 F4 U
  @+ }; J9 v6 n操作步骤如下:  C: \2 D  }" a4 s" R+ }

& }9 |* n( X2 v( u% R" h8 E点击左侧的Instrument Plugins(音频插件);
( `0 o: ?/ |1 p$ G7 I8 j插件列表出现,在下方找到VeSTige,拖到音轨视图里;
/ `& d" p, u/ A* D点击音轨视图里的VeSTige图标,打开插件界面;5 h) t9 K* u5 `5 G8 _
在插件界面中点击“打开”按钮,定位到VST插件目录,打开它;
% }6 P# \- ^" ?, ~" ~2 P4 @- R! z可以点击“Show/hide GUI”按钮来显示或隐藏VST插件的界面。: x6 V4 b5 R  g- L
能否加载成功,仍然因系统环境和Wine的版本而异。如果无法加载,则使用htop,把RemoteVSTHost.exe这个进程结束,以免占用过多处理器资源。
; @4 u9 ], V' }3 g8 d: j' L* L1 ~# L# o+ a* {2 B) M
方案二:使用LinVST
; M4 u, ~$ Y% `* J  r/ y) L% B- I" L' B! O) c: q/ Y
LinVST是由OSXMidi开发的桥接器。类似于Windows下的jBridge,用户通过它提供的转换工具,创建一个原生VST插件,作为Windows版VST插件的wrapper,接下来只需在宿主中加载即可。
' p# ~  @+ U7 V% W0 t( ^" Q9 y, `( F' u
它同时支持VST2和VST3,分别对应两个独立的项目:LinVST2、LinVST3。它们各自还拥有一个增强版本——LinVST-X和LinVST3-X,允许一个VST插件实例被共享,起到节省资源的目的(例如把一个Kontakt实例用在多个音轨上)。) G5 A' E& w' H8 ]% Q0 T3 C

$ E4 z/ V. @& CArch Linux的官方源没有收录LinVST,须通过AUR安装。笔者用的是yay。/ j* y' H/ K7 W0 p1 ~$ m  A

4 Z4 J- M4 ?5 S$ j8 I1 d6 ^: b0. 安装yay  p5 R& T* S. \; d& d

% `* A! R; f" l: W初次听说AUR和yay的读者,可以先添加Arch Linux CN源。同样是编辑/etc/pacman.d,在结尾添加:* X. T" p3 y0 H  m( e; ]+ F5 C

9 ~; y$ ]3 y& a( p7 t[archlinuxcn]6 e/ [( X& k- q, @
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch: e# W+ N6 y% P8 K: Y
" \& y& t9 }- t; x
然后安装密钥包,以及yay本体:
7 o. I4 V% B1 |
, w, h" ?! ?" k# zsudo pacman -S archlinuxcn-keyring yay0 ]# h# i% Q" N% m3 {$ v: z

: E7 a5 q# }$ J/ S1. 安装LinVST本体
2 c% T3 f# h8 n3 K( R( l; U# k( @# w" o% o+ |1 o7 L/ y$ q. P# S& ~
首先安装LinVST。AUR的包分为源码包和二进制包,后者开箱即用,前者则需编译。建议选择二进制包。
, V0 Q4 |% R/ r# ]7 F* U4 \# 源码包
- v& e: h) b2 t) S8 O; ryay -S linvst linvst3
3 s, j# @0 Y! z. k# 二进制包
; `4 v1 z% S/ X  ]yay -S linvst-bin linvst3-bin
/ M# m) e& j$ P  |: ?4 ?4 P8 Z& Z: `! r; J7 U
如果需要增强版本,则安装:5 |% D& ~& u4 l* ?( v- f
* K4 O3 S1 {' m3 t3 o4 F- G. t8 i
yay -S linvst-x-bin linvst3-x-bin+ }$ t& Z+ s5 u: O% [* ~
3 u/ F. l4 @: E- |- @
注意:采用源码版编译会有两个问题:# g$ k" l: t3 u# r7 Z1 ]- W7 D
: b7 h8 V$ m& R# G7 \- B  }
只有linvst能编译,linvst3会在编译附加组件ArchStudioUtils时出错。0 E1 d" R+ [; D
生成wrapper必不可少的linvstconvert没有编译。用户必须手动进入源码的convert/目录来编译才行。
# T- O. @5 A/ L$ q& A0 g2 T7 i2. 如果出现错误:“一个或多个文件没有通过有效性检查!”
( H! ^3 B) r; B9 H1 Q4 K* C* i* M
但是,由于LinVST的二进制包更新与AUR PKGBUILD的MD5值不同步,会出现能下载成功,却通不过有效性检查的情况。这时要手工修改PKGBUILD文件,去掉有效性检查的部分。
3 t. }# H/ T. n( k) Z0 A" r+ r( |& Y% j5 i
首先进入linvst-bin包的yay缓存目录:
  |! B# p0 M6 x$ N) `
) t) `* e6 P: C- t2 f5 ]cd ~/.cache/yay/linvst-bin/
# }- [0 u* G5 @1 t: h( [" r+ Z5 ~2 X6 Q* y
然后修改PKGBUILD文件,更改md5sums=(xxxxx)一行,把括号里的字符串值改为SKIP,表示“跳过有效性检查”。注意大小写:* K2 r6 a+ T5 p8 R$ X( s4 t# F

+ L7 y3 ]- ~3 c* Z# 修改前,字符串值为MD5校验和
" k) m# x; V) d& z  C7 imd5sums=(68b329da9893e34099c7d8ad5cb9c940)2 Y1 t! g' S1 p5 b( @6 D

9 ?0 [6 u% f& I9 k; D% i# 修改后,字符串值为SKIP4 y) {% U; Q) N3 u, {" l9 ^
md5sums=(SKIP)
. C0 _7 S' Y2 X. f) a( {$ L. c) g* E- s/ _; C% _+ A' t
保存后,运行makepkg,生成安装包:' w4 Z" K8 K# r, H- a! x3 n
9 M% x) e% _' A3 L; S( \3 W! H
makepkg
: W$ w; ]0 I: H" K* V5 c& l* x
9 c" e% h$ Q/ T" `3 g5 ~& d8 F" ?生成好的安装包位于当前目录,文件名为linvst-bin-x.y-z-x86_64.pkg.tar.zst(x,y,z为版本号)。可以直接安装:
/ [3 s% x- T/ R4 J; s
& s* w8 {8 D: u. Q( vsudo pacman -U linvst-bin-x.y-z-x86_64.pkg.tar.zst% x- ~: H, V0 \( Q. P
. }- g' B+ K" |; n7 L/ Y* K
用同样的方法,制作并安装其他几个二进制包。
2 X8 r: r- H$ H  E% e* |, a
5 c7 v, r( i" e7 c. g3 ^3. 生成wrapper
* c# i% f8 U) I, Y( a0 Q$ Z. g' {+ M5 Y& [6 f5 I+ @. R
LinVST用于生成wrapper的工具有以下几种,它们界面大体相同,须从终端运行:2 ?4 M( k9 Q0 |3 N$ S" E% x
) g  `. B. X3 |. R
linvstconvert、linvstxconvert、linvst3convert、linvst3xconvert:指定一个文件夹,然后由其中的VST插件生成对应的wrapper。
% n4 \, c, o0 j  X+ |) C以上工具加上tree作为后缀:递归寻找子目录下的所有VST插件,为其生成wrapper。( k4 {$ o1 _$ _6 w0 t
如果所有的VST插件都在一个文件夹里,则选前一类;而如果位于若干个子目录里(比如部分VST插件带有附属的文件,要与插件本体放在单独目录中),则选后一类。
$ R  O( g) S' Q4 T
& i% \$ y2 R: Y0 G% s' k运行后,出现这个界面:
0 S6 [& G: o1 {) L& T- u
+ _" c6 }- N/ i# u6 |, C+ I# @9 Q( ` 9404_1612847445_thumb.png / C7 U0 K0 F, P1 i3 b7 [

, g: X. F( K* H" G' X! n! X, e首先把你的Windows VST插件统一放到一个目录中,建议~/.vst(VST2)和~/.vst3(VST3)。' r" w3 G8 V$ t' o4 V  `" K+ t
在生成工具界面中,选择LinVST库。点击【Choose linvst.so】,在文件对话框中定位到/usr/share/LinVst,选择linvst.so。其他几个VST3和增强版的库文件也在该文件夹中,如果是linvst3convert,则选择linvst3.so,以此类推。# |& A  s& B4 y# }8 C
然后通过下方的【Choose dll folder】,选择Windows VST DLL所在的文件夹。(如果是linvst3convert,则界面是【Choose VST3 folder】,选择*.vst3所在文件夹)。; E  H" d1 `. B* A) f
点击【Start】生成,随后VST插件目录下就会出现与插件同名的*.so文件,即原生VST wrapper。' i; a2 T$ L$ ~) [0 I5 u  t1 {0 y% Q
最后把插件目录添加到DAW中即可。实测,REAPER for Linux完美支持。
' H, \7 J9 F- E$ u) t& s5 b注意:
3 W- i+ H# {3 r, n% ^6 e" Z; x( F
: H# ^+ P5 t& F' DVST插件和生成的*.so文件必须在同一目录下,否则LinVST会提示找不到插件。
# Z$ t$ f( o9 M2 v- L# D+ p& eWine的兼容性* p: X, b$ T9 j$ D  J

; h! C9 s, w8 X4 o9 N! KWine是一个持续开发的项目,这是由Windows的复杂度决定的,开发团队不可能在短期内适配真实Windows下的所有特性,并保持其稳定性。因此并不是所有的程序都能完美运行,包括VST插件,测试中程序挂掉、出现Bug,在所难免。
! Z3 O5 R7 E! f! s) R+ R, I& C
  ]7 s; H; j4 L$ S# w幸运的是,有些开发者会考虑到Linux的生态,会优化自己的应用程序,使其能完美地运行于Wine。REAPER就是一个很好的例子,它的Windows版本可以直接在Wine中安装。之前REAPER并未推出原生的Linux版本,官方特别在下载页中提到,“Windows版本可在Wine下运行良好(For Linux users, the Windows version works well with WINE.)”,便利了Linux用户,也实现了开疆拓土。/ \+ [/ k. T* V% ]7 S

2 p; ^8 n+ V9 h- Z即便如此,REAPER仍属于少数。大部分的应用仍需自行去测试,检验其在Wine下的兼容性,以及事后会不会出Bug。
; d2 o/ o: {2 u  ~. X
' f  z5 q, u- r我所做的测试
, z3 o. G1 ~  ?( \5 ~
6 t4 }1 X6 N# R3 X- X& iKontakt Player:我用Wine下的REAPER for Windows测试,它可以在REAPER中正常加载并播放NKI采样,表现与Windows下一致。不过,如果在REAPER中就地重新加载(选择“更改当前VST效果”后重新选择Kontakt),则会导致长时间卡住,可见并不完美。
( H) R! Z5 P+ w7 @6 ]3 V* U) h+ s- dSynth1:一款免费、强悍的合成器插件。: [0 z9 I5 Z- ?4 ~  `
在LMMS下尝试用VeSTige打开,但没能启动成功。相反LMMS自带的VST宿主程序(RemoteVSTHost.exe)还卡在后台占用CPU,只能手动结束。( s  [- h  \+ O9 ?2 U, Y% w+ W
移师REAPER for Linux,借助LinVST,顺利运行,体验与Windows别无二致。
# ?3 z1 x+ K5 E2 C7 Q" l2 J1 G) C# z4 F
后记5 e5 Q& S; [7 r1 Q. }1 L6 I1 i
以上是作者在Arch Linux下试玩音乐制作软件的体会,发掘了Linux的别样用法。由于厂商适配策略的不同,并不能保证Linux一定能拥有不输于Windows和MacOS的体验,但当下的Linux至少不存在这方面的空白。* t, ]6 O) L4 q+ r1 @

5 y3 @* A2 p0 d$ r0 W# R+ {' |, Q5 f7 C不过,在Linux下制作音乐尚有明显的局限性,体现在诸多商业软件缺少对Linux的支持。作者曾经在自己的惠普笔记本上安装Arch Linux,配置好REAPER和Native Instruments的Komplete Start套装,无奈兼容性差强人意,到最后还是只能回到Windows。要想让Linux能在音乐制作领域与Windows、MacOS一分高下,还有很长的路要走。
欢迎厂家入驻,推文!免费!微信:yinpinyingyong

8

积分

1

听众

2

音贝

音频应用

Rank: 1

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

本版积分规则

音频应用搜索

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

Powered by Audio app

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