音频应用   音频插件联盟,正版插件,欢迎大家选择!

 找回密码
 快速注册

QQ登录

只需一步,快速开始

阅读: 31541|回复: 3

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

[复制链接]

225

积分

2

听众

64

音贝

音频应用

Rank: 1

积分
225
发表于 2021-2-21 | |阅读模式
音频应用公众号资讯免费发布推广
Arch Linux 打造成音乐工作站的几条经验# ?! K& U! r+ S6 ?
作为程序员+音乐人二合一,我的系统环境横跨Windows和Arch Linux。原本Arch Linux只用来做开发,但这么强大的系统,我总觉得它还有无限的可能性还没有发掘出来,比如,做音乐。6 I+ x  c' ~. `, \: h

! D  \& d1 ?. S1 U  Q相较于Windows,作为开发者首选的系统之一,Arch Linux有以下难以比拟的优势:
" j3 B0 l5 z+ ?/ p, ~* ]8 E9 h# @# J  N3 K- M( ]( \
运行速度快,内存占用量较小,轻便自在;# j1 h/ o2 l& b' J5 d8 N/ j
Pacman软件库,应有尽有,安装开发工具轻而易举;: Y7 p+ G0 n  J. t% q
安全可靠,不怕病毒;
# Y2 u* E. _  o/ e$ `对老电脑、老设备分外友好,十年前的ThinkPad X200照样做主力。
  a/ Q/ d6 |- o1 t! V' G2 `不过,不管是哪个发行版,Linux总有一点比不上Windows和MacOS,就是音乐制作——很少有音频软件厂商能够提供原生支持Linux的音乐制作工具。尤其是Native Instruments这样的业界巨头,只专注于Windows和MacOS,不会为Linux提供任何支持。实在是可叹。" K) n& m) Z0 e) h1 |* r6 v8 M$ d
