音频应用

 找回密码
 快速注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

225

积分

2

听众

64

音贝

音频应用

Rank: 1

积分
225
发表于 2021-2-21 17:51:57 | 显示全部楼层 |阅读模式
Arch Linux 打造成音乐工作站的几条经验! w# j( f+ s' _" f" q
作为程序员+音乐人二合一,我的系统环境横跨Windows和Arch Linux。原本Arch Linux只用来做开发,但这么强大的系统,我总觉得它还有无限的可能性还没有发掘出来,比如,做音乐。# ~- [% W" f0 n( O' h# N
$ D0 E( A; s  ~* R# f
相较于Windows,作为开发者首选的系统之一,Arch Linux有以下难以比拟的优势:* |! R7 P0 Y1 Y9 E
: S9 s3 ]0 l: W, j* L# V% N3 T! r
运行速度快,内存占用量较小,轻便自在;; p/ E( X) y! S+ i) K
Pacman软件库,应有尽有,安装开发工具轻而易举;
, i# ?3 `: z5 X) G3 l4 q安全可靠,不怕病毒;: o8 }0 h! t; h: m
对老电脑、老设备分外友好,十年前的ThinkPad X200照样做主力。5 k: k5 _9 r/ M% t. i9 L% m
不过,不管是哪个发行版,Linux总有一点比不上Windows和MacOS,就是音乐制作——很少有音频软件厂商能够提供原生支持Linux的音乐制作工具。尤其是Native Instruments这样的业界巨头,只专注于Windows和MacOS,不会为Linux提供任何支持。实在是可叹。( G7 G3 K7 G3 K3 Y' {
1317_1613898821_thumb.jpg & e) W* N7 t# ^$ W" g
幸运的是,开源的力量是无穷的,既然Linux能普及,总有大佬在填补这方面的空白。各种适用于Linux的音乐制作工具链应运而生,从底层驱动级别的JACK,到对标业界标准插件规范(VST、RTAX、AAX、DX、AU)的LADSPA,甚至完整的DAW——LMMS、Ardour、REAPER for Linux,应有尽有。从此,Linux不再是没有音乐人造访的荒漠。+ V* q! K0 g- s: g) y

