音频应用

 找回密码
 快速注册

QQ登录

只需一步,快速开始

阅读: 32229|回复: 3

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

[复制链接]

225

积分

2

听众

64

音贝

音频应用

Rank: 1

积分
225
发表于 2021-2-21 | |阅读模式
音频应用公众号资讯免费发布推广
Arch Linux 打造成音乐工作站的几条经验
5 ]" E/ b6 ~* K4 V$ G作为程序员+音乐人二合一,我的系统环境横跨Windows和Arch Linux。原本Arch Linux只用来做开发,但这么强大的系统,我总觉得它还有无限的可能性还没有发掘出来,比如,做音乐。
, Y7 }  G5 ?- T# x8 `# m: m
) q5 {* m4 Z$ d# g2 A, D相较于Windows,作为开发者首选的系统之一,Arch Linux有以下难以比拟的优势:  W- r. {. x8 ]/ S2 s

8 ]6 \# G4 {* w0 l+ U3 }运行速度快,内存占用量较小,轻便自在;9 s0 M- \. q1 e- Y( r. k# i* D
Pacman软件库,应有尽有,安装开发工具轻而易举;
1 D* T7 K* c5 s6 J. Q, f安全可靠,不怕病毒;
6 i( A; n0 S3 g, D4 P& u9 Z对老电脑、老设备分外友好,十年前的ThinkPad X200照样做主力。  X( B9 s9 S& s" a- N. _
不过,不管是哪个发行版,Linux总有一点比不上Windows和MacOS,就是音乐制作——很少有音频软件厂商能够提供原生支持Linux的音乐制作工具。尤其是Native Instruments这样的业界巨头,只专注于Windows和MacOS,不会为Linux提供任何支持。实在是可叹。
. B7 p- s1 D" T# M6 c0 ?9 d% n 1317_1613898821_thumb.jpg . e1 i7 E7 c+ d& p
幸运的是,开源的力量是无穷的,既然Linux能普及,总有大佬在填补这方面的空白。各种适用于Linux的音乐制作工具链应运而生,从底层驱动级别的JACK,到对标业界标准插件规范(VST、RTAX、AAX、DX、AU)的LADSPA,甚至完整的DAW——LMMS、Ardour、REAPER for Linux,应有尽有。从此,Linux不再是没有音乐人造访的荒漠。7 E2 U  q; y& G! ^' P; o- W

/ H6 Y9 Z: l7 s; m  F" {0 L  s! \8 `3 k
Linux作为音乐制作环境的必备要求- e0 t6 O( M8 m
要想把Linux打造成音乐工作站,需要进行以下方面的配置:
0 M5 ~9 @2 v2 Y+ b5 C3 M: p
4 E, j8 L1 m4 n) C( C, [配置好低延迟的音频接口——JACK。3 Y: e: g2 ^, M1 z9 D
安装必要的音乐制作软件。$ y$ D  ~3 K8 `: L
安装兼容环境——Wine、LinVST,用来使用Windows下的VST插件。
* G( f6 N. B8 `+ |0 L" J/ Y$ y) s" D3 ^; @1 b/ n* j0 e
第一:安装与配置JACK# K* e/ r4 l3 [- |7 S: n" O' c
要把你的Arch Linux打造成音乐工作站,首先要做的就是配置音频服务——JACK。JACK是一套高性能、低延迟的音频服务程序,它基于Linux底层的ALSA,可为音频应用程序提供低延迟的音频回放、录制支持,相当于Windows下的ASIO,以及MacOS下的CoreAudio。& v( }, b+ |& q

* l) q9 e+ J) V2 C安装哪个版本的JACK?
6 E3 O( X1 \( N3 o
( j4 ?- l3 H! R5 b% W一般的发行版会提供两个版本的JACK:# @9 h) K# g& S  u* \

! }) M) K& Q3 l) wJACK1:包名为jack,用C语言编写的最初版本:3 F* B. w2 q! }. e7 o
只有音频服务功能% [8 J2 k* \7 t% m$ |0 O) w
对系统要求苛刻,需要配置用户权限、realtime权限才能使用; J3 B  ?. L4 w, c4 }+ ^! N8 y
独占控制声卡,其他程序无法再播放音频; {* j4 i* N+ ?- S) b3 I6 V4 G, ]
JACK2:包名为jack2,用C++重写的版本:
# D6 M9 G! c- x; J! b2 ~支持DBus协议控制0 N! q5 C' b) f- d% c0 u
支持将PulseAudio、ALSA重定向到JACK,从而兼顾其他使用这两种音频服务的程序
) A7 |! W7 x6 n: q  k# s4 p无需配置权限即可使用
4 @! ~3 {: I4 n. S; O( z2 f: c( ?; v先给出结论——选择JACK2,不要选择JACK1!3 G7 F# g! k/ x4 i* v6 w: p
虽然JACK1是最初版本,包括Manjaro、Artix Community在内的多款发行版都有预装,但它并不是开箱即用的。想要使用JACK1,首先要配置realtime权限,然后再把当前用户添加到audio用户组中,重新登录后再通过QJackCtl这类工具来手工启用JACK服务,非常麻烦。
5 f8 _2 Q% b. f3 H  z6 |, n  ?2 @' I6 _% s# ?) X7 I
加之,JACK,和PulseAudio是独占访问声卡的,其中PulseAudio是各大Linux发行版和各种应用首选的音频服务,这就意味着一旦开启JACK,其他应用程序就无法出声,甚至会引起一些无法预料的错误。
( A& Y4 r  _4 \4 r7 a  @1 t# m; r1 u. X  X9 g: Z' G* `
相较于此,重写的JACK2则解决了上述两大硬伤。首先,JACK2使用了全新的架构,默认情况下无需依赖realtime权限和audio用户组即可运行,和PulseAudio一样都能直接运行于用户空间(区别于root权限下的系统服务)。其次,开发者设计了一套“桥接(Bridging)”机制,能够把ALSA和PulseAudio重定向到JACK里来,从而保证其他使用了PulseAudio的应用程序仍能正常使用,听歌做歌两不误。
8 C" K/ O6 c  `9 V& |! Y  V& G: I& s" a6 E5 r0 ^3 s$ h
显然,首选的JACK版本非JACK2莫属。! _1 z: i1 @) g' I/ h

7 w4 X  _$ I. J$ x; k安装与启动JACK2
! k4 ~/ V/ K3 d6 [" T  [% K9 m0 x/ L8 e- a$ v; w
首先安装JACK2,以及JACK2的音频控制面板Cadence:% g$ C* e- p3 g; t9 p3 a4 ~" B

+ @& A9 D$ i( f& B* _1 asudo pacman -Ss jack2 cadence
1 f" t* j7 k4 |# ~; e& `1 J0 v8 x( T3 x! H4 i7 r
Cadence是一款优雅的JACK2控制面板,功能全面。首先打开它:( t5 O* M" [- L1 }: l
7588_1612847001_thumb.png
5 a7 j  E6 e4 ]" v
+ P5 }" X# V- Q) B# `7 z图1 Cadence主界面/ m0 U3 h7 \, |! l/ j
! B. h0 s9 V( N9 s
然后点击【JACK Status】部分的【Start】,启动JACK服务。若启动成功,则该部分会显示以下内容,表示JACK2启动成功,并给出当前的运行参数。# {* G3 o' R$ R3 k3 C- v  M+ ^

; a* O0 L2 n- @; ^* N  N, P 4620_1612847017_thumb.png + j# y& W1 I5 }1 e2 \
图2 JACK启动成功后,Cadence显示的状态
+ w/ F1 X$ t# O
. Z, I# u! v# S. i1 D4 {, l) I启动成功后,PulseAudio到JACK的桥接功能也会自动启用。打开PulseAudio桥接后,系统会多出一个音频设备,为“PulseAudio JACK sink”,是把PulseAudio重定向到JACK的设备,选择它即可让原先使用PulseAudio播放音频的程序都通过JACK来输出音频。; _* G4 I; B7 o" I( a

' {% U! ]5 d  K2 O若不需要PulseAudio桥接,可以在Cadence下方的【JACK Bridges】的【PulseAudio】选项卡内手动开关这个功能。
, @0 W1 W/ b2 ?: G9 [) s# }: X" j0 x* l3 a- f
5494_1612847038_thumb.png 1 p  U% {4 W9 F5 x/ t; r
图3 启动JACK2后,KDE音量控制里多出的音频设备
/ Y; R0 [7 `  ?& n7 }0 t, C( r1 r: F$ l; b0 `, j; Q. ^
提示:: Q8 s4 C# b$ l9 W1 J
4 e# _# B. p* Z$ J( v9 P
可以勾选【Auto-start JACK or LADISH at login】,设置Cadence与JACK2服务的自启动。& @! S/ ^- R3 Z$ d
桥接启用后,原有声卡设备(见图3上方)的音量控制仍然起作用,用于控制输出的主音量。
欢迎厂家入驻,推文!免费!微信:yinpinyingyong

225

积分

2

听众

64

音贝

音频应用

Rank: 1

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

; _) Z/ w5 x; S" s9 {0 {% Z& N设置输出设备& Y2 |+ @* b' _+ _
* C! G6 h$ D  M4 \
默认地,Cadence会把输出设备设置为Dummy(空设备),会导致无法出声。因此要手动设置音频设备。5 h2 Q, i5 G* L. b3 Z8 E

9 v6 Y( S: C" u( Z6 r4 l3 H( r9 D在Cadence主界面里,点击【JACK Status】部分的【Configure】,进入JACK设置,然后点选【Drivers】选项卡。* h: R$ V4 A' c5 r7 h
* N: @9 `  G4 y3 i. v' g
左边【Drivers】一栏有五种输出设备:ALSA(调用本地声卡)、Dummy(空设备)、Loopback(回环)、Net/NetOne(网络源)。点选ALSA,以使用我们的声卡。其余选项不常用。
% n. Y1 L/ b$ C 4363_1612847081_thumb.png
, N  |0 U1 M6 T8 C, R3 p图4 设置Cadence输出设备9 e! W/ @* w% e. v0 r
) H2 y' D2 B! w. N0 _9 q, [# U2 G
此时右边就会显示出可用的设置项。% ]5 L4 u1 _5 |3 U4 f
# O, T7 K( x7 X7 p- ]" n4 ?
看到【Device】部分,设置输出设备。注意下面几个设置项,按下表设置好:
2 k7 L2 v3 z$ B9 U# H
4 J; c3 K4 y* z: f- R& d' Q" r
9 s6 A' c& {% j: e! p( ]2 L
设置项
说明
取值
Device/Interface
选择要给JACK使用的设备,包含输入、输出
hw:0指向默认的声卡设备
Input Device
" z* V) g5 h6 U2 aOutput Device
单独设置输入、输出设备
5 d& K8 |! k+ D0 z, q$ I0 @3 u4 g2 }, y% Q只有在Duplex Mode勾选后才能设置
hw:0指向默认设备的默认接口
Duplex Mode
勾选后,可以分别设置输入/输出设备
; h2 S0 D3 e1 r, ]3 S2 U0 P; f" Q否则全部使用Device/Interface中的设备

: m& Z5 }3 W2 O7 H, N" t
Input Channels' I+ g1 T) r! P2 Y: z- r9 v
Output Channels
输入、输出通道数
默认值为0,会自动指向该设备支持的最大通道数

, x* j- y" o- y2 [然后看到【Properties】部分,设置以下两个参数:
8 X( E# j% s; s5 m
; ^& I) D# L, {; h* j5 K
7 F1 O  w* f5 n
设置项
说明
取值
Sample Rate
采样率
一般音乐制作用44100或48000即可# p' U1 m2 z# H: O; y) X1 [
要求音质则可用96000或192000,但声卡不一定能支持。
Buffer Size
缓冲区大小
取值越小,延迟越低,但在集成声卡上可能会导致爆音。1 v) }( Y; {5 S. G# r* ^
一般设置成256~512,一般的集成声卡和独立声卡都能兼顾延迟和音质

" `9 C; _1 ^( ~$ |; x6 r* f) N" \" W

, n) C' v* u  D/ E1 p0 M/ W5 `! |/ w) R' ^+ c1 S
其他参数保持默认值即可。1 s* H; a  U+ E4 w3 r  ~

# ?) _0 v( F: \- [0 H. I设置完成后确认,先后点击【Stop】和【Start】,重启JACK,即可生效。: C: M; |( Z8 U9 i

% L9 X7 C5 S& v( y$ G4 h3 x( `5 {
第二:安装Linux下的DAW  J; [# F2 J' U$ @! h
Linux下的主流DAW软件不多,几大商业DAW大厂(如Steinberg、AVID、Ableton)基本没有适配Linux的计划。但一些优秀的开发团队推出了适用于Linux的自由软件DAW,比如:
. i- ]! B4 u$ j: B0 m7 D0 K- A" ^7 I+ ?- A9 x; Y" d# X# e. h6 \
Ardour:偏重于混音和后期的DAW,适合处理乐队、Vocal录音。调音台大厂Harrison的MixBus就是基于Ardour开发的。
$ L% E' K/ t6 t2 h9 l( k9 h2 Y4 cLMMS:完成度较高的全功能DAW,拥有钢琴窗,适合MIDI编曲。它自带大量的效果器,以及一些模拟游戏机的音源,开箱即用。
( O- z, D3 C/ ]6 ^9 g3 cMixxx:开源的DJ工作站,严格来说不是DAW,专为现场Live打造。- Z% {1 |7 \& |5 P5 d( y2 M& ~* u
以上软件皆可直接从Arch Linux的官方源安装。因篇幅限制,这里不介绍软件的用法,读者可自己体验。" p; f9 c- r0 b- Q: r
! ]* c2 y) E' c- r/ Q+ Z9 t3 t
sudo pacman -S ardour
% v( Z: B8 u+ L- q, f" tsudo pacman -S lmms/ t& N7 I4 Q$ |# h0 W) P& x; c
sudo pacman -S mixxx
+ ~/ ?; y& ^. G作者使用的是强悍的商业DAW——REAPER。有别于其他大厂,它提供了官方的Linux版本,能直接使用专为Linux开发的VST插件;且其Windows版本也可以借助兼容层Wine,在Linux下运行。* R0 ~( P6 Z$ `. y
% G5 D; L8 E, W$ r$ S# n7 n

  `$ U- r$ V, m+ }第三:安装原生效果器插件
" A2 m5 d( |/ U/ a6 B: v除了DAW,一些优秀的开发者也推出了同属自由软件的效果器插件,涵盖LV2、LADSPA与VST等几大格式,满足Linux下音乐人的使用。它们同样可以在Arch Linux下运行。这里先介绍两款插件:
7 A3 Q! v8 J1 D0 @) H
- W$ g2 `6 b- _7 LLSP Plugins
: E; Z) o+ L/ B3 `; t0 U/ O0 b9 B7 c4 O2 o4 J! S: i6 ^6 F
全名Linux Studio Project Plugins,是一套专为Linux打造的效果器插件,旨在填补Linux下缺少优质插件的空白。它囊括了混音所需的一系列效果器,包括压缩器、延迟效果器、图形均衡器、多段均衡器(类似于Fabfilter Pro-Q),甚至扩展器(Expander)、频段压缩器、侧链压缩器这样的高级玩法。部分插件还提供动态的频谱图显示,清晰直观。3 p- L3 ^( i0 f5 l
% N8 h2 u/ u8 k  [* s! j
比如,下图所示的压缩器Dynamic Processor Stereo:
) o8 W4 s6 p) g+ r4 i5 A9 L" n6 B/ l 5931_1612847184_thumb.png ! O% n  a! g* Y( Z
Dynamikprozessor Stereo% Z3 {' W# _  R5 j* \
, {' p5 \' r- T* c, w$ z
以及多段侧链压缩器Sidechain Multiband Compressor Stereo x8:3 `0 H9 z- t6 T* k: r, Y9 C7 i" W! B
5265_1612847154_thumb.png
6 t8 }% \0 P5 Y: g  w. K1 w+ \Sidechain Multi-band Kompressor Stereo x80 a; R( Y  ]  c( F2 `, h4 ?

% t3 N) _* H5 ]4 u在Arch Linux中,直接安装即可。  D$ ~) Q' j$ K9 ~5 t! w/ y9 p

% H3 V. D% n) L" G8 c0 G  a) wsudo pacman -S lsp-plugins
6 Y3 p+ u! G- K0 h- ]. |2 J! s# b  f/ L/ x3 E: [3 t5 Q3 |! n
Dragonfly Reverb% Y+ [7 W# U$ v- H7 D7 S1 f8 f

, @( x+ l' j5 H/ u这是一款非常高质量的混响工具,与商业DAW自带的不相上下,用彼此独立的几款插件来实现大厅(Hall)、房间(Room)、板式(Plate)混响,并提供一个反射效果插件(Reflections)。
* W5 F% Y' x: l* J
$ r6 P9 q; a3 `3 @) a- W3 k& a 4834_1612847212_thumb.png ! \4 B$ ^( F7 n4 e, s  H% n
它也可以直接安装:
9 S0 F6 f& Y; ]% ?, |
, y# }3 _' m- e, r- L0 H' H$ r7 Lsudo pacman -S lsp-plugins4 w$ i+ l/ z8 ~: \' L
& F0 l. N: d  r9 {( C, C
插件的安装目录
1 P4 u7 A1 d# T* C: k6 B
, [8 j: o2 L( q0 m; }# sArch Linux下,通过Pacman安装的插件如果提供VST版本,一般都会放在/usr/lib/vst下。把它添加到支持VST的DAW VST扫描目录中(如REAPER For Linux)。
+ ?8 d1 N; ^, q
/ Z) n5 g* T* B) V; a+ V# i5 K6 r* V$ `. m3 a, V
第四:使用Windows下的VST插件, }2 O& N0 `; g3 ^, R8 f. _) X3 G
我在上文里提到,目前主流的商业音频软件厂商,只会把精力集中在Windows和MacOS,往往直接忽略Linux。这就使得计算机音乐制作领域的大半壁江山都不属于Linux。好在,Wine的发展,使部分Windows专属的VST插件得以在Linux下运行,一定程度上弥补了这一缺憾。
. m% b" Y( e' c7 @! y3 ]6 x) s  b7 d, v, ^2 J: x" [! e
接下来就介绍如何在Linux下,给DAW装配上VST插件。
# [4 D. A, [! }, o7 C. G3 F! D: V# R$ [0 X* U$ Z+ [
Wine的安装和初始化
7 i5 d/ `4 D: k% w: \! x
, Q: W5 }9 G2 F5 Q# F2 J+ g& gWine是专为Linux和MacOS开发的兼容层,让你能在Linux下运行Windows下的程序。6 S" {1 ^9 C9 J8 o6 h+ o* P# {3 b
2 `# G; ~& b7 F% w  M/ E, ?
在Arch Linux下,要想安装Wine,首先须开启multilib源,这个源默认情况下是不启用的。; M) f/ _3 Y& g

/ r. ?3 G5 ]* K( |* q, gsudo打开Pacman的配置文件/etc/pacman.conf,然后取消注释以下两行,保存:
4 f. R$ G4 `5 a1 }" F& w/ P$ X/ w+ k. e. C
[multilib]
! S" |/ p  n, h- b8 E6 UInclude = /etc/pacman.d/mirrorlist
/ u7 j; U& V0 J: k
/ H1 q+ ]) A+ F注意:上方还有一个multilib-testing,收录测试中的软件,可能不稳定,一般不启用。( C! ^$ A9 r# s. C
! |  p1 w; F& [( F4 ]
更新软件源,然后安装Wine。下方的wine-mono和wine-gecko分别为.NET运行时、浏览器内核,为可选组件,但最好装上以免Wine在初始化时提示安装:
& ~# @8 }, ~' h; k& N$ G
3 `" |6 p4 w4 m6 Y: L( Wsudo pacman -Syy
0 Z5 F0 p, D6 O: J* {) F9 qsudo pacman -S wine wine-mono wine-gecko, I1 j% J, C) f/ _( t9 z& y

+ H; G% |, N0 @安装时可能需要选择用哪个版本的libfreetype,保持默认值就好。) H# {, I9 ?$ ~  m0 D6 x, G
$ Y7 W1 X7 T' g, @6 l6 h
安装完成后初始化,运行任意一个Windows应用程序,或是运行winecfg(Wine的配置工具),即可启动Wine,它会帮我们创建一个默认的“前缀(Prefix)”。这里的“前缀”是Windows程序的运行环境,相当于一个个沙盒,每个前缀彼此独立。
3 U% e+ X( n2 n$ O4 U6 F8 G
欢迎厂家入驻,推文!免费!微信:yinpinyingyong

225

积分

2

听众

64

音贝

音频应用

Rank: 1

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

1 W8 x  G6 z3 j4 U" D# z使用VST插件的方案
) p6 D. S$ K) _' u; h0 p1 U. l  d) M& G+ z% g* y
Linux下的原生DAW,主要有两种支持Windows版VST插件的方案:
9 s  ]! Q+ |; R( P$ ?2 ?" ^8 W- x# M$ m0 h5 V4 [
使用基于Wine的桥接器,将Windows版VST插件转换成原生的Linux VST插件,如LinVST
  `1 i" r/ D% q+ _) v" @原理是构建一个原生VST格式的wrapper,宿主在加载wrapper后会自动调用桥接器的host服务端,从而利用Wine加载VST本体。5 ~) y5 m" H; h/ d% D0 M# C
通用的方案,只要DAW支持原生VST,就可以用。
0 E. A) P1 _' C; J$ H6 _6 o内建桥接器,即采用自己编写的桥接器,如LMMS中的VeSTige
6 ~4 V6 \) Y/ _# s( a只有少数的DAW有这个功能。
0 K+ Y# T( h" j8 r5 A另外,还可以直接使用Wine来运行Windows版的DAW,它会像在Windows里那样加载VST。它基本不需任何其他配置,但不具备普适性,不能保证所有的DAW都能正常运行。目前兼容性好的只有REAPER。& U! z6 M4 N8 R
$ T; v5 i/ Y+ X$ e# z2 z$ R& ?
方案一:内建桥接器: x% A$ ~6 ?, t* O3 o1 w
- o2 v9 @) N% S
以LMMS为例,它附带了专门的桥接器VeSTige,可以直接像在Windows那样,加载*.dll为扩展名的VST插件。0 @1 o* W: b" M- _