1317_1613898821_thumb.jpg 2 M4 z: j  t- {
幸运的是,开源的力量是无穷的,既然Linux能普及,总有大佬在填补这方面的空白。各种适用于Linux的音乐制作工具链应运而生,从底层驱动级别的JACK,到对标业界标准插件规范(VST、RTAX、AAX、DX、AU)的LADSPA,甚至完整的DAW——LMMS、Ardour、REAPER for Linux,应有尽有。从此,Linux不再是没有音乐人造访的荒漠。+ ^% B7 ]/ a; ^1 ~; o
0 S1 B1 i9 n8 k2 |0 U
0 i( g' y. \) u" }, V+ E
Linux作为音乐制作环境的必备要求0 H' D" n2 S# ?' N* s+ P- h, H0 B; V3 I1 }
要想把Linux打造成音乐工作站,需要进行以下方面的配置:+ a6 R( D% E9 x* b0 [, {3 k) P

  K- p- S6 [! Z: p; E4 a3 ~配置好低延迟的音频接口——JACK。
5 o# G' W0 n) o0 y7 E安装必要的音乐制作软件。: M5 t5 M8 g& i% O
安装兼容环境——Wine、LinVST,用来使用Windows下的VST插件。6 x( H, }: U' m6 S# T+ |1 Q- ?

. X! T6 r* \- d1 L- T" ~6 q  N6 R第一:安装与配置JACK! e1 s. Z, w5 m$ m( ~- K1 Y
要把你的Arch Linux打造成音乐工作站,首先要做的就是配置音频服务——JACK。JACK是一套高性能、低延迟的音频服务程序,它基于Linux底层的ALSA,可为音频应用程序提供低延迟的音频回放、录制支持,相当于Windows下的ASIO,以及MacOS下的CoreAudio。: ]- m9 a8 m/ N$ n! Q; k- E% N' R
7 y( |8 f0 G1 y) g& Q4 x( X
安装哪个版本的JACK?
; L3 K+ ?# T: G7 N
" q- r& a# V% w一般的发行版会提供两个版本的JACK:
$ F, ~4 |8 q* m/ w
9 q/ s* X" O1 R1 ~, I5 DJACK1:包名为jack,用C语言编写的最初版本:' S; ~( e' Q" _0 G9 w; k
只有音频服务功能
# _5 N+ n, V) M- N) R. M对系统要求苛刻,需要配置用户权限、realtime权限才能使用
3 u  p. E, P  o$ H4 U2 R! B独占控制声卡,其他程序无法再播放音频$ F; `3 i% V3 q7 u; J- ^" `
JACK2:包名为jack2,用C++重写的版本:
4 P; Q7 Y8 X* O, T支持DBus协议控制& [8 \+ O9 Y) j. w; g: z* ^
支持将PulseAudio、ALSA重定向到JACK,从而兼顾其他使用这两种音频服务的程序: r2 ^; V3 b$ _
无需配置权限即可使用# f# i9 A) W5 A; T9 Z
先给出结论——选择JACK2,不要选择JACK1!+ V1 k7 ]: r, M0 h
虽然JACK1是最初版本,包括Manjaro、Artix Community在内的多款发行版都有预装,但它并不是开箱即用的。想要使用JACK1,首先要配置realtime权限,然后再把当前用户添加到audio用户组中,重新登录后再通过QJackCtl这类工具来手工启用JACK服务,非常麻烦。
- a4 q. X. L$ b( T
* H3 {. i( ]2 @# F( w加之,JACK,和PulseAudio是独占访问声卡的,其中PulseAudio是各大Linux发行版和各种应用首选的音频服务,这就意味着一旦开启JACK,其他应用程序就无法出声,甚至会引起一些无法预料的错误。5 D( B- r- }$ L6 q- f5 x! u

! b/ c. ]" H& @+ Z* W5 o# Y相较于此,重写的JACK2则解决了上述两大硬伤。首先,JACK2使用了全新的架构,默认情况下无需依赖realtime权限和audio用户组即可运行,和PulseAudio一样都能直接运行于用户空间(区别于root权限下的系统服务)。其次,开发者设计了一套“桥接(Bridging)”机制,能够把ALSA和PulseAudio重定向到JACK里来,从而保证其他使用了PulseAudio的应用程序仍能正常使用,听歌做歌两不误。! }$ S: ^7 H/ K1 U1 J

# M7 D% D. e6 o: b$ _+ ^$ z显然,首选的JACK版本非JACK2莫属。9 {% T, ~" B# ?# u

# l* S( N9 U8 E4 ~1 Z. {安装与启动JACK23 ?1 p/ j$ A2 z' L3 B) ^

. ?3 v( [* X- P) V, _' s, y* F首先安装JACK2,以及JACK2的音频控制面板Cadence:1 z" Z  p' a# |+ C) w& T' _
& ^! R+ r  A& B# c3 b$ ~1 |
sudo pacman -Ss jack2 cadence8 G6 N  K& n) |! q+ w& b

% d3 C$ b* b# B3 B0 P, B# wCadence是一款优雅的JACK2控制面板,功能全面。首先打开它:& ]$ @* o! D/ ^! e' n. T
7588_1612847001_thumb.png 3 d- p1 D, s9 c% @- G2 W
* \5 `# M8 i9 U
图1 Cadence主界面
  g/ z% B4 v. J5 R' _% d0 L* @, q. L' g) Q
然后点击【JACK Status】部分的【Start】,启动JACK服务。若启动成功,则该部分会显示以下内容,表示JACK2启动成功,并给出当前的运行参数。% i+ A- S( v% V

+ t& b9 g! t. f: e6 u/ t9 k 4620_1612847017_thumb.png 3 G; U) K  b/ J+ K; u
图2 JACK启动成功后,Cadence显示的状态! Q+ w; |6 d$ e/ V# V
* Z8 ^5 D) ^( X
启动成功后,PulseAudio到JACK的桥接功能也会自动启用。打开PulseAudio桥接后,系统会多出一个音频设备,为“PulseAudio JACK sink”,是把PulseAudio重定向到JACK的设备,选择它即可让原先使用PulseAudio播放音频的程序都通过JACK来输出音频。
" w8 ?  z3 s/ {# z2 D0 p3 u
, O$ |2 u4 p1 H5 T& V% ^4 N4 q若不需要PulseAudio桥接,可以在Cadence下方的【JACK Bridges】的【PulseAudio】选项卡内手动开关这个功能。
2 k* T- L0 q8 N; U9 w
2 f' F8 l  z5 `$ D7 a5 G( S+ l- E- K 5494_1612847038_thumb.png
1 q, k3 H- R5 M/ D) W图3 启动JACK2后,KDE音量控制里多出的音频设备4 s8 e2 ^. H, D  S; ?8 r) |
  O; _- d: A  l( ^. W7 ~# v  d
提示:
1 p& t/ z9 t: g5 ]
3 R& y# E/ _% L8 n可以勾选【Auto-start JACK or LADISH at login】,设置Cadence与JACK2服务的自启动。
  [& L2 t  W/ x桥接启用后,原有声卡设备(见图3上方)的音量控制仍然起作用,用于控制输出的主音量。
欢迎厂家入驻,推文!免费!微信:yinpinyingyong

225

积分

2

听众

64

音贝

音频应用

Rank: 1

积分
225
 楼主| 发表于 2021-2-21 |
7 ]$ \( j8 w  z( ?. T; U
设置输出设备% B3 M/ r0 n7 l" S

: I# {5 Q$ F7 V  J" h默认地,Cadence会把输出设备设置为Dummy(空设备),会导致无法出声。因此要手动设置音频设备。
# u( z4 o$ e! d* ]( L+ o" |# }0 x/ O& s! S( X
在Cadence主界面里,点击【JACK Status】部分的【Configure】,进入JACK设置,然后点选【Drivers】选项卡。
2 M; Z. `/ v/ V! D
9 N# X- R  a$ ]: T3 D2 ~. _左边【Drivers】一栏有五种输出设备:ALSA(调用本地声卡)、Dummy(空设备)、Loopback(回环)、Net/NetOne(网络源)。点选ALSA,以使用我们的声卡。其余选项不常用。
- q# U0 _6 e) A) {; f# { 4363_1612847081_thumb.png " ^. o0 Z: v% g) X+ _% d
图4 设置Cadence输出设备8 l. f+ G) K2 f# }: [- U5 [0 ]3 |
3 W& Q/ p0 z! E3 F1 B' O2 Z; o: l
此时右边就会显示出可用的设置项。
9 a" j% x0 W; U
9 [5 R+ P" v8 y0 G, n6 K5 V看到【Device】部分,设置输出设备。注意下面几个设置项,按下表设置好:
4 F5 ]+ m# P& F' j) f# B8 e1 B& K  Y: R+ G4 I7 p

6 L9 y5 C( V7 c, X$ s, P/ n8 O" g设置项
说明
取值
Device/Interface
选择要给JACK使用的设备,包含输入、输出
hw:0指向默认的声卡设备
Input Device6 T; P# C- s2 ~0 E; @. [; m# Z2 W
Output Device
单独设置输入、输出设备0 c' s  J1 q2 h
只有在Duplex Mode勾选后才能设置
hw:0指向默认设备的默认接口
Duplex Mode
勾选后,可以分别设置输入/输出设备
5 Q, x# W' x! u/ }否则全部使用Device/Interface中的设备
- [8 `+ ~( u" N. }. d" _. o/ L
Input Channels. o0 j$ V& J6 |: B/ F1 X& D
Output Channels
输入、输出通道数
默认值为0,会自动指向该设备支持的最大通道数
( F) @( E$ }2 o  ^% @: ?
然后看到【Properties】部分,设置以下两个参数:% j1 B+ E$ I. z; N

" |) i' ^+ u7 O6 N
5 r2 g- ~* ^! ?
设置项
说明
取值
Sample Rate
采样率
一般音乐制作用44100或48000即可
/ L  E( F' L  Z) m; f5 F要求音质则可用96000或192000,但声卡不一定能支持。
Buffer Size
缓冲区大小
取值越小,延迟越低,但在集成声卡上可能会导致爆音。" p/ z4 d) T1 \6 L7 G& }. i" a
一般设置成256~512,一般的集成声卡和独立声卡都能兼顾延迟和音质
9 L& M: Z  o* C: u
5 z* {- S/ P/ q, y
% ]3 v$ \' d" L7 \) j; ?$ @. J
其他参数保持默认值即可。
5 j( d/ E' \2 q0 C
5 h+ Y0 u; Z1 y8 Q  ]设置完成后确认,先后点击【Stop】和【Start】,重启JACK,即可生效。/ w' o+ @+ s* p4 t' O! Z, ]

/ t1 h" _# @/ Z4 @
! K6 M6 N/ H; H' K3 x* w7 d2 ~. w第二:安装Linux下的DAW
, [3 U' q3 h. }Linux下的主流DAW软件不多,几大商业DAW大厂(如Steinberg、AVID、Ableton)基本没有适配Linux的计划。但一些优秀的开发团队推出了适用于Linux的自由软件DAW,比如:, i+ [0 @+ {9 d- M3 A4 ?

( N/ ^/ G: q: U6 M) i( I/ MArdour:偏重于混音和后期的DAW,适合处理乐队、Vocal录音。调音台大厂Harrison的MixBus就是基于Ardour开发的。  Z8 E3 o& n' I# f+ p; B
LMMS:完成度较高的全功能DAW,拥有钢琴窗,适合MIDI编曲。它自带大量的效果器,以及一些模拟游戏机的音源,开箱即用。
+ M" K$ N; c1 \0 RMixxx:开源的DJ工作站,严格来说不是DAW,专为现场Live打造。# B( t2 N3 R, Z5 \4 V2 Y
以上软件皆可直接从Arch Linux的官方源安装。因篇幅限制,这里不介绍软件的用法,读者可自己体验。2 m- V" D1 N7 ^% w& H$ N$ b
* k: z8 ]+ J3 l- `3 p8 l
sudo pacman -S ardour8 M0 C+ ~4 f4 ^* K
sudo pacman -S lmms
0 Y/ b* i  f6 L. X. s: Isudo pacman -S mixxx1 }; \& E! X; C+ L; O2 Z- ?. g4 t
作者使用的是强悍的商业DAW——REAPER。有别于其他大厂,它提供了官方的Linux版本,能直接使用专为Linux开发的VST插件;且其Windows版本也可以借助兼容层Wine,在Linux下运行。6 |2 @" X: q# h/ ^, ]
% L5 G0 l4 Y9 c5 N$ E9 \

" [+ P; y! w3 G! b8 X. ~# Y第三:安装原生效果器插件* W) M, c  x* H6 F& I0 ]) ]  G
除了DAW,一些优秀的开发者也推出了同属自由软件的效果器插件,涵盖LV2、LADSPA与VST等几大格式,满足Linux下音乐人的使用。它们同样可以在Arch Linux下运行。这里先介绍两款插件:7 g' d) M$ o2 o$ I) y$ g. W* S

) |+ x8 b1 s# ]) \0 u# \LSP Plugins
8 N7 j; w- d9 U$ Z. n5 ?0 r$ ~# K! c
全名Linux Studio Project Plugins,是一套专为Linux打造的效果器插件,旨在填补Linux下缺少优质插件的空白。它囊括了混音所需的一系列效果器,包括压缩器、延迟效果器、图形均衡器、多段均衡器(类似于Fabfilter Pro-Q),甚至扩展器(Expander)、频段压缩器、侧链压缩器这样的高级玩法。部分插件还提供动态的频谱图显示,清晰直观。
3 H2 G6 y& \, j
3 O3 x/ ]. g  R' B比如,下图所示的压缩器Dynamic Processor Stereo:
7 y, p$ ^) E9 m2 [4 ?6 D9 n: J( s 5931_1612847184_thumb.png " q% ]* h0 K4 Y* a, p
Dynamikprozessor Stereo" t% E! {2 l# [$ R9 u

7 ~2 X* g, q- S* z+ M" U! T* i& u以及多段侧链压缩器Sidechain Multiband Compressor Stereo x8:
. A. ~& ?: `6 l  ^6 X 5265_1612847154_thumb.png ) J7 Q1 }* i1 s. u
Sidechain Multi-band Kompressor Stereo x8
0 K" X* X* k8 \, R3 p: @- d8 n7 z# A$ U/ U9 e( P0 E
在Arch Linux中,直接安装即可。! T6 |: Q. ~7 ^; o5 i

- c" t3 W+ L: g0 F; g. _. zsudo pacman -S lsp-plugins3 C, ]' k, u! y5 F
; P# d- V8 x! A6 n* I( ]% Z5 R  E  z& h
Dragonfly Reverb* k' i4 j' o: J3 V! f6 i, v

6 }9 g: {5 A" e8 q这是一款非常高质量的混响工具,与商业DAW自带的不相上下,用彼此独立的几款插件来实现大厅(Hall)、房间(Room)、板式(Plate)混响,并提供一个反射效果插件(Reflections)。
* U2 }; T) \3 K- t) A, l) i6 W+ S$ T- `8 i9 f6 M( z
4834_1612847212_thumb.png
8 f9 A4 g, `: c1 z2 B2 k( t# Q8 r它也可以直接安装:
  C7 B% ~& u- f$ s& \
$ q* {6 |  C. p/ ]( b! O" s  t' V$ tsudo pacman -S lsp-plugins
& D* ^5 T2 `3 E9 r6 }8 m4 a, V2 }/ T( S
插件的安装目录  Q) `4 U( t6 O- e% ?. k7 K
# z7 x6 M  y9 W  a  f
Arch Linux下,通过Pacman安装的插件如果提供VST版本,一般都会放在/usr/lib/vst下。把它添加到支持VST的DAW VST扫描目录中(如REAPER For Linux)。
1 p9 J5 ]2 P& C0 D
5 }& d% q: J4 u
# z2 p+ P) y% E/ N9 {/ h: h. S第四:使用Windows下的VST插件
; K, X8 Q% K- Z$ E/ |我在上文里提到,目前主流的商业音频软件厂商,只会把精力集中在Windows和MacOS,往往直接忽略Linux。这就使得计算机音乐制作领域的大半壁江山都不属于Linux。好在,Wine的发展,使部分Windows专属的VST插件得以在Linux下运行,一定程度上弥补了这一缺憾。% ]( ]5 B, _1 J" o