2 O0 ]: |8 O/ Y. D9 t7 ~- g: A5 P) }% J
Linux作为音乐制作环境的必备要求0 w3 @3 @. w# R5 j* b4 m6 Q
要想把Linux打造成音乐工作站,需要进行以下方面的配置:4 X6 |2 n" N/ e: q# q
) D7 {4 B8 v! x
配置好低延迟的音频接口——JACK。0 @; z, I" `- ^9 D/ \$ a* O: i
安装必要的音乐制作软件。; {6 j% R. q. L  _
安装兼容环境——Wine、LinVST,用来使用Windows下的VST插件。$ A  R# x/ O7 y. x, K" |6 }
  ~* t3 }6 g: z( |; L! T4 Y& @; U
第一:安装与配置JACK
- M* [9 c# S) E) \, v8 ~4 z: P要把你的Arch Linux打造成音乐工作站,首先要做的就是配置音频服务——JACK。JACK是一套高性能、低延迟的音频服务程序,它基于Linux底层的ALSA,可为音频应用程序提供低延迟的音频回放、录制支持,相当于Windows下的ASIO,以及MacOS下的CoreAudio。
3 y% Q4 U* [! P2 W! u4 ^
4 O$ Y4 B: i, o* c% K安装哪个版本的JACK?
7 v1 S, I0 |! D* d* a/ n/ y) U( G) ^1 ^9 j( R0 w  M
一般的发行版会提供两个版本的JACK:
* ?- Y" \6 p7 `. Y0 q1 K" e9 f- o& K2 d  \" n" C1 ]
JACK1:包名为jack,用C语言编写的最初版本:% D: F$ \+ G4 p$ {
只有音频服务功能. ?2 E/ G" `' Y! \
对系统要求苛刻,需要配置用户权限、realtime权限才能使用
- B" |. y3 m8 v6 ?; u8 q独占控制声卡,其他程序无法再播放音频
, w6 p, G, A& b; O9 dJACK2:包名为jack2,用C++重写的版本:3 X& b2 K+ _& E5 F8 d/ i
支持DBus协议控制
8 y2 T1 m' ]& R- u8 l1 C3 u" `支持将PulseAudio、ALSA重定向到JACK,从而兼顾其他使用这两种音频服务的程序( O' C3 c! u6 d# E! ?: J
无需配置权限即可使用% l/ v0 z: Z. O& W# k- F
先给出结论——选择JACK2,不要选择JACK1!0 i& X2 [% N' K5 v. T
虽然JACK1是最初版本,包括Manjaro、Artix Community在内的多款发行版都有预装,但它并不是开箱即用的。想要使用JACK1,首先要配置realtime权限,然后再把当前用户添加到audio用户组中,重新登录后再通过QJackCtl这类工具来手工启用JACK服务,非常麻烦。8 ~* P* ^# u. g6 w0 S1 W, d

7 L/ t5 E) R6 P  v% @( k; A加之,JACK,和PulseAudio是独占访问声卡的,其中PulseAudio是各大Linux发行版和各种应用首选的音频服务,这就意味着一旦开启JACK,其他应用程序就无法出声,甚至会引起一些无法预料的错误。. `8 i" b  r$ j% y1 w$ A
! N6 a: `. ^; J) u9 n, R- U
相较于此,重写的JACK2则解决了上述两大硬伤。首先,JACK2使用了全新的架构,默认情况下无需依赖realtime权限和audio用户组即可运行,和PulseAudio一样都能直接运行于用户空间(区别于root权限下的系统服务)。其次,开发者设计了一套“桥接(Bridging)”机制,能够把ALSA和PulseAudio重定向到JACK里来,从而保证其他使用了PulseAudio的应用程序仍能正常使用,听歌做歌两不误。; U; v( ]4 |; ~9 R1 t& N! ^

7 E+ N, \7 _0 X- b  H4 @显然,首选的JACK版本非JACK2莫属。
/ x3 L% d0 c4 ]) n1 K) r, G/ D# m* L% H
安装与启动JACK2
! f. ?3 W' }) R6 ?% X0 u- R. k% ^5 i0 ~- U$ [
首先安装JACK2,以及JACK2的音频控制面板Cadence:; r' r# T4 ~! `- b+ v0 a3 c
6 Q4 Z* v( J- y% j6 E# s0 u6 z5 i
sudo pacman -Ss jack2 cadence6 G# e. c/ A2 _0 R
8 e4 R% `0 j! j! k) C7 c
Cadence是一款优雅的JACK2控制面板,功能全面。首先打开它:5 [( M( E6 }% _, {2 p- ?
7588_1612847001_thumb.png
( x' m2 c0 o4 f7 |* ^! G2 g: j* o6 ^7 n0 ?
图1 Cadence主界面1 Y: T& F9 f% C; g7 @+ k3 ^6 M

3 I$ P# T% N" w8 @* ]- R: e7 d0 a然后点击【JACK Status】部分的【Start】,启动JACK服务。若启动成功,则该部分会显示以下内容,表示JACK2启动成功,并给出当前的运行参数。
4 O* L( P+ I  B8 v. v6 ~$ v7 [6 `# `! [9 d& p7 W4 l2 U
4620_1612847017_thumb.png ( k: X6 ~1 m3 D+ Y: t* O0 F
图2 JACK启动成功后,Cadence显示的状态
! l( _5 A7 {" j" r6 R* J; v2 L5 V( n" b; H
启动成功后,PulseAudio到JACK的桥接功能也会自动启用。打开PulseAudio桥接后,系统会多出一个音频设备,为“PulseAudio JACK sink”,是把PulseAudio重定向到JACK的设备,选择它即可让原先使用PulseAudio播放音频的程序都通过JACK来输出音频。
" `% b3 W% l+ Y9 n: D( ^
9 {  z1 Z' y% C5 i9 D" D7 w' x若不需要PulseAudio桥接,可以在Cadence下方的【JACK Bridges】的【PulseAudio】选项卡内手动开关这个功能。
. N% G1 I: \3 D
( M  @+ p; b5 u9 n 5494_1612847038_thumb.png & B$ r4 y) S$ h
图3 启动JACK2后,KDE音量控制里多出的音频设备
7 a2 Y7 Z% u6 M6 H3 t  Z
9 D3 M: D" X! A提示:& E5 m( E5 M1 w
4 s( m" M/ {! v( v4 F
可以勾选【Auto-start JACK or LADISH at login】,设置Cadence与JACK2服务的自启动。
* H6 \( H$ {: ~桥接启用后,原有声卡设备(见图3上方)的音量控制仍然起作用,用于控制输出的主音量。
欢迎厂家入驻,推文!免费!微信:yinpinyingyong

225

积分

2

听众

64

音贝

音频应用

Rank: 1

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

+ {' S0 S% M. J- j$ @6 S) g设置输出设备
5 I" {* j' i$ m  r' h
* E' `! |6 V* W, x9 \, \& S8 G; i默认地,Cadence会把输出设备设置为Dummy(空设备),会导致无法出声。因此要手动设置音频设备。8 M5 Y, A. ^! Z) k
  ]. e- Y5 R; @3 s+ f$ q/ q
在Cadence主界面里,点击【JACK Status】部分的【Configure】,进入JACK设置,然后点选【Drivers】选项卡。3 v% T0 u6 Q# d: D
/ r& y/ k/ O8 M7 C: L
左边【Drivers】一栏有五种输出设备:ALSA(调用本地声卡)、Dummy(空设备)、Loopback(回环)、Net/NetOne(网络源)。点选ALSA,以使用我们的声卡。其余选项不常用。! e1 s' p, [& i5 M0 ~/ S4 j
4363_1612847081_thumb.png * C& |. l) L3 G. ~3 \& I3 k2 C( A
图4 设置Cadence输出设备
3 V- L! \, [# h4 @; `# G. @$ [5 `8 O% k* @: u& ?
此时右边就会显示出可用的设置项。
  p/ U2 n- a& w! Z  B$ d/ z, D$ O, _4 C, m) L9 C
看到【Device】部分,设置输出设备。注意下面几个设置项,按下表设置好:& W2 ]" O6 @6 `9 Z

7 h) p0 O& B" B( j& W; [

# u: J3 `, \# t. \- K7 x设置项
说明
取值
Device/Interface
选择要给JACK使用的设备,包含输入、输出
hw:0指向默认的声卡设备
Input Device+ M8 W* S+ Q' |' E& @/ C
Output Device
单独设置输入、输出设备6 N! Q4 Q0 ]* J7 h  I  P
只有在Duplex Mode勾选后才能设置
hw:0指向默认设备的默认接口
Duplex Mode
勾选后,可以分别设置输入/输出设备
4 D; l! o  r8 u否则全部使用Device/Interface中的设备
7 Z9 \3 ?5 y0 c8 ^
Input Channels
/ K6 v3 v% p. O8 Y" O- ?5 NOutput Channels
输入、输出通道数
默认值为0,会自动指向该设备支持的最大通道数

' S* J; C/ A# J/ e/ V然后看到【Properties】部分,设置以下两个参数:
8 A2 c# ^2 t! h# U
, N& Y" M: k0 s1 t5 o
7 u! W! D7 ~% D2 k
设置项
说明
取值
Sample Rate
采样率
一般音乐制作用44100或48000即可) P; J6 c, f  f" @/ y
要求音质则可用96000或192000,但声卡不一定能支持。
Buffer Size
缓冲区大小
取值越小,延迟越低,但在集成声卡上可能会导致爆音。
: {& k, }  ^+ @; I* o一般设置成256~512,一般的集成声卡和独立声卡都能兼顾延迟和音质

2 {7 i0 _2 c$ D: \+ d: w$ [
: \9 ?8 |6 c- D! V4 O3 R1 H

- W% A( A7 [5 `% _其他参数保持默认值即可。
9 X& G$ Z  n6 b. |7 ?, K( f+ i+ n% L" D- M" h
设置完成后确认,先后点击【Stop】和【Start】,重启JACK,即可生效。% e- U, R" i# C! {2 X/ R% ~' O
9 a% _( w; L3 m( G6 a* D/ q
9 Y; _5 x1 C  o+ F
第二:安装Linux下的DAW
% R3 o- _+ j- D  D+ r- gLinux下的主流DAW软件不多,几大商业DAW大厂(如Steinberg、AVID、Ableton)基本没有适配Linux的计划。但一些优秀的开发团队推出了适用于Linux的自由软件DAW,比如:8 U. B6 }4 [# s4 F* M

. i6 C' d/ A' P! w- n0 ?" xArdour:偏重于混音和后期的DAW,适合处理乐队、Vocal录音。调音台大厂Harrison的MixBus就是基于Ardour开发的。
3 _. Q. {8 A$ A3 \! X* @" I% c8 J: tLMMS:完成度较高的全功能DAW,拥有钢琴窗,适合MIDI编曲。它自带大量的效果器,以及一些模拟游戏机的音源,开箱即用。  f# C1 u/ z' m' Q8 ~1 x. f
Mixxx:开源的DJ工作站,严格来说不是DAW,专为现场Live打造。
  z1 B; F0 n2 @, q$ c) H以上软件皆可直接从Arch Linux的官方源安装。因篇幅限制,这里不介绍软件的用法,读者可自己体验。
4 c4 t( i: E) Y
/ b$ C/ S8 E' I  Ksudo pacman -S ardour7 r8 Y3 w% N# I. \9 }1 Z+ g
sudo pacman -S lmms  H" Q6 ~- C7 I
sudo pacman -S mixxx
) D3 G- W, t2 Y1 r( N( P7 @作者使用的是强悍的商业DAW——REAPER。有别于其他大厂,它提供了官方的Linux版本,能直接使用专为Linux开发的VST插件;且其Windows版本也可以借助兼容层Wine,在Linux下运行。  M  i0 C) n  p5 f# j. b3 O# K

  C: I( P& [% t' _+ b3 A8 v+ w
  J3 W/ t6 r# _) r7 v第三:安装原生效果器插件
, V- i1 K; [! {3 a& l8 R除了DAW,一些优秀的开发者也推出了同属自由软件的效果器插件,涵盖LV2、LADSPA与VST等几大格式,满足Linux下音乐人的使用。它们同样可以在Arch Linux下运行。这里先介绍两款插件:5 ^5 J: Z, L# p+ |; g0 N( c
7 J) k, Q; {( z$ Y. I0 q& \
LSP Plugins
9 w/ P# c3 G  h2 ?1 z) ?" D: A% _$ V, u4 v
全名Linux Studio Project Plugins,是一套专为Linux打造的效果器插件,旨在填补Linux下缺少优质插件的空白。它囊括了混音所需的一系列效果器,包括压缩器、延迟效果器、图形均衡器、多段均衡器(类似于Fabfilter Pro-Q),甚至扩展器(Expander)、频段压缩器、侧链压缩器这样的高级玩法。部分插件还提供动态的频谱图显示,清晰直观。
3 y4 m2 A9 s! Z& `0 z) y( W1 \- l/ X+ f- [
比如,下图所示的压缩器Dynamic Processor Stereo:6 ?  k8 O' M  ~& [9 X! \9 y$ Z
5931_1612847184_thumb.png / f& R$ U* ^5 v* R
Dynamikprozessor Stereo
" D7 H5 g( t. a, Q2 ^: Y% X4 W$ u/ D7 j7 Y
以及多段侧链压缩器Sidechain Multiband Compressor Stereo x8:+ R: `& V1 d0 o+ l9 x
5265_1612847154_thumb.png ! M' ~6 [9 z( r+ w: h- o
Sidechain Multi-band Kompressor Stereo x8
  X0 P& ]  C  [4 |( q4 J
8 j$ E: l% ~: p8 E, Z! _在Arch Linux中,直接安装即可。
1 E9 C7 t8 |5 `% S6 ?
+ o( }5 g2 @* C0 F5 F- rsudo pacman -S lsp-plugins/ N9 a% G+ S: e/ F9 t$ T0 [

6 z6 Q9 F; c: f* ?. V+ a' lDragonfly Reverb
9 J, M; ]: l: ]7 O+ k" G5 b4 L) B( a) I7 ^
这是一款非常高质量的混响工具,与商业DAW自带的不相上下,用彼此独立的几款插件来实现大厅(Hall)、房间(Room)、板式(Plate)混响,并提供一个反射效果插件(Reflections)。% W9 v9 ^' ]7 R+ U2 V  l3 L
' F! W3 ~6 y2 R; w& m6 r; e
4834_1612847212_thumb.png . P4 C8 A6 [# V8 U- A; d
它也可以直接安装:
6 [3 p7 Z# p# o# L  B9 w6 v3 G% r8 ^$ U* k( s" J
sudo pacman -S lsp-plugins
( k. X! D  l7 B2 _
7 [; S  A  Y- f% I插件的安装目录4 ?3 @3 v6 ~+ g' b! [2 i
9 }0 q+ L6 n, y  M# j, _
Arch Linux下,通过Pacman安装的插件如果提供VST版本,一般都会放在/usr/lib/vst下。把它添加到支持VST的DAW VST扫描目录中(如REAPER For Linux)。
6 W+ O  T6 y+ q- |0 B
6 ^! }$ b0 Y$ u# x5 `" I& K! A- x" j2 h9 s6 f3 f/ W- y# f
第四:使用Windows下的VST插件* y& G* W8 q7 R3 J4 ]7 L/ \) D
我在上文里提到,目前主流的商业音频软件厂商,只会把精力集中在Windows和MacOS,往往直接忽略Linux。这就使得计算机音乐制作领域的大半壁江山都不属于Linux。好在,Wine的发展,使部分Windows专属的VST插件得以在Linux下运行,一定程度上弥补了这一缺憾。
6 n8 b. d+ g' R, Q8 N4 M& _, z1 g, Z5 R
接下来就介绍如何在Linux下,给DAW装配上VST插件。: \: v2 {6 l9 ?1 }# P% b4 a

, ]' J/ [% v: b: YWine的安装和初始化
7 q& o: j, J7 p9 I/ _# ~# s! [& t6 m/ U" H9 B  D. z" o" }
Wine是专为Linux和MacOS开发的兼容层,让你能在Linux下运行Windows下的程序。
0 J$ N* `' k! d8 f0 |
' N: g# ~4 N; [9 Y& ], L在Arch Linux下,要想安装Wine,首先须开启multilib源,这个源默认情况下是不启用的。- }! K7 N0 J) G# z+ L& k6 M
3 n* H( G/ B, r' X
sudo打开Pacman的配置文件/etc/pacman.conf,然后取消注释以下两行,保存:
( i7 D: s6 H9 Y$ F; z! K: }2 I7 y6 d& r' o) a* L8 |
[multilib], S; F7 g7 m9 [! h2 z$ |  x8 k( U. s
Include = /etc/pacman.d/mirrorlist
( e& s9 R( L5 ?  D' J; k# h$ o" A: j9 A! o& n, ~" i+ P8 H3 y: p
注意:上方还有一个multilib-testing,收录测试中的软件,可能不稳定,一般不启用。
0 T. y5 G& q* d/ x
+ ]; \" j% g" S' p更新软件源,然后安装Wine。下方的wine-mono和wine-gecko分别为.NET运行时、浏览器内核,为可选组件,但最好装上以免Wine在初始化时提示安装:8 |# C& F" v( [4 u6 ?6 w
" v8 |: ~5 a3 `8 i1 k& S0 r
sudo pacman -Syy7 S! u7 `- U# t
sudo pacman -S wine wine-mono wine-gecko# T2 U8 B/ l8 w- t/ _* [
) K' U: Z2 r8 a7 z5 @
安装时可能需要选择用哪个版本的libfreetype,保持默认值就好。: i" ]2 v* \5 ^9 j

$ a. X3 i' `8 }  _6 R( C9 l安装完成后初始化,运行任意一个Windows应用程序,或是运行winecfg(Wine的配置工具),即可启动Wine,它会帮我们创建一个默认的“前缀(Prefix)”。这里的“前缀”是Windows程序的运行环境,相当于一个个沙盒,每个前缀彼此独立。6 ]. ?" ?6 I( b
欢迎厂家入驻,推文!免费!微信:yinpinyingyong

225

积分

2

听众

64

音贝

音频应用

Rank: 1

积分
225
 楼主| 发表于 2021-2-21 18:23:44 | 显示全部楼层
- O% Z) k. W6 B$ A
使用VST插件的方案+ h- ]1 p9 h4 p% q1 c
# y/ U  H" V/ U. h  T
Linux下的原生DAW,主要有两种支持Windows版VST插件的方案:8 }) {: G# T  B+ [2 C

7 \; R' d1 }! R使用基于Wine的桥接器,将Windows版VST插件转换成原生的Linux VST插件,如LinVST
9 O$ g( U/ T9 R原理是构建一个原生VST格式的wrapper,宿主在加载wrapper后会自动调用桥接器的host服务端,从而利用Wine加载VST本体。% |9 ?3 b' C5 q+ T* M
通用的方案,只要DAW支持原生VST,就可以用。
) t) U$ L/ C* @$ a内建桥接器,即采用自己编写的桥接器,如LMMS中的VeSTige& |8 ^7 R% t' U: Y* s( g( W
只有少数的DAW有这个功能。
; _, p1 K+ z( }/ O2 e/ e9 D0 P1 y另外,还可以直接使用Wine来运行Windows版的DAW,它会像在Windows里那样加载VST。它基本不需任何其他配置,但不具备普适性,不能保证所有的DAW都能正常运行。目前兼容性好的只有REAPER。8 b% s- B! P3 [. Q7 ?& k) _7 j

. r9 s# S8 R+ }* S/ F/ B( `方案一:内建桥接器
9 {3 g* r6 t+ @
3 r" c% o$ ?4 d8 l以LMMS为例,它附带了专门的桥接器VeSTige,可以直接像在Windows那样,加载*.dll为扩展名的VST插件。# l" P; p' H* n% Y' \! Z1 p
* R0 a# E/ ]% D8 E* a$ T- i
4110_1612847300_thumb.png ; o" {: Z& T+ Y( s6 @* r
2 |+ G' B* Z$ |+ H1 q# i
操作步骤如下:
  \5 g( M; }/ H# W
( D* v" H. M$ f1 ?2 h+ x点击左侧的Instrument Plugins(音频插件);! u4 h  K/ ~* l% a1 o6 O
插件列表出现,在下方找到VeSTige,拖到音轨视图里;
8 D- K9 ]* A' |6 h' `- E* i/ @% |点击音轨视图里的VeSTige图标,打开插件界面;: X: p! P  l+ @0 d
在插件界面中点击“打开”按钮,定位到VST插件目录,打开它;
8 K  P) j7 r  ?! X. n可以点击“Show/hide GUI”按钮来显示或隐藏VST插件的界面。
5 n7 y. K: M5 E/ r- ]$ m能否加载成功,仍然因系统环境和Wine的版本而异。如果无法加载,则使用htop,把RemoteVSTHost.exe这个进程结束,以免占用过多处理器资源。
& V* x& h9 [" x" ]0 P
: J3 L! J2 [7 m9 l9 G, K方案二:使用LinVST, H+ }& i+ r1 W' N
+ i4 I* M1 L4 ?- A: R  A
LinVST是由OSXMidi开发的桥接器。类似于Windows下的jBridge,用户通过它提供的转换工具,创建一个原生VST插件,作为Windows版VST插件的wrapper,接下来只需在宿主中加载即可。
! m; r: N7 m0 U0 @* C( H; X( D% L) ~8 y' A) ~
它同时支持VST2和VST3,分别对应两个独立的项目:LinVST2、LinVST3。它们各自还拥有一个增强版本——LinVST-X和LinVST3-X,允许一个VST插件实例被共享,起到节省资源的目的(例如把一个Kontakt实例用在多个音轨上)。/ ]# d& c, A1 F5 R7 c  H. m# p% l

4 e  b; R/ {8 z$ k$ p' ~Arch Linux的官方源没有收录LinVST,须通过AUR安装。笔者用的是yay。. n+ R0 F; ?% R+ j

, d' g0 p. ~. j) L) J0. 安装yay1 O2 h, e6 |% q/ e4 R

* W3 i9 v  B; D  E初次听说AUR和yay的读者,可以先添加Arch Linux CN源。同样是编辑/etc/pacman.d,在结尾添加:
$ h; p# \; E8 @5 v) F0 |+ R* z" R
[archlinuxcn]8 r( Y( I) h# S4 v- d4 V( x
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch
: l' o8 \, e/ b8 _
& b2 v5 `1 n& R. O' z# v2 Z7 E然后安装密钥包,以及yay本体:" B1 @) r; q: f( O. t
5 k4 v. W6 l) v0 v& B
sudo pacman -S archlinuxcn-keyring yay( u% e2 G# _8 @9 J" i& A

* w" u  Z4 `8 c* t/ Z+ v" o1. 安装LinVST本体
" Q! h+ c9 e7 j6 N( ~8 o6 Z7 L% }/ B/ T/ P0 y
首先安装LinVST。AUR的包分为源码包和二进制包,后者开箱即用,前者则需编译。建议选择二进制包。
6 Q4 b  O/ q* Z2 w# 源码包5 z5 N( x  G) A* V. a7 D
yay -S linvst linvst38 t/ z' |) p% Y$ E$ W' c$ I
# 二进制包
' m7 M8 Z/ n$ g  F+ Q0 Fyay -S linvst-bin linvst3-bin
) r. [) L; {3 }) H5 c+ F
- H9 y7 {* H0 t8 B/ t* k. X+ {! [如果需要增强版本,则安装:
6 U' i( n6 S& B
' o/ G& I/ b' D( Z! O- o7 tyay -S linvst-x-bin linvst3-x-bin
+ I- Z4 U, H8 T4 }6 s4 ?9 B! ?" u" t, b1 z! k8 @* z
注意:采用源码版编译会有两个问题:! O& S1 F0 h  |+ B1 A' h

8 q/ x- d" M) f只有linvst能编译,linvst3会在编译附加组件ArchStudioUtils时出错。$ A' B1 W5 T3 @6 @% m5 Q
生成wrapper必不可少的linvstconvert没有编译。用户必须手动进入源码的convert/目录来编译才行。
, |, K) o+ x2 F- Q& L+ P2. 如果出现错误:“一个或多个文件没有通过有效性检查!”, V8 ]. D) h# O/ [/ L2 @9 q
- t) B+ J9 v0 g3 B) k
但是,由于LinVST的二进制包更新与AUR PKGBUILD的MD5值不同步,会出现能下载成功,却通不过有效性检查的情况。这时要手工修改PKGBUILD文件,去掉有效性检查的部分。
$ e: K7 a: Z( ~+ V, m: R, }
8 E9 E' z7 g4 |7 C3 ]: @首先进入linvst-bin包的yay缓存目录:: b8 v* y! ?% z# Z9 }1 D0 Y& ^- {
: y" S+ j1 r1 z" x
cd ~/.cache/yay/linvst-bin/5 E, B/ ]. F7 V) |& Y