! i3 p, H% }- B2 b7 A1 [ 4110_1612847300_thumb.png * t* T2 T5 v) T5 n  A0 `  z) Y" X
4 N+ Q; N+ r9 b/ }
操作步骤如下:
: d$ `" A" ]. @( L' q: U
6 Z  d% j3 D5 ~3 ^+ ?4 J% I) L# n- w& G点击左侧的Instrument Plugins(音频插件);
! x6 y3 e" `0 N1 Q% I0 J插件列表出现,在下方找到VeSTige,拖到音轨视图里;1 l6 E8 r- ?) c1 z1 c
点击音轨视图里的VeSTige图标,打开插件界面;) l0 E7 `2 p" f8 {
在插件界面中点击“打开”按钮,定位到VST插件目录,打开它;
' F+ I  r7 L7 R0 |4 V( E可以点击“Show/hide GUI”按钮来显示或隐藏VST插件的界面。+ O9 l( q# i2 w
能否加载成功,仍然因系统环境和Wine的版本而异。如果无法加载,则使用htop,把RemoteVSTHost.exe这个进程结束,以免占用过多处理器资源。3 d+ F8 B4 S4 M3 @
5 u7 h: L. v' i2 G( J. r1 U
方案二:使用LinVST# J. p+ i" j9 [$ {
$ y, q% Y/ R5 A$ R
LinVST是由OSXMidi开发的桥接器。类似于Windows下的jBridge,用户通过它提供的转换工具,创建一个原生VST插件,作为Windows版VST插件的wrapper,接下来只需在宿主中加载即可。) h2 u9 x6 Q9 G! m- @$ u$ U
& f) g6 N$ y& n) Z1 s& B) Q
它同时支持VST2和VST3,分别对应两个独立的项目:LinVST2、LinVST3。它们各自还拥有一个增强版本——LinVST-X和LinVST3-X,允许一个VST插件实例被共享,起到节省资源的目的(例如把一个Kontakt实例用在多个音轨上)。
' T% Q" j7 L& I* k
& g0 W! w6 u: {5 C( h! G" MArch Linux的官方源没有收录LinVST,须通过AUR安装。笔者用的是yay。
4 |  T* m6 D! j3 L) M5 z8 A0 x6 p
: x+ |! _: V4 ?0. 安装yay
* q( Y) D) t$ ?; W. C! I
" \6 B5 F3 f+ O1 z+ U6 M: F初次听说AUR和yay的读者,可以先添加Arch Linux CN源。同样是编辑/etc/pacman.d,在结尾添加:& E9 C* a, e* p, }1 Q

& m' M, |7 U: r. ][archlinuxcn]! a+ c6 ?0 |; S. o9 f4 b
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch! o8 U" g1 L/ g4 r7 a" ]$ T
( d' E  u0 [5 j, x: o
然后安装密钥包,以及yay本体:+ Q" f+ d7 D8 L# X4 C7 t+ A4 G. |3 Q
7 \5 B9 g  h/ I) f" d
sudo pacman -S archlinuxcn-keyring yay
) |/ X* q  H2 G$ M
4 @, W1 G2 k7 L5 J  f/ F: |1. 安装LinVST本体
2 B: ~( P2 w: ^8 L4 W8 U4 r6 F7 F2 c3 ~/ g2 C+ F  Q- W
首先安装LinVST。AUR的包分为源码包和二进制包,后者开箱即用,前者则需编译。建议选择二进制包。8 _' K8 f7 b7 w- P
# 源码包: p) P( F) `) Z! j) l' D9 W
yay -S linvst linvst3
) }8 w  \2 f" c  c4 g# 二进制包
8 U/ S# H8 A- m# h3 i- `  ayay -S linvst-bin linvst3-bin
: q, E0 w) G) e1 ?8 Y% `4 ]6 z* P" C$ v2 P( a- M
如果需要增强版本,则安装:
5 B- W5 r; h5 r/ K, C1 c6 R% }% x
$ z9 L5 M% [& ~7 E1 i" Lyay -S linvst-x-bin linvst3-x-bin
0 u7 H6 \  t/ L6 [. u5 W6 i
' G$ I, i1 t& c$ L: u% e9 f  T" m注意:采用源码版编译会有两个问题:8 b  w. ?% o. @2 R: ^

) ?* Z, w* \2 g/ a$ d只有linvst能编译,linvst3会在编译附加组件ArchStudioUtils时出错。3 p! {( Q3 B- w
生成wrapper必不可少的linvstconvert没有编译。用户必须手动进入源码的convert/目录来编译才行。0 l2 |& t& G# K: @1 L# K
2. 如果出现错误:“一个或多个文件没有通过有效性检查!”0 k" u) F+ |6 l3 c, H9 u, r
& |, R* n1 L, p
但是,由于LinVST的二进制包更新与AUR PKGBUILD的MD5值不同步,会出现能下载成功,却通不过有效性检查的情况。这时要手工修改PKGBUILD文件,去掉有效性检查的部分。/ P5 G1 J  Q* b# d+ Q- y: u
8 S5 m9 g6 F+ W2 c& b) v( g
首先进入linvst-bin包的yay缓存目录:  N7 Q( K0 `/ H5 I( @& Q. ]
* O5 c+ {! v) q; i# d
cd ~/.cache/yay/linvst-bin/
' V6 V' T0 |0 I2 o" c: S/ {8 R! g! m$ v
然后修改PKGBUILD文件,更改md5sums=(xxxxx)一行,把括号里的字符串值改为SKIP,表示“跳过有效性检查”。注意大小写:
: L3 h/ h/ _3 B0 ]& i  i% c, r8 j. B  K
# 修改前,字符串值为MD5校验和
2 Z9 D* t! c' s7 |- n7 vmd5sums=(68b329da9893e34099c7d8ad5cb9c940): J% p, v( `' c5 g, r- I" F- ?
3 G* g* y8 A# @3 {3 q
# 修改后,字符串值为SKIP
5 E/ O2 V* Y6 `  Z2 ^1 o3 t5 tmd5sums=(SKIP), `, q5 S! `) O3 u  ]
6 z5 U2 p5 N4 ]4 J8 \
保存后,运行makepkg,生成安装包:
* d( U. h) r* Z9 R: N- Z3 G9 q$ L
: B9 R* s$ B: E- Rmakepkg
/ w2 }1 R, M( R7 ?7 g' Z! L# ~8 h9 M9 A
生成好的安装包位于当前目录,文件名为linvst-bin-x.y-z-x86_64.pkg.tar.zst(x,y,z为版本号)。可以直接安装:3 Y2 d/ A: E; M( f. Q

- ^$ m& N+ E6 P1 S# K& R& g7 lsudo pacman -U linvst-bin-x.y-z-x86_64.pkg.tar.zst& T: u$ W3 S7 ?; e" ?: k  H" P' w

' E9 T' E) m% e2 l8 F用同样的方法,制作并安装其他几个二进制包。: {( Z5 B) k  l; \1 S/ t  ^

$ ~& ]/ Z$ S8 [" M3. 生成wrapper
/ [! J4 I7 w$ v5 w7 s8 j
/ z  I  ^& r! ^" |6 Z* A& a- xLinVST用于生成wrapper的工具有以下几种,它们界面大体相同,须从终端运行:+ D" b9 h# w' d7 w! N
- m3 S* ]8 m3 x
linvstconvert、linvstxconvert、linvst3convert、linvst3xconvert:指定一个文件夹,然后由其中的VST插件生成对应的wrapper。6 r$ L' i8 H+ K1 u+ P( m  P) j
以上工具加上tree作为后缀:递归寻找子目录下的所有VST插件,为其生成wrapper。
4 E: ]1 z$ B6 j- |如果所有的VST插件都在一个文件夹里,则选前一类;而如果位于若干个子目录里(比如部分VST插件带有附属的文件,要与插件本体放在单独目录中),则选后一类。
% A. M6 p) l" X2 g" ?
4 {# w: ?" c0 c/ c' ?1 M4 B运行后,出现这个界面:
1 K5 `' Y* U. W8 P2 L" T# a& y$ h
9404_1612847445_thumb.png / v: @* E( W6 z# X6 N
+ W$ E2 n# h9 I2 F/ E
首先把你的Windows VST插件统一放到一个目录中,建议~/.vst(VST2)和~/.vst3(VST3)。* v# v, _- v0 S# ]3 {( i9 P
在生成工具界面中,选择LinVST库。点击【Choose linvst.so】,在文件对话框中定位到/usr/share/LinVst,选择linvst.so。其他几个VST3和增强版的库文件也在该文件夹中,如果是linvst3convert,则选择linvst3.so,以此类推。' D9 O, b5 f) q& ^
然后通过下方的【Choose dll folder】,选择Windows VST DLL所在的文件夹。(如果是linvst3convert,则界面是【Choose VST3 folder】,选择*.vst3所在文件夹)。8 ]( P# A/ b' A
点击【Start】生成,随后VST插件目录下就会出现与插件同名的*.so文件,即原生VST wrapper。
4 `3 G% e5 c9 Y最后把插件目录添加到DAW中即可。实测,REAPER for Linux完美支持。; {5 [8 M* P$ f
注意:
  t5 I  n' R1 d, S7 \$ U# c: ?9 u% s
4 e% W6 `7 H( h$ _- {8 oVST插件和生成的*.so文件必须在同一目录下,否则LinVST会提示找不到插件。! b: s* m( C# c, ]- d
Wine的兼容性3 P$ W: r  M3 l2 W* _: F- N9 W
8 E" c- r. c0 X0 [
Wine是一个持续开发的项目,这是由Windows的复杂度决定的,开发团队不可能在短期内适配真实Windows下的所有特性,并保持其稳定性。因此并不是所有的程序都能完美运行,包括VST插件,测试中程序挂掉、出现Bug,在所难免。
8 N' g& Y5 d: F) E, e( w" x' j! r  q4 p& F1 s, A/ H* D
幸运的是,有些开发者会考虑到Linux的生态,会优化自己的应用程序,使其能完美地运行于Wine。REAPER就是一个很好的例子,它的Windows版本可以直接在Wine中安装。之前REAPER并未推出原生的Linux版本,官方特别在下载页中提到,“Windows版本可在Wine下运行良好(For Linux users, the Windows version works well with WINE.)”,便利了Linux用户,也实现了开疆拓土。
+ M! n8 {, D& g' l. a" Y" A3 ]9 Y" |4 p0 \/ U
即便如此,REAPER仍属于少数。大部分的应用仍需自行去测试,检验其在Wine下的兼容性,以及事后会不会出Bug。0 x( w3 c) L" Q+ s. M6 N
6 G1 N# f0 H  h7 d& o3 m7 m
我所做的测试7 d& k+ E8 J2 q+ ]" _! N) Y
  o( v( n, y  a: W3 k
Kontakt Player:我用Wine下的REAPER for Windows测试,它可以在REAPER中正常加载并播放NKI采样,表现与Windows下一致。不过,如果在REAPER中就地重新加载(选择“更改当前VST效果”后重新选择Kontakt),则会导致长时间卡住,可见并不完美。/ i2 u% a& N1 y& J$ M! ]- c" ^% V0 t' v
Synth1:一款免费、强悍的合成器插件。4 G, q% k/ H0 z7 @. ?1 \/ j- U$ m
在LMMS下尝试用VeSTige打开,但没能启动成功。相反LMMS自带的VST宿主程序(RemoteVSTHost.exe)还卡在后台占用CPU,只能手动结束。# g* e6 i2 r4 i: D7 [
移师REAPER for Linux,借助LinVST,顺利运行,体验与Windows别无二致。% U* D  q# f1 g, V( S3 |

8 ]5 P- p4 x, [" k  a4 S后记
+ J9 b5 I. U2 A, }5 Y, ^- E3 w, y以上是作者在Arch Linux下试玩音乐制作软件的体会,发掘了Linux的别样用法。由于厂商适配策略的不同,并不能保证Linux一定能拥有不输于Windows和MacOS的体验,但当下的Linux至少不存在这方面的空白。, Q8 y' d* x) R3 p& E7 |- U

7 i4 e0 @3 {9 Y8 [  m8 w% O; d不过,在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

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