" e% q$ e- X/ t# {3 W9 o接下来就介绍如何在Linux下,给DAW装配上VST插件。. u: y; E0 k9 Y$ Q  @' I/ k$ n

( z6 {3 D# g' @, z) w9 L5 m0 uWine的安装和初始化
# q! W9 s% m" h7 `0 `( Q) R4 Q8 h1 H
Wine是专为Linux和MacOS开发的兼容层,让你能在Linux下运行Windows下的程序。+ A8 M' @) O' M3 r' F, t6 P

& Z) }0 b2 e0 ?$ d0 g6 R在Arch Linux下,要想安装Wine,首先须开启multilib源,这个源默认情况下是不启用的。
/ l+ H8 k* Y4 e" A+ O$ q7 H3 \0 L& g$ M* p
sudo打开Pacman的配置文件/etc/pacman.conf,然后取消注释以下两行,保存:
. e& T4 l; d" N: Y0 y  D3 o# B+ x. H5 K; g% s3 d1 x
[multilib]& F% g* o( ^% c) `6 o
Include = /etc/pacman.d/mirrorlist
/ M1 `& Q% B5 L# F/ L
2 r0 J1 Q$ h3 o) S: W注意:上方还有一个multilib-testing,收录测试中的软件,可能不稳定,一般不启用。5 ^, t: ?4 B* o

