音频应用

 找回密码
 快速注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

225

积分

2

听众

64

音贝

音频应用

Rank: 1

积分
225
发表于 2021-2-21 17:51:57 | 显示全部楼层 |阅读模式
Arch Linux 打造成音乐工作站的几条经验7 b. C' b% N4 h1 \6 M9 @
作为程序员+音乐人二合一,我的系统环境横跨Windows和Arch Linux。原本Arch Linux只用来做开发,但这么强大的系统,我总觉得它还有无限的可能性还没有发掘出来,比如,做音乐。$ t2 f0 Z5 Y# T3 Q9 y
  G- L5 i- L3 t  }
相较于Windows,作为开发者首选的系统之一,Arch Linux有以下难以比拟的优势:
3 u7 x% b7 ?) |7 v( Y  N  H* i' S. Q5 [3 b( r- O# A6 e8 @
运行速度快,内存占用量较小,轻便自在;
4 J* R! K6 Q/ ~) ~' BPacman软件库,应有尽有,安装开发工具轻而易举;' l: j5 A, _5 G! L  G
安全可靠,不怕病毒;
) G; s' Z7 [" `: B9 T对老电脑、老设备分外友好,十年前的ThinkPad X200照样做主力。
) T3 A% x  w. m" w不过,不管是哪个发行版,Linux总有一点比不上Windows和MacOS,就是音乐制作——很少有音频软件厂商能够提供原生支持Linux的音乐制作工具。尤其是Native Instruments这样的业界巨头,只专注于Windows和MacOS,不会为Linux提供任何支持。实在是可叹。
2 h; X( r$ ]" q2 V+ f. W( r5 C 1317_1613898821_thumb.jpg % B7 C2 O4 R2 k, H
幸运的是,开源的力量是无穷的,既然Linux能普及,总有大佬在填补这方面的空白。各种适用于Linux的音乐制作工具链应运而生,从底层驱动级别的JACK,到对标业界标准插件规范(VST、RTAX、AAX、DX、AU)的LADSPA,甚至完整的DAW——LMMS、Ardour、REAPER for Linux,应有尽有。从此,Linux不再是没有音乐人造访的荒漠。+ a- _$ e3 E' M/ V' d; r( E: v
+ N; q3 L; ~: z: s( @
7 D# i3 A  G: e$ X3 N( a
Linux作为音乐制作环境的必备要求
0 u& [5 A, n( G要想把Linux打造成音乐工作站,需要进行以下方面的配置:/ h7 n* v1 H: W( {0 A2 {9 m
5 D4 f1 k9 C, ]* Q( V  N  W2 \2 P
配置好低延迟的音频接口——JACK。8 R  U  i* j( b: T
安装必要的音乐制作软件。4 J9 @9 Q4 T% r0 H; R
安装兼容环境——Wine、LinVST,用来使用Windows下的VST插件。
* l5 ~/ V/ q5 _/ C. x4 [! m* `4 W
第一:安装与配置JACK. \& Y/ m; R  }9 {. m, y/ C
要把你的Arch Linux打造成音乐工作站,首先要做的就是配置音频服务——JACK。JACK是一套高性能、低延迟的音频服务程序,它基于Linux底层的ALSA,可为音频应用程序提供低延迟的音频回放、录制支持,相当于Windows下的ASIO,以及MacOS下的CoreAudio。/ @) q& ^) R9 |, ~

  b6 i* w! `/ F. U安装哪个版本的JACK?( N& B% s& H0 L

( L2 C; `. |" ~# B) C) Y一般的发行版会提供两个版本的JACK:' o5 v+ g: R0 t. E. F
- L4 P% G0 H% G7 H/ @
JACK1:包名为jack,用C语言编写的最初版本:5 K  R1 O" K4 b( M
只有音频服务功能
3 S3 G  H" O0 S/ x7 [5 c对系统要求苛刻,需要配置用户权限、realtime权限才能使用( Q" H  M- a  U" N1 {8 U3 S5 {
独占控制声卡,其他程序无法再播放音频! F0 O# D, s1 a8 j+ V" Z+ ~# r8 Q
JACK2:包名为jack2,用C++重写的版本:
3 n* M3 O5 r- P/ ~) \- J支持DBus协议控制  Q- |8 S, L" s8 ]& c: W8 x
支持将PulseAudio、ALSA重定向到JACK,从而兼顾其他使用这两种音频服务的程序$ D  G2 B+ `7 F: q1 }2 N
无需配置权限即可使用6 k2 \" ?9 k) N3 i0 q5 O2 g3 R0 ^) Q& _
先给出结论——选择JACK2,不要选择JACK1!
% R: ~! H9 a. I5 r4 P% E虽然JACK1是最初版本,包括Manjaro、Artix Community在内的多款发行版都有预装,但它并不是开箱即用的。想要使用JACK1,首先要配置realtime权限,然后再把当前用户添加到audio用户组中,重新登录后再通过QJackCtl这类工具来手工启用JACK服务,非常麻烦。
7 \6 u0 q- u. X" N9 P* Q6 T3 ]
" `! q5 e/ A" x; u加之,JACK,和PulseAudio是独占访问声卡的,其中PulseAudio是各大Linux发行版和各种应用首选的音频服务,这就意味着一旦开启JACK,其他应用程序就无法出声,甚至会引起一些无法预料的错误。) |3 m/ e3 m9 t, o) l0 m( d. _

) U! Y. _, b7 B& h' v3 ^相较于此,重写的JACK2则解决了上述两大硬伤。首先,JACK2使用了全新的架构,默认情况下无需依赖realtime权限和audio用户组即可运行,和PulseAudio一样都能直接运行于用户空间(区别于root权限下的系统服务)。其次,开发者设计了一套“桥接(Bridging)”机制,能够把ALSA和PulseAudio重定向到JACK里来,从而保证其他使用了PulseAudio的应用程序仍能正常使用,听歌做歌两不误。) K2 p  W* [3 X* N% Y; |7 o1 a
0 M6 N. E* O" u0 N: ?: j1 }+ m
显然,首选的JACK版本非JACK2莫属。  W  ?* G& Q' y

$ U; I& _9 q( P& u安装与启动JACK2
8 D8 H( Z& A3 ?! ]) N# L) B  Q3 C! t% f: P2 x
首先安装JACK2,以及JACK2的音频控制面板Cadence:
8 q  a, }( S& E
5 u; C0 Q% Q; K! ^sudo pacman -Ss jack2 cadence
6 \/ p6 i/ _0 Z# y! B/ v1 O: \- r  n' |% O
Cadence是一款优雅的JACK2控制面板,功能全面。首先打开它:. S; V' d; E' E1 m1 g
7588_1612847001_thumb.png 7 J2 w' ?$ ^2 Y
$ U* Y" Z0 ^" n" y, S
图1 Cadence主界面
* |5 {0 j. Z/ d, @) o! {: P7 ?0 L0 l* N( ]6 r. m
然后点击【JACK Status】部分的【Start】,启动JACK服务。若启动成功,则该部分会显示以下内容,表示JACK2启动成功,并给出当前的运行参数。
) @, w/ A2 }2 S# O9 [7 T2 ^* J' x. H
4620_1612847017_thumb.png
. ?  r$ e: \5 F. O$ Q5 X图2 JACK启动成功后,Cadence显示的状态& O" }$ L  {4 p. M3 g* H. k+ E' W, M6 J
: ?! M4 J9 E& ]0 Y/ h& O2 Y# G6 P. k0 ?
启动成功后,PulseAudio到JACK的桥接功能也会自动启用。打开PulseAudio桥接后,系统会多出一个音频设备,为“PulseAudio JACK sink”,是把PulseAudio重定向到JACK的设备,选择它即可让原先使用PulseAudio播放音频的程序都通过JACK来输出音频。! h/ f  V. ]# a5 `

- H* a2 A9 j1 `* f" T若不需要PulseAudio桥接,可以在Cadence下方的【JACK Bridges】的【PulseAudio】选项卡内手动开关这个功能。
% G4 p$ ~* n+ [& w. z/ o. ?' C! S7 V! I$ m3 Q# X- i
5494_1612847038_thumb.png
6 y* f; }8 N7 y( C  i# g: p  x( Y图3 启动JACK2后,KDE音量控制里多出的音频设备
3 G- w  g  Z9 L/ z/ R& U0 G9 ~; M4 g% [
提示:2 Y* k1 y* O9 Y+ i7 |

2 L5 b8 L+ p/ d/ B" r可以勾选【Auto-start JACK or LADISH at login】,设置Cadence与JACK2服务的自启动。
' W% p9 K- }' A( ?. ?6 _桥接启用后,原有声卡设备(见图3上方)的音量控制仍然起作用,用于控制输出的主音量。
欢迎厂家入驻,推文!免费!微信:yinpinyingyong

225

积分

2

听众

64

音贝

音频应用

Rank: 1

积分
225
 楼主| 发表于 2021-2-21 18:22:45 | 显示全部楼层
: V) ]0 x/ M& v
设置输出设备$ Z, ?' B6 H* q# x7 O5 H0 Y

5 F  p+ D1 m" n" A% O4 d3 L默认地,Cadence会把输出设备设置为Dummy(空设备),会导致无法出声。因此要手动设置音频设备。3 ^* ^% R4 _' W& P4 j

' X! f9 c/ d. z+ a% R7 g在Cadence主界面里,点击【JACK Status】部分的【Configure】,进入JACK设置,然后点选【Drivers】选项卡。
4 t1 j# x7 P" o" D5 Z$ V, }. _
+ V3 ~, j7 D: x; n. k左边【Drivers】一栏有五种输出设备:ALSA(调用本地声卡)、Dummy(空设备)、Loopback(回环)、Net/NetOne(网络源)。点选ALSA,以使用我们的声卡。其余选项不常用。
6 x; d6 J! ^5 x2 k5 F( U 4363_1612847081_thumb.png ! d- e( n; Z  w" U. c1 H; Z$ N
图4 设置Cadence输出设备
& M  D1 `1 f5 }9 x
! f3 y" z' p5 A此时右边就会显示出可用的设置项。8 P4 a8 n# n; {& i( A! ]
' M; I$ k  n1 M$ h
看到【Device】部分,设置输出设备。注意下面几个设置项,按下表设置好:6 c6 Q$ ^8 Y( |/ t6 e0 U
, p/ o9 {* P2 M; i: m  F
9 S, ~% Q* p5 n, h0 E* q$ {# {; ~
设置项
说明
取值
Device/Interface
选择要给JACK使用的设备,包含输入、输出
hw:0指向默认的声卡设备
Input Device
- p2 M& U& X, U8 Z; ]# W+ rOutput Device
单独设置输入、输出设备
5 o% b. M. V/ _# m+ P- Y0 y只有在Duplex Mode勾选后才能设置
hw:0指向默认设备的默认接口
Duplex Mode
勾选后,可以分别设置输入/输出设备
( N$ l9 l; V; B7 t否则全部使用Device/Interface中的设备
& h: a% q% w) s1 L9 u
Input Channels1 S5 ]8 L) x' K. b" u
Output Channels
输入、输出通道数
默认值为0,会自动指向该设备支持的最大通道数

* N4 Q, F! H3 r' J1 {% G然后看到【Properties】部分,设置以下两个参数:
$ n+ S- `; C) q2 a6 \! a* R; M* Z  a9 X

5 x6 x* R- w" p( b9 u# L设置项
说明
取值
Sample Rate
采样率
一般音乐制作用44100或48000即可
) N5 ]' G/ Q5 S* G% y要求音质则可用96000或192000,但声卡不一定能支持。
Buffer Size
缓冲区大小
取值越小,延迟越低,但在集成声卡上可能会导致爆音。
! ?% l3 ?& ?, y一般设置成256~512,一般的集成声卡和独立声卡都能兼顾延迟和音质
" U0 Z* W3 W. @) ?0 Y! J4 m( ?

7 s/ p9 J! o% @0 [3 l4 L4 W2 g) R" Y7 G2 G- Q# i
其他参数保持默认值即可。
" @5 i0 \6 A+ y8 n7 @& X3 P7 x* D6 j  E( S# \: E9 W
设置完成后确认,先后点击【Stop】和【Start】,重启JACK,即可生效。) b: }( P: k, v

5 i- e7 E, k. G' U( [2 Z& Q7 f
2 B$ z4 k7 h' G7 ~第二:安装Linux下的DAW
. _, U. C1 ^; Z7 DLinux下的主流DAW软件不多,几大商业DAW大厂(如Steinberg、AVID、Ableton)基本没有适配Linux的计划。但一些优秀的开发团队推出了适用于Linux的自由软件DAW,比如:3 W% R1 D) @/ z& o( v

" @4 S' I' W( ^) E( G/ Y1 VArdour:偏重于混音和后期的DAW,适合处理乐队、Vocal录音。调音台大厂Harrison的MixBus就是基于Ardour开发的。1 E" H9 [* a7 Q6 X3 X
LMMS:完成度较高的全功能DAW,拥有钢琴窗,适合MIDI编曲。它自带大量的效果器,以及一些模拟游戏机的音源,开箱即用。
  {& s) N! Q  lMixxx:开源的DJ工作站,严格来说不是DAW,专为现场Live打造。/ |# G* X, n  x& N) v* N1 R
以上软件皆可直接从Arch Linux的官方源安装。因篇幅限制,这里不介绍软件的用法,读者可自己体验。
: |/ k. ?; r1 @& D/ W5 j
+ Z0 c- ?6 _0 x- fsudo pacman -S ardour
  C/ N9 X' W9 vsudo pacman -S lmms
: v9 N7 U7 }) j; Ssudo pacman -S mixxx
9 |6 |+ r7 P6 L# }. b: j5 p- d作者使用的是强悍的商业DAW——REAPER。有别于其他大厂,它提供了官方的Linux版本,能直接使用专为Linux开发的VST插件;且其Windows版本也可以借助兼容层Wine,在Linux下运行。, Y- r- T( i1 }7 u( q+ l- q2 f
$ Z. T3 N6 P5 Q% {- ?( b! b
9 W- S! g9 E# ^# j) K. _9 D; y
第三:安装原生效果器插件
" e7 N9 {2 n8 `, Y3 ~9 `" B; R1 k& E除了DAW,一些优秀的开发者也推出了同属自由软件的效果器插件,涵盖LV2、LADSPA与VST等几大格式,满足Linux下音乐人的使用。它们同样可以在Arch Linux下运行。这里先介绍两款插件:
$ _4 U" T2 g- B5 M% q8 a1 f: Q5 K7 }2 j2 X* Z/ s- a
LSP Plugins/ ]$ r1 M# t. L4 ~" p
9 u* j+ R  m4 o
全名Linux Studio Project Plugins,是一套专为Linux打造的效果器插件,旨在填补Linux下缺少优质插件的空白。它囊括了混音所需的一系列效果器,包括压缩器、延迟效果器、图形均衡器、多段均衡器(类似于Fabfilter Pro-Q),甚至扩展器(Expander)、频段压缩器、侧链压缩器这样的高级玩法。部分插件还提供动态的频谱图显示,清晰直观。
; c+ F, f+ p6 e
' a& U! O* V/ e3 }比如,下图所示的压缩器Dynamic Processor Stereo:
; N7 F  n; c5 h( t+ f: @ 5931_1612847184_thumb.png ' {, t' f+ Y6 y% \8 W
Dynamikprozessor Stereo  X3 ~% R- I& X. F8 V

  _9 F% Q: b2 i以及多段侧链压缩器Sidechain Multiband Compressor Stereo x8:3 d( {; D8 G) P+ N
5265_1612847154_thumb.png
  w# C0 v7 O) @, R5 ?Sidechain Multi-band Kompressor Stereo x8
4 `( e( C  M2 q4 F# b
4 L' S0 @5 j, E! A+ F) \% K% I在Arch Linux中,直接安装即可。
  j9 I5 c- L  ?1 V8 O8 t7 o
) ]3 U& O, e/ {0 ]0 L: k) _1 Psudo pacman -S lsp-plugins
1 ^! g, g) H, n/ L8 ]  S7 Z) H- H! o! e1 N! ~3 P5 f$ h
Dragonfly Reverb
% b5 i) |/ K. M! d( \8 k" O* V' Y/ c" N* P0 I# f
这是一款非常高质量的混响工具,与商业DAW自带的不相上下,用彼此独立的几款插件来实现大厅(Hall)、房间(Room)、板式(Plate)混响,并提供一个反射效果插件(Reflections)。, E7 H* |" Z* b; x) |  |' r

  c3 [: @8 j3 _" h( P 4834_1612847212_thumb.png
1 W6 k, }, i" S' _8 a% V它也可以直接安装:0 U- o0 X* g3 p* m- G  J( l7 t

' [. j* D7 ~5 x8 fsudo pacman -S lsp-plugins" C( q9 O2 V4 F
0 O$ w9 R. X5 J4 L# L; Q
插件的安装目录
; L, G" }; ^6 p* V6 ^" f6 |. F0 J" O  _; Z5 Y( K1 C* E
Arch Linux下,通过Pacman安装的插件如果提供VST版本,一般都会放在/usr/lib/vst下。把它添加到支持VST的DAW VST扫描目录中(如REAPER For Linux)。
- X# M8 a* ]7 p3 m1 C7 r6 m, J2 w' h, i. N9 N, A" r

: I, @# c% ~" ^  G0 ?$ e" F第四:使用Windows下的VST插件* u; f7 K) P5 k$ v
我在上文里提到,目前主流的商业音频软件厂商,只会把精力集中在Windows和MacOS,往往直接忽略Linux。这就使得计算机音乐制作领域的大半壁江山都不属于Linux。好在,Wine的发展,使部分Windows专属的VST插件得以在Linux下运行,一定程度上弥补了这一缺憾。1 L) r" D* Y# `# a1 s% s$ I
0 B7 B) _6 l2 S* L, i/ [
接下来就介绍如何在Linux下,给DAW装配上VST插件。; u; B5 d; u" V5 [; }
( M( {. z* w1 X) U; B, q
Wine的安装和初始化4 D6 [) `* J# b& j# ]% R7 r

) m7 }5 w# G) w4 xWine是专为Linux和MacOS开发的兼容层,让你能在Linux下运行Windows下的程序。+ s" ?* p* V6 c
3 h! W% b- [! Y! i$ B2 }+ @
在Arch Linux下,要想安装Wine,首先须开启multilib源,这个源默认情况下是不启用的。* J# F- i8 X6 l  C1 Q1 Y, _

$ n$ M9 N8 e3 V9 Rsudo打开Pacman的配置文件/etc/pacman.conf,然后取消注释以下两行,保存:* F, Z/ r7 H0 T5 Q1 l

8 I- b' x1 @1 f! w[multilib]
, i1 L" o$ h$ \! _0 AInclude = /etc/pacman.d/mirrorlist2 l) `& \1 s- I% S
! E* m0 K1 R% G+ Z
注意:上方还有一个multilib-testing,收录测试中的软件,可能不稳定,一般不启用。
+ D' T# Y1 [" S' p- v% Q/ j, I6 I1 A5 n  c' ~: t3 M
更新软件源,然后安装Wine。下方的wine-mono和wine-gecko分别为.NET运行时、浏览器内核,为可选组件,但最好装上以免Wine在初始化时提示安装:
/ k3 Q3 [; X% L1 ?* o! r! {6 S2 h% F+ Z& |; u1 D9 ?
sudo pacman -Syy
# ^$ @8 a, g: J$ B; nsudo pacman -S wine wine-mono wine-gecko& |8 T7 g8 L. m. Q4 k3 Z' v2 I
) w9 b3 ~/ R" ^0 O  X
安装时可能需要选择用哪个版本的libfreetype,保持默认值就好。8 U) w0 G( v, d/ }/ o
2 h2 }6 r5 P/ m* y! Z. d( v
安装完成后初始化,运行任意一个Windows应用程序,或是运行winecfg(Wine的配置工具),即可启动Wine,它会帮我们创建一个默认的“前缀(Prefix)”。这里的“前缀”是Windows程序的运行环境,相当于一个个沙盒,每个前缀彼此独立。
& ?0 D- m, c  `+ B2 f2 J+ _
欢迎厂家入驻,推文!免费!微信:yinpinyingyong

225

积分

2

听众

64

音贝

音频应用

Rank: 1

积分
225
 楼主| 发表于 2021-2-21 18:23:44 | 显示全部楼层
& s) n* m) e( P; x" T
使用VST插件的方案' I" U, n- u9 d. p) x9 x# O' W7 M

" s# d' G9 X/ J$ }' W; O+ Y8 T& N: QLinux下的原生DAW,主要有两种支持Windows版VST插件的方案:5 u- y: j& N  D, f5 K

% O. ^% k& [2 l: d3 I使用基于Wine的桥接器,将Windows版VST插件转换成原生的Linux VST插件,如LinVST9 M. f; s  C! p: b, B& E% c6 l
原理是构建一个原生VST格式的wrapper,宿主在加载wrapper后会自动调用桥接器的host服务端,从而利用Wine加载VST本体。
8 H8 |* S" [! D! V通用的方案,只要DAW支持原生VST,就可以用。
( m4 v, M- X" o& H; n# d: L内建桥接器,即采用自己编写的桥接器,如LMMS中的VeSTige
* F) l3 t  }+ P9 t7 j0 E( V- V只有少数的DAW有这个功能。
0 v+ v% c) U" C; ?3 T/ P另外,还可以直接使用Wine来运行Windows版的DAW,它会像在Windows里那样加载VST。它基本不需任何其他配置,但不具备普适性,不能保证所有的DAW都能正常运行。目前兼容性好的只有REAPER。4 N3 }$ M+ n7 e" }5 J
" w2 W1 f+ q( T$ y
方案一:内建桥接器
  |* \/ c! `$ ^" R
" h* Y$ r) _) c" q7 Z以LMMS为例,它附带了专门的桥接器VeSTige,可以直接像在Windows那样,加载*.dll为扩展名的VST插件。
9 n+ B  ]6 E0 ~9 L9 V$ O
2 F& a; J3 }' i# z) x0 N8 o5 p 4110_1612847300_thumb.png
6 t1 |7 B) y4 s+ M. F8 m: J
6 c0 B( V/ ?% O操作步骤如下:* q! q8 A# u: \# i0 N
) E+ f  T- h, }' u8 ~! z
点击左侧的Instrument Plugins(音频插件);
4 }& ?) R1 K: c3 L' k8 V插件列表出现,在下方找到VeSTige,拖到音轨视图里;$ d' K( p- q9 w3 u' p- y
点击音轨视图里的VeSTige图标,打开插件界面;% a' B8 j2 B2 ^- h7 w8 c
在插件界面中点击“打开”按钮,定位到VST插件目录,打开它;0 m' m! ^% w+ Y9 ?" r, q/ k
可以点击“Show/hide GUI”按钮来显示或隐藏VST插件的界面。4 A5 R0 ^7 w, A) k
能否加载成功,仍然因系统环境和Wine的版本而异。如果无法加载,则使用htop,把RemoteVSTHost.exe这个进程结束,以免占用过多处理器资源。
) r! p4 X6 |  |+ O; L; k% x$ j
0 M2 A; ]9 B  ^( p# S$ c9 u* l方案二:使用LinVST
% H7 K# ?9 L0 g- }. c2 ?5 E8 S- E- J' L8 V- M& K
LinVST是由OSXMidi开发的桥接器。类似于Windows下的jBridge,用户通过它提供的转换工具,创建一个原生VST插件,作为Windows版VST插件的wrapper,接下来只需在宿主中加载即可。6 p, ^! a# B1 H* M5 J( {2 O

7 T/ J' y$ w5 b3 t4 p它同时支持VST2和VST3,分别对应两个独立的项目:LinVST2、LinVST3。它们各自还拥有一个增强版本——LinVST-X和LinVST3-X,允许一个VST插件实例被共享,起到节省资源的目的(例如把一个Kontakt实例用在多个音轨上)。( a2 p$ d3 W' b

  u; y; N. {+ b3 q: _/ ]Arch Linux的官方源没有收录LinVST,须通过AUR安装。笔者用的是yay。8 @, c9 B- E5 A: {1 M2 b! ?
( [) u+ h. {$ t1 X. [1 K$ o6 E
0. 安装yay
( f; E- [8 m# M+ B' W' i3 t
2 y% }$ O8 ~  F, G6 E# z$ T" O初次听说AUR和yay的读者,可以先添加Arch Linux CN源。同样是编辑/etc/pacman.d,在结尾添加:
5 O! W1 O# Q! q) M& w
6 \+ g3 C: A, L5 t; Z( M[archlinuxcn]
8 ?2 }7 H( o. Z- n* MServer = https://mirrors.ustc.edu.cn/archlinuxcn/$arch; R: M2 S9 v) ]  H
5 H2 s6 q, J6 l  k
然后安装密钥包,以及yay本体:
) O9 S  P0 N* U8 f" V' g5 G. j% X  s; Q3 ?" q, s4 H) d
sudo pacman -S archlinuxcn-keyring yay% O$ y8 a' Y0 L9 o& S/ D6 r

+ v9 O% {9 r1 L0 l/ ^* ^" I/ E1. 安装LinVST本体
. K7 Y5 |; x( D; f% F
+ A9 J0 p; X; n$ D6 H首先安装LinVST。AUR的包分为源码包和二进制包,后者开箱即用,前者则需编译。建议选择二进制包。2 X. S$ \  [; i' o
# 源码包) g$ I, V: J1 L+ ?
yay -S linvst linvst33 ^, V8 D, r$ ~  n
# 二进制包
, p7 l& Y  C- h" a" Q; ]' H. f& pyay -S linvst-bin linvst3-bin5 G& z) p; {' O8 L1 y8 T

5 Y( Z% p) l- Z4 y% I# F+ D& H如果需要增强版本,则安装:
6 X7 V/ s/ S: j6 T$ H. j# @/ Q: u- u0 U- a+ h% z) t) h, M0 P
yay -S linvst-x-bin linvst3-x-bin* l8 ^# C! `5 M+ A
  u8 a) l3 Q& ^  V
注意:采用源码版编译会有两个问题:5 R8 i& F  ]& [* T) W& p) p
4 C$ a: u( D% |; Z) S2 g
只有linvst能编译,linvst3会在编译附加组件ArchStudioUtils时出错。
, C0 D4 t" M1 {5 q5 E生成wrapper必不可少的linvstconvert没有编译。用户必须手动进入源码的convert/目录来编译才行。
5 U- S6 ^+ `" P* i2 _2 S% h/ U# m2. 如果出现错误:“一个或多个文件没有通过有效性检查!”
1 Y4 c, _% C  `9 h2 s
5 M3 q" f' ?# ~! J但是,由于LinVST的二进制包更新与AUR PKGBUILD的MD5值不同步,会出现能下载成功,却通不过有效性检查的情况。这时要手工修改PKGBUILD文件,去掉有效性检查的部分。
7 F, P# P( m* [+ W$ \8 D3 `% [0 m7 R" I; n' N
首先进入linvst-bin包的yay缓存目录:& C" r# m; t; a6 v+ ]
4 x  ^2 y  B9 o9 I5 G+ y+ \
cd ~/.cache/yay/linvst-bin/
. {  k$ [5 s1 E  W* k  A
- Y/ G- X) E1 T0 H7 t然后修改PKGBUILD文件,更改md5sums=(xxxxx)一行,把括号里的字符串值改为SKIP,表示“跳过有效性检查”。注意大小写:3 t; H6 M; }7 [6 D9 ~* |7 n
1 G2 i' R- f% ~, |' B
# 修改前,字符串值为MD5校验和
) a0 k* _/ z& h' rmd5sums=(68b329da9893e34099c7d8ad5cb9c940)
, Y. X" L1 g$ B" r8 f! a. [$ x% _* k; ?* ?- X( T
# 修改后,字符串值为SKIP
. C2 g  s* U6 i# B3 d4 _  Vmd5sums=(SKIP)1 w2 Z6 D# H! h7 V) k
: D0 ^  ]0 z, `1 i7 W6 A' _& e: R" H
保存后,运行makepkg,生成安装包:
. r) n' I4 \5 v6 f6 V
" i3 W. u# i: J% `/ ~$ Gmakepkg! _* [. Q0 Q- k( ?$ Q) t4 F2 \+ v0 ^

% [2 G; Q3 ^# Q7 ]: ^生成好的安装包位于当前目录,文件名为linvst-bin-x.y-z-x86_64.pkg.tar.zst(x,y,z为版本号)。可以直接安装:
4 E& q" W9 x/ i- E
: E) g! [9 p4 S4 e" K7 Ksudo pacman -U linvst-bin-x.y-z-x86_64.pkg.tar.zst
$ _# A- U  C) v$ R2 n8 t
# D; k" X% D8 {& ^用同样的方法,制作并安装其他几个二进制包。
: h1 Z! K( e4 J5 D, C
* B8 i, A! i* D+ w, a3. 生成wrapper
- b+ \2 L: S+ y  O; b
  `" p5 z% w0 W7 t+ b2 w0 _1 TLinVST用于生成wrapper的工具有以下几种,它们界面大体相同,须从终端运行:( Y: I: h, H  E4 w, J$ ]6 s& c6 c

4 U/ i# _' m( s" o' |2 F, Clinvstconvert、linvstxconvert、linvst3convert、linvst3xconvert:指定一个文件夹,然后由其中的VST插件生成对应的wrapper。; }# E" Z: `5 i. B" Q
以上工具加上tree作为后缀:递归寻找子目录下的所有VST插件,为其生成wrapper。
6 z, ?' B$ N! D+ g如果所有的VST插件都在一个文件夹里,则选前一类;而如果位于若干个子目录里(比如部分VST插件带有附属的文件,要与插件本体放在单独目录中),则选后一类。8 [( _5 B5 s* v+ j. A, |' j! j/ N
+ ], e5 A" e2 q% g8 L
运行后,出现这个界面:+ e" |- O5 V) h3 u) w9 F& `
3 w) T% Z% H: V& N/ i/ d
9404_1612847445_thumb.png
9 o2 P8 p* j5 M8 D, m  H9 q9 ]; @& B
首先把你的Windows VST插件统一放到一个目录中,建议~/.vst(VST2)和~/.vst3(VST3)。9 T, b6 o; j9 ^3 I: M' m/ P
在生成工具界面中,选择LinVST库。点击【Choose linvst.so】,在文件对话框中定位到/usr/share/LinVst,选择linvst.so。其他几个VST3和增强版的库文件也在该文件夹中,如果是linvst3convert,则选择linvst3.so,以此类推。
$ M2 G, w  p) i, @然后通过下方的【Choose dll folder】,选择Windows VST DLL所在的文件夹。(如果是linvst3convert,则界面是【Choose VST3 folder】,选择*.vst3所在文件夹)。& n4 `8 d6 O% Q, C/ o9 U
点击【Start】生成,随后VST插件目录下就会出现与插件同名的*.so文件,即原生VST wrapper。4 _1 B# P7 ]) y8 l
最后把插件目录添加到DAW中即可。实测,REAPER for Linux完美支持。! J; i/ n7 h  e
注意:
, K' C/ x9 K6 Q' b) p. S) i1 S7 e
% {& `- o9 q; D  zVST插件和生成的*.so文件必须在同一目录下,否则LinVST会提示找不到插件。
2 R1 q( r+ c4 [- T+ w- a/ eWine的兼容性  O3 o9 ]  @' ?+ Z$ L8 I

( g3 m* B* P3 hWine是一个持续开发的项目,这是由Windows的复杂度决定的,开发团队不可能在短期内适配真实Windows下的所有特性,并保持其稳定性。因此并不是所有的程序都能完美运行,包括VST插件,测试中程序挂掉、出现Bug,在所难免。) F8 i% h- }! B" Q
' C0 O7 `9 ^( B
幸运的是,有些开发者会考虑到Linux的生态,会优化自己的应用程序,使其能完美地运行于Wine。REAPER就是一个很好的例子,它的Windows版本可以直接在Wine中安装。之前REAPER并未推出原生的Linux版本,官方特别在下载页中提到,“Windows版本可在Wine下运行良好(For Linux users, the Windows version works well with WINE.)”,便利了Linux用户,也实现了开疆拓土。
' a) ?* k1 I' C, _. ^2 K$ m7 d. I7 m6 }+ S/ |( B5 |7 `
即便如此,REAPER仍属于少数。大部分的应用仍需自行去测试,检验其在Wine下的兼容性,以及事后会不会出Bug。
7 |% q/ [% [% G% f' r" c# u4 e" r! W0 `8 Z' f
我所做的测试
/ S1 f5 I  z3 Z/ @) f7 Q  e2 o. }: f$ F  n* M5 J" J' T
Kontakt Player:我用Wine下的REAPER for Windows测试,它可以在REAPER中正常加载并播放NKI采样,表现与Windows下一致。不过,如果在REAPER中就地重新加载(选择“更改当前VST效果”后重新选择Kontakt),则会导致长时间卡住,可见并不完美。, J0 `" ?: F' V1 Q8 m
Synth1:一款免费、强悍的合成器插件。
- w/ D" f3 x' L3 ?在LMMS下尝试用VeSTige打开,但没能启动成功。相反LMMS自带的VST宿主程序(RemoteVSTHost.exe)还卡在后台占用CPU,只能手动结束。' t4 [; |. n( w7 a  M; n8 Y' p
移师REAPER for Linux,借助LinVST,顺利运行,体验与Windows别无二致。8 ^9 p, q( W( r" b6 h

! |: A4 d# ^& j, m) i后记
' S5 Z/ O5 q+ [' t以上是作者在Arch Linux下试玩音乐制作软件的体会,发掘了Linux的别样用法。由于厂商适配策略的不同,并不能保证Linux一定能拥有不输于Windows和MacOS的体验,但当下的Linux至少不存在这方面的空白。
7 a" F# x4 ]" P) d- y! |4 ^3 a
. R, [- b; [* `9 V, Z, |6 ?不过,在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-3 09:54 , Processed in 0.047870 second(s), 22 queries , Redis On.

Powered by Audio app

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