. p& e4 N) o( u8 C然后修改PKGBUILD文件,更改md5sums=(xxxxx)一行,把括号里的字符串值改为SKIP,表示“跳过有效性检查”。注意大小写:
  j6 C5 z9 K2 q8 H8 E8 f4 `* |( W, F, B" D# c
# 修改前,字符串值为MD5校验和1 z1 D, ]5 S$ V* [& {, r
md5sums=(68b329da9893e34099c7d8ad5cb9c940)
- g, t, q, T5 _- x# b4 e* F0 h$ ?+ o! E. O1 a
# 修改后,字符串值为SKIP! ~" i3 G7 s9 X/ `1 X# a6 T
md5sums=(SKIP)
" H" O& N0 W' C+ A# ~: I& H5 q
5 S- g6 e! R3 i/ z保存后,运行makepkg,生成安装包:
0 ^! r  ~) p8 o( K  D2 d
  \4 R5 u7 ?( |8 a: q7 v9 q% K, B$ xmakepkg
4 Y. y: c2 @  Z- s8 R! R  |$ y  t8 Y
生成好的安装包位于当前目录,文件名为linvst-bin-x.y-z-x86_64.pkg.tar.zst(x,y,z为版本号)。可以直接安装:
/ A9 c# T) s4 M. n7 L/ t( Q. e2 M
sudo pacman -U linvst-bin-x.y-z-x86_64.pkg.tar.zst
1 k: U/ U5 H+ v- e, g9 I) g- }- _' P
用同样的方法,制作并安装其他几个二进制包。# j- ?0 P6 j! T9 Y3 ?
" E- {# v8 W( o. K5 D- W
3. 生成wrapper
4 b8 E1 z6 C$ x- Z5 \
$ _3 L  S" U, D- E+ _$ W3 \- bLinVST用于生成wrapper的工具有以下几种,它们界面大体相同,须从终端运行:
. s4 }) }4 ?9 s# F! d8 }- D  J0 t  K/ P$ w4 j
linvstconvert、linvstxconvert、linvst3convert、linvst3xconvert:指定一个文件夹,然后由其中的VST插件生成对应的wrapper。
$ [1 Q7 H0 F7 V- t以上工具加上tree作为后缀:递归寻找子目录下的所有VST插件,为其生成wrapper。" b3 ^7 ~. f" g  m' ?/ d9 I' `/ Z; Q
如果所有的VST插件都在一个文件夹里,则选前一类;而如果位于若干个子目录里(比如部分VST插件带有附属的文件,要与插件本体放在单独目录中),则选后一类。! m5 ]/ B& w: W/ u. n
. |6 H2 @$ \0 Z, B" j  o& e8 B
运行后,出现这个界面:; J3 p: f# S6 y7 s
7 z3 j. w& b; q
9404_1612847445_thumb.png 7 }' @5 x# `# i. ]
; l* W3 `( L4 P7 g6 }
首先把你的Windows VST插件统一放到一个目录中,建议~/.vst(VST2)和~/.vst3(VST3)。
/ O7 k/ l1 V- r: N) ~* Y( R在生成工具界面中,选择LinVST库。点击【Choose linvst.so】,在文件对话框中定位到/usr/share/LinVst,选择linvst.so。其他几个VST3和增强版的库文件也在该文件夹中,如果是linvst3convert,则选择linvst3.so,以此类推。
1 o3 Z5 @9 N6 k7 Q2 Y& H然后通过下方的【Choose dll folder】,选择Windows VST DLL所在的文件夹。(如果是linvst3convert,则界面是【Choose VST3 folder】,选择*.vst3所在文件夹)。( o5 i$ _- j" q$ K4 u# N
点击【Start】生成,随后VST插件目录下就会出现与插件同名的*.so文件,即原生VST wrapper。
! o8 I; W& h, f3 Q3 V最后把插件目录添加到DAW中即可。实测,REAPER for Linux完美支持。" r# h5 k! t  o% ^3 d3 ~+ L3 d
注意:
) a" b& T4 j; V
4 L6 Z0 L, s; RVST插件和生成的*.so文件必须在同一目录下,否则LinVST会提示找不到插件。9 o- g+ f- U2 K  P
Wine的兼容性& x* C0 V4 m, P" ]0 N: [

* j  L& E6 Q4 F% h7 qWine是一个持续开发的项目,这是由Windows的复杂度决定的,开发团队不可能在短期内适配真实Windows下的所有特性,并保持其稳定性。因此并不是所有的程序都能完美运行,包括VST插件,测试中程序挂掉、出现Bug,在所难免。
* a* s  K$ q  M4 h
7 [- I3 d- X  Q% Y3 g) ^3 i& m& W幸运的是,有些开发者会考虑到Linux的生态,会优化自己的应用程序,使其能完美地运行于Wine。REAPER就是一个很好的例子,它的Windows版本可以直接在Wine中安装。之前REAPER并未推出原生的Linux版本,官方特别在下载页中提到,“Windows版本可在Wine下运行良好(For Linux users, the Windows version works well with WINE.)”,便利了Linux用户,也实现了开疆拓土。8 }" L' L7 \& k4 ?" c
9 h5 e6 B7 j( d3 B# j) g
即便如此,REAPER仍属于少数。大部分的应用仍需自行去测试,检验其在Wine下的兼容性,以及事后会不会出Bug。
% ^: h+ N' Z( h( p2 P* M
% k" O, w1 J* [我所做的测试' w2 G" H. w" `% |( U! Y5 r3 H! K, V
6 C! |: a/ ?+ Q% Q3 j# \6 z& U. K
Kontakt Player:我用Wine下的REAPER for Windows测试,它可以在REAPER中正常加载并播放NKI采样,表现与Windows下一致。不过,如果在REAPER中就地重新加载(选择“更改当前VST效果”后重新选择Kontakt),则会导致长时间卡住,可见并不完美。
- p+ w  V: _  w, _% nSynth1:一款免费、强悍的合成器插件。
  V' P- ]4 z9 @/ L( l% k3 e4 c在LMMS下尝试用VeSTige打开,但没能启动成功。相反LMMS自带的VST宿主程序(RemoteVSTHost.exe)还卡在后台占用CPU,只能手动结束。! D3 J- w( ]1 |& h! \$ \: H5 k
移师REAPER for Linux,借助LinVST,顺利运行,体验与Windows别无二致。) x) m, |4 y' {# b8 @. o
; Z: l7 A- y# R  p+ Q. o
后记
8 R! y5 E+ }* Q# Z: [% n( f9 Z以上是作者在Arch Linux下试玩音乐制作软件的体会,发掘了Linux的别样用法。由于厂商适配策略的不同,并不能保证Linux一定能拥有不输于Windows和MacOS的体验,但当下的Linux至少不存在这方面的空白。: h8 g  m% h, |2 o* t: R

5 B8 R1 K% z% C! _( t+ O- M' h不过,在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
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

音频应用搜索

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

GMT+8, 2025-6-4 18:01 , Processed in 0.045853 second(s), 21 queries , Redis On.

Powered by Audio app

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