7 V$ ~  E# F+ X' C- j3 F, W更新软件源,然后安装Wine。下方的wine-mono和wine-gecko分别为.NET运行时、浏览器内核,为可选组件,但最好装上以免Wine在初始化时提示安装:$ q/ A/ s$ s- O2 a8 J6 g
6 u* N0 y! b+ ~
sudo pacman -Syy; ^8 ^, j* K4 d# B
sudo pacman -S wine wine-mono wine-gecko
3 d% c3 H$ Z1 g. N1 A5 \7 b' p! b9 B. ?
安装时可能需要选择用哪个版本的libfreetype,保持默认值就好。2 f9 B5 P$ [! ]$ p; u

: ?; C$ Z- ~; o2 _) }+ h( N; M安装完成后初始化,运行任意一个Windows应用程序,或是运行winecfg(Wine的配置工具),即可启动Wine,它会帮我们创建一个默认的“前缀(Prefix)”。这里的“前缀”是Windows程序的运行环境,相当于一个个沙盒,每个前缀彼此独立。
+ X. A* K' T. O7 `( _+ W  c
欢迎厂家入驻,推文!免费!微信:yinpinyingyong

225

积分

2

听众

64

音贝

音频应用

Rank: 1

积分
225
 楼主| 发表于 2021-2-21 |
1 w! X( ~7 n# k" s  d  w# e
使用VST插件的方案' l3 ]% i  r  f6 s9 n' ?
* P( O' V" S" z6 o9 d
Linux下的原生DAW,主要有两种支持Windows版VST插件的方案:
' M# `$ c  K% p' M4 L8 B6 E9 R; W
) x. \/ b" \/ ?% I使用基于Wine的桥接器,将Windows版VST插件转换成原生的Linux VST插件,如LinVST
, O; D; W" Q2 t% O1 ?, x8 A原理是构建一个原生VST格式的wrapper,宿主在加载wrapper后会自动调用桥接器的host服务端,从而利用Wine加载VST本体。
; b4 u% {/ x. a' V: g% I8 O通用的方案,只要DAW支持原生VST,就可以用。( H7 ~. Q6 z' u) g, O+ g
内建桥接器,即采用自己编写的桥接器,如LMMS中的VeSTige  ]% D5 I" L( ?/ O1 ~# B: G
只有少数的DAW有这个功能。4 Z/ E& e+ J* T4 C3 Y
另外,还可以直接使用Wine来运行Windows版的DAW,它会像在Windows里那样加载VST。它基本不需任何其他配置,但不具备普适性,不能保证所有的DAW都能正常运行。目前兼容性好的只有REAPER。' x1 L; @( E0 V! \- J# c

/ D3 q. b/ I' O- I方案一:内建桥接器
$ c3 W9 |) g; F: Q, c0 c4 D
3 U2 F  f: D% {8 t4 ~  s  S以LMMS为例,它附带了专门的桥接器VeSTige,可以直接像在Windows那样,加载*.dll为扩展名的VST插件。
" x, ]6 k  y& y! |0 U8 R/ K; h! |4 y2 f+ d; V5 h8 s( D; V$ }( `
4110_1612847300_thumb.png
, G+ O, C, i* v/ b- z  |! k% {! N4 P! Z
操作步骤如下:/ z' L  e. {+ \2 V

+ w8 E0 [7 d' I1 J2 H8 S点击左侧的Instrument Plugins(音频插件);
6 M! y( k- @5 X; L/ x& w7 d插件列表出现,在下方找到VeSTige,拖到音轨视图里;
" p. k6 {: c- \" K4 [; {7 k点击音轨视图里的VeSTige图标,打开插件界面;
2 K& F- f2 [5 i  R% U. Y% j& o在插件界面中点击“打开”按钮,定位到VST插件目录,打开它;9 i! q$ C/ t( j2 u  T
可以点击“Show/hide GUI”按钮来显示或隐藏VST插件的界面。
, V7 v  X( {* B( A- w+ R能否加载成功,仍然因系统环境和Wine的版本而异。如果无法加载,则使用htop,把RemoteVSTHost.exe这个进程结束,以免占用过多处理器资源。3 A1 n  {! G& v" t$ D: f# H# O+ x
: S+ ~# W. A$ U
方案二:使用LinVST- y/ H( D+ B; [* @% i  i: i, e
. I# r! x! s8 b* q6 I. o* Y3 Z9 r
LinVST是由OSXMidi开发的桥接器。类似于Windows下的jBridge,用户通过它提供的转换工具,创建一个原生VST插件,作为Windows版VST插件的wrapper,接下来只需在宿主中加载即可。% T  W; s- ?3 j3 P5 O) M% ?+ C

" \& v4 g3 N3 v9 l# O$ W, R它同时支持VST2和VST3,分别对应两个独立的项目:LinVST2、LinVST3。它们各自还拥有一个增强版本——LinVST-X和LinVST3-X,允许一个VST插件实例被共享,起到节省资源的目的(例如把一个Kontakt实例用在多个音轨上)。
$ H3 H! |0 `. t& \4 _! C; p. _4 S: S4 V2 Q, H4 l1 C
Arch Linux的官方源没有收录LinVST,须通过AUR安装。笔者用的是yay。
' K) J& Q% U7 t
$ a$ I4 n0 f  l" C0. 安装yay
$ C9 Z0 {, P, O0 R
5 K7 ^0 b& v. r3 b% ~6 R  Q初次听说AUR和yay的读者,可以先添加Arch Linux CN源。同样是编辑/etc/pacman.d,在结尾添加:
5 c2 `) l9 _, j5 R6 ~  B
! j4 K& v# Z4 u; A8 ][archlinuxcn]7 W* D( V5 n. m. c+ ]
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch' J; t+ b" g! U

% M7 s) _& E& A" s4 w! P: b( l7 |3 Y7 A) f然后安装密钥包,以及yay本体:" h: P" H: d% e4 f
; t2 O/ |0 G0 \: R* c
sudo pacman -S archlinuxcn-keyring yay( b; l0 f" j$ `
8 E4 r9 V' Y# j- N; I3 ?; _4 [
1. 安装LinVST本体
' K+ P; B) U" V6 T: V/ l! g1 ?% |2 T4 K% y5 S- K! B; C
首先安装LinVST。AUR的包分为源码包和二进制包,后者开箱即用,前者则需编译。建议选择二进制包。
% g8 I7 q3 y! y7 m# Q. i# 源码包' D. g1 e- q% q& h/ R! Y
yay -S linvst linvst3/ Y* c$ @" X! D5 r- |4 K; L
# 二进制包  r4 Q, }; T3 V  j7 y& G- C$ M0 j
yay -S linvst-bin linvst3-bin
- Q% ?% E2 m2 @9 K, i4 ?# ~5 }9 ?* n8 @6 A9 f) C: i& _2 F! z
如果需要增强版本,则安装:3 [3 t* Z* u' t: X& i

  u3 q1 }8 m1 E! Byay -S linvst-x-bin linvst3-x-bin1 A3 q6 |. L$ S
+ [2 `+ p% Y1 D
注意:采用源码版编译会有两个问题:7 G* `, A1 Y( O

# W% j+ F5 n5 A2 C0 @7 h: H2 `只有linvst能编译,linvst3会在编译附加组件ArchStudioUtils时出错。6 y$ ^5 o) B0 f- J
生成wrapper必不可少的linvstconvert没有编译。用户必须手动进入源码的convert/目录来编译才行。
/ ~. h6 h" C4 _7 j, e6 J! b2. 如果出现错误:“一个或多个文件没有通过有效性检查!”# S: v3 Q& q& D: P" |
; v) @' ^5 L9 b: n, k( k7 b
但是,由于LinVST的二进制包更新与AUR PKGBUILD的MD5值不同步,会出现能下载成功,却通不过有效性检查的情况。这时要手工修改PKGBUILD文件,去掉有效性检查的部分。
. U0 q7 U5 b# Q+ U6 T7 y& v
: l& d: Y) @' U2 M+ c首先进入linvst-bin包的yay缓存目录:
+ G; V2 E3 w# J) z0 u! _6 o. j) w2 g: I- \# R; K
cd ~/.cache/yay/linvst-bin/( u* K% v6 y" _, ^
/ M8 ]/ B) ]8 r4 p
然后修改PKGBUILD文件,更改md5sums=(xxxxx)一行,把括号里的字符串值改为SKIP,表示“跳过有效性检查”。注意大小写:) Y, I: J8 F8 a- `# z0 r. T2 s
; |/ n; w% |+ t" ^% o7 K9 v
# 修改前,字符串值为MD5校验和8 w6 h, c, ^. C  U9 k% _
md5sums=(68b329da9893e34099c7d8ad5cb9c940)
8 G: S; ~6 Q% I& h+ O/ V9 I
0 j# I9 q2 }- }2 C# 修改后,字符串值为SKIP8 i9 V+ n8 e* z2 G5 [9 A0 u
md5sums=(SKIP)
9 f% O+ S; e0 s- W: D5 o) H- |: F2 o& j& N5 h* O! w- x
保存后,运行makepkg,生成安装包:# o- e( D9 O: G; [
/ a3 `# F5 @, P. t0 I/ N
makepkg
# n/ q7 j# q+ [8 G
  f1 g" N& k, A8 H生成好的安装包位于当前目录,文件名为linvst-bin-x.y-z-x86_64.pkg.tar.zst(x,y,z为版本号)。可以直接安装:' B+ v) Y$ z7 \1 F4 R  y

% h8 t$ F. @0 y4 b9 Gsudo pacman -U linvst-bin-x.y-z-x86_64.pkg.tar.zst0 B) v' A- u1 [" u% ]- P
6 J4 F/ e  [& C% G; u
用同样的方法,制作并安装其他几个二进制包。- a  r; u/ c/ }( {
4 |& Z" @7 G  [) f* y
3. 生成wrapper
) ?* [" w( h$ x" {! N. J$ R; e! R8 g: u% b9 }6 ~9 T$ v: c
LinVST用于生成wrapper的工具有以下几种,它们界面大体相同,须从终端运行:0 f) R0 n/ j/ C- {9 I, r  f0 k

+ q7 v* \0 [# _2 J# n' slinvstconvert、linvstxconvert、linvst3convert、linvst3xconvert:指定一个文件夹,然后由其中的VST插件生成对应的wrapper。
" ^! @6 U% H( f) J; Z2 }以上工具加上tree作为后缀:递归寻找子目录下的所有VST插件,为其生成wrapper。
! {! `, |' }. O" f# T) J& b如果所有的VST插件都在一个文件夹里,则选前一类;而如果位于若干个子目录里(比如部分VST插件带有附属的文件,要与插件本体放在单独目录中),则选后一类。
" K9 I& V  \. ~% K' t' c( u7 J( J9 Q, N6 @% g: @$ k# z) M# R
运行后,出现这个界面:
0 i5 C6 H4 Z) r, z2 U
- O- |/ q* Z: W% N 9404_1612847445_thumb.png
  z9 M: [2 u  J8 U* p% K6 r
) I  S4 [/ t% X  c) M  y. Q首先把你的Windows VST插件统一放到一个目录中,建议~/.vst(VST2)和~/.vst3(VST3)。
* `1 |2 A9 ^( }6 s. x4 \在生成工具界面中,选择LinVST库。点击【Choose linvst.so】,在文件对话框中定位到/usr/share/LinVst,选择linvst.so。其他几个VST3和增强版的库文件也在该文件夹中,如果是linvst3convert,则选择linvst3.so,以此类推。( m' }3 w/ e' y' w9 h1 A& n: }5 i; y
然后通过下方的【Choose dll folder】,选择Windows VST DLL所在的文件夹。(如果是linvst3convert,则界面是【Choose VST3 folder】,选择*.vst3所在文件夹)。
9 L# c* ^7 e1 v9 a" Y点击【Start】生成,随后VST插件目录下就会出现与插件同名的*.so文件,即原生VST wrapper。$ F' t; y! U8 |  k
最后把插件目录添加到DAW中即可。实测,REAPER for Linux完美支持。; u3 ]- c/ y" t# A3 Y* H; [. Q
注意:  H2 e0 ]$ Y" F; n  U7 a) w
6 V1 M6 m- v( ~, a. L- Z- ^0 V
VST插件和生成的*.so文件必须在同一目录下,否则LinVST会提示找不到插件。, s2 K" u4 p8 c( ?
Wine的兼容性/ |# l5 W5 y: \) N

. Y: A! v9 o& ?Wine是一个持续开发的项目,这是由Windows的复杂度决定的,开发团队不可能在短期内适配真实Windows下的所有特性,并保持其稳定性。因此并不是所有的程序都能完美运行,包括VST插件,测试中程序挂掉、出现Bug,在所难免。0 x8 y& M* A! `# w8 j3 |
" ~1 d7 k4 g2 J% v+ ?0 j
幸运的是,有些开发者会考虑到Linux的生态,会优化自己的应用程序,使其能完美地运行于Wine。REAPER就是一个很好的例子,它的Windows版本可以直接在Wine中安装。之前REAPER并未推出原生的Linux版本,官方特别在下载页中提到,“Windows版本可在Wine下运行良好(For Linux users, the Windows version works well with WINE.)”,便利了Linux用户,也实现了开疆拓土。
- M" K* e9 T1 J- N: D1 |7 I# l* p2 A; J6 D2 _- a" T  g
即便如此,REAPER仍属于少数。大部分的应用仍需自行去测试,检验其在Wine下的兼容性,以及事后会不会出Bug。
1 F) z$ m4 o/ t8 d
) f6 I) a: `% a" `" S我所做的测试
- a4 _  Y% l7 ^. C' s/ L9 F  |! y* @* G1 c- b* [  J3 I2 j
Kontakt Player:我用Wine下的REAPER for Windows测试,它可以在REAPER中正常加载并播放NKI采样,表现与Windows下一致。不过,如果在REAPER中就地重新加载(选择“更改当前VST效果”后重新选择Kontakt),则会导致长时间卡住,可见并不完美。1 M- ?0 U/ Q' B( p# M
Synth1:一款免费、强悍的合成器插件。
# \/ N0 _9 X5 N/ ~在LMMS下尝试用VeSTige打开,但没能启动成功。相反LMMS自带的VST宿主程序(RemoteVSTHost.exe)还卡在后台占用CPU,只能手动结束。
4 K& ^- e1 g* ^$ s; s; }移师REAPER for Linux,借助LinVST,顺利运行,体验与Windows别无二致。
; \& n! d8 ~( i! R1 B5 n6 O+ v+ R2 `, Y/ [) I, O+ n, V/ a
后记2 n  s2 X% \6 E4 V# s* p
以上是作者在Arch Linux下试玩音乐制作软件的体会,发掘了Linux的别样用法。由于厂商适配策略的不同,并不能保证Linux一定能拥有不输于Windows和MacOS的体验,但当下的Linux至少不存在这方面的空白。% J. n2 I: W9 d! e0 P7 B$ j

8 _3 \/ }8 U+ p4 M不过,在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

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