2024年4月《Midifan月刊》电子杂志发行,8 篇技术文章在线阅读

低频灵魂,不同凡响:Earthworks DM6 打击乐专用话筒评测

叮咚音频正式代理 Lunacy Audio,令人惊叹的交互式效果器 BEAM 横空出世

精准混音/监听全担当——森海塞尔全能型监听耳机 HD 490 PRO 上手评测

《一场内心的万物复苏》全新整周课包,下半场课程只剩 12 场

Reaper 小贴士:详解 Reaper 的 5 种渲染工作模式

安小匠 添加于 2024-03-31 ·

分享到微信

共有 2 条评论

在REAPER中,完成编曲、缩混工作后,就是通过渲染(render)来导出成品。REAPER的渲染功能强大,本身也提供了丰富、灵活的渲染选项,利于掌控渲染效果与性能表现。

其中,有一个选项,用于设置渲染工作模式,位于渲染界面“Render to File”的“Options”部分,控制REAPER渲染过程的性能表现。它提供了5种可选的模式。这个选项本身不是特别起眼,默默待在渲染界面的一个角落,就连官方文档也一笔带过。但它本身“小而不简单”,自有它大显身手的地方,可以满足音频渲染过程的特定需求,例如渲染时监听,以及改善插件的兼容性。因此,值得好好介绍一番。

在这篇评测中,笔者结合自己的实践经验,系统介绍REAPER的5种渲染工作模式,体会它们不一般的表现。


一、五种渲染工作模式概览


图 1 REAPER的渲染对话框。图中打开的菜单就是工作模式选择菜单

截至7.09版,REAPER支持以下五种渲染工作模式,每一种模式都可以适应不同的场合,满足一些特定场景的需要。它们分别是:

  • Full-speed Offline:以可能的最高速率离线渲染
  • 1x Offline:以1倍速率离线渲染
  • Online Render:在线渲染
  • Offline Render (idle):在减少系统资源占用的前提下,进行离线渲染
  • 1x Offline Render (idle):在减少系统资源占用的前提下,以1倍速率离线渲染

笔者刚了解这五种模式的时候,觉得“一头雾水”——到底什么是“离线(offline)”和“在线(online)”?的确从字面意义上看,也许一时间很难体会到它们的区别。但通过实际操作不难得知,“在线”会在渲染过程中播放音频,可以让使用者随时听到渲染的效果;而“离线”则不会播放,只会“默默”地将音频写到输出文件中。

至于速率(如“1x”),也是重点。一般在REAPER中,评判渲染速度的标准是倍速速率,也就是在单位时间内渲染的速率。如果REAPER以正常走带速度渲染,那么速率就为1x;而实际渲染中,渲染速率会受到多种因素影响,变幻莫测。

接下来,笔者就来具体展开介绍这五种工作模式。


二、Full-speed Offline(全速离线渲染)

Full-speed Offline(全速离线渲染)是默认的工作模式,可以说是我们最常使用的模式,适用于绝大多数的场合。在该模式下,REAPER会以最快速度渲染项目,并且不会考虑任何实时性能限制。这种模式适合于需要快速生成最终渲染结果的情况。


(一)特点

“快”和“静音”是全速离线渲染模式的两大特点

所谓“快”,就是能够以数倍至数十倍、百余倍的速率来生成音频文件。我们能看得见的直观表现,就是导出过程中,渲染窗口里的电平表会在短时间内频繁变化,仿佛按下了快进键。REAPER会充分利用系统资源来运行渲染过程,帮助你尽可能在最短时间内获得导出的作品。

另一方面,“静音”就是在渲染过程中不播放任何音频信号,安安静静完成渲染——这就是“离线”的表现。尽管你在渲染过程中会看到电平表跳动,但它标示的只是当前处理的音频帧的电平。假如要让REAPER在这一过程中实时播放音频,那听到的就只能是快放数十倍的音频,或是声音片段拼凑后的杂音。

REAPER离线渲染之所以“快”,首要原因就是采用预先计算的方式,不需要在实时播放过程中处理音频数据。这有利于充分利用计算资源,快速完成任务。开发团队本身也在进行专门的性能优化,例如发挥多核处理器优势、算法与数据结构调优等,使性能更上一层楼。


(二)优点

作为默认渲染模式,全速离线渲染优点明显。一个“快”字就足以覆盖大部分场景,胜任从业余到专业的各类用途,快速生成最终音频,省时间更省心。全速离线渲染技术本身历史悠久,大多数符合规范、稳定工作的主流插件都支持,不容易因渲染速度快而出现问题,所以往往可以放心使用。

另一个值得注意的亮点,就是全速离线渲染不受硬件的影响。渲染逻辑是在REAPER内部以软件方式完成的,无需调用音频硬件(REAPER右上角显示为“audio device closed”)。因此,即使导出音频的采样率与音频设备不一致,甚至没有音频设备(选用Dummy Audio作为音频系统),也能照常渲染。例如,笔者在Windows下使用WASAPI共享模式,仅能使用系统全局的48000 Hz的采样率,但REAPER依然能在全速离线渲染模式下,完成192000 Hz采样率工程的导出。


(三)缺点

不过,全速渲染模式不是万能的。总有一些特殊的软、硬件,受设计机制、兼容性等因素影响,无法在该模式下完成渲染,或者是难以达到你满意的效果。此时,另外几种渲染模式就派上用场了。

性能也是不可忽视的因素。由于全速离线渲染模式会尽可能地利用系统资源以实现最快的速度,因此在某些情况下可能会对系统产生一定的负载。如果你的系统资源较为有限(比如,使用配置较低的设备),或者需要同时进行其他高耗资源的任务,可能需要考虑调整渲染模式以平衡系统资源的使用。


三、1x Offline(1倍速离线渲染)

1x Offline(1倍速离线渲染)是离线渲染的另一种工作模式,它以与播放项目相同的速度(即1倍速)进行渲染。与全速离线渲染相比,1x Offline模式会考虑到实时性能限制,以便在渲染过程中保持一定的性能水平。这种模式适合于需要在渲染过程中进行其他实时操作的情况,以及应对全速渲染模式下可能会出现的问题。


(一)典型用途:解决兼容性问题

完成音频渲染,自然是越快越好。但在实际操作中,总有一些特定的插件,多多少少存在兼容性问题,客观上要求我们必须选择1x Offline模式,以1倍速“慢工出细活”,否则最终获得的音频将偏离我们的预期

有些插件,它们在全速离线渲染与1x Offline模式下会有不同的表现,甚至在全速模式下会出现Bug。例如,Reddit论坛有用户实测,Shortcircuit采样器和Waves REQ(Renaissance Equalizer)等插件对离线渲染比较敏感。而某些Waves和Izotope插件在离线渲染的最初几秒钟内可能存在问题,可能是由于插件的检测算法无法处理更快的输入速度导致的。

又如,自动化在全速离线渲染中不一定总是正常工作。笔者自己就遭遇过类似的情况——在运用罗兰管弦乐音源(EDIROL Orchestral)来编曲时,我会添加大量的MIDI控制器包络线,如表情控制(CC 11)、力度曲线、音量曲线。此时,如果使用全速离线渲染,某些受控制器影响的音符就会卡住,生成的音频充斥着不和谐的长音。

而以上问题,在1x Offline模式下都不存在。往往这些插件,在REAPER中正常回放时基本不存在问题。1x Offline模式就是以相当于正常回放的方式来渲染音频,从而有效避免因加快渲染速度而产生的种种问题。


(二)优缺分析

既然渲染速度与播放速度相同,那速度显然会慢不少——导出的音频有多长,渲染就要多久。假如说一名制作人编配3~5分钟的音乐demo,还要与团队反复协商修改,那么在1倍速渲染模式下,导出的时间加起来可不是一个小数目。

不过,有些插件,例如有一定年头的插件,本身就存在着兼容性或设计问题,在全速渲染模式下不尽如人意。而有时,它们却能给你的音乐作品带来不可替代的效果,你仍然希望使用它们,此时1x Offline模式就发挥作用了。从另一个角度看,它反而为你节省了反复查错的时间。

最后,与全速离线渲染类似,由于都属于离线渲染,1x Offline也不会对声卡参数挑三拣四。


四、Online Render(在线渲染)

Online Render(在线渲染),即一边渲染一边同步播放音频的工作模式。它允许实时监听渲染过程,忠实回放最终缩混的音频,特别适合于需要亲耳掌控缩混导出结果的情况。同时,类似于1x Offline模式,它也是解决渲染问题的一种突破口,是部分特定场景下正确渲染音频的必由之路。


(一)特点

在线渲染模式最大的特点,就是整个渲染过程相当于一次特殊的“回放”。渲染过程开始后,缩混的音频就会同步播放,渲染窗口的电平表也开始活跃。此时如果你细心,就会留意到变化不仅于此——与此同时,REAPER也开始走带,混音器与音轨的电平表也随音频同步跳动,整个过程与制作过程中的回放大同小异。

可见,在线渲染,就是让REAPER正常走带,使音频引擎与插件实时处理音频,输出的音频实时写入文件中,并回放出来

记得在接触REAPER之前,笔者曾使用Cakewalk Pro Audio,搭配虚拟MIDI音序器Coolsoft VirtualMIDISynth来编曲。由于Cakewalk无法渲染音序器的音频,笔者就直接回放,借助Realtek声卡的“立体声混音”配合录音软件进行内录,间接得到音频。虽然其原理与REAPER的在线渲染不同,但基本思路是相通的。


图 2 Online渲染模式下的界面,可见渲染窗口、音轨和混音器的电平表都处于活动状态


(二)优势之一:确认缩混结果

如果你希望实时确认、精准掌控缩混结果,尤其是在交付定稿之前做最后确认,则Online 渲染模式是明智之选

你可以在渲染过程中实时监听,一旦发现编曲、混音有不足之处,或是插件存在Bug等状况,就可以立刻中止渲染,回到工作区进一步完善;如果一切无误,则该模式就能保证“所听即所得”,你就可以放心地交付最终导出的这一版音频。


(三)优势之二:适应特殊插件

就渲染结果而言,现代的音频插件已经能保证在线、离线渲染结果一致,因此不必刻意挑选。不过,有一些插件具有实时性,由于其自身的原理与设计,它们在两类渲染模式得出的结果有所不同,甚至只有于在线渲染模式下才能正常工作。主要包括:

  • 实时响应插件(Real-Time Responsive Plugins):一些插件可能会根据输入信号的实时变化产生不同的输出。在线渲染中,这些插件可以实时响应输入信号的变化;而在离线渲染中,输入信号的变化规律有所不同,它们就可能会产生不同的输出。
  • 与外部设备交互的插件(Plugins Interacting with External Devices):如果项目中使用了与外部设备交互的插件,比如与硬件合成器或效果器通信的插件,它们于在线渲染时可能会与外部设备进行实时交互,而于离线渲染时则无法进行实时交互,从而产生不同的输出。
  • 实时控制插件(Real-Time Control Plugins):一些插件可能会通过实时控制参数来实现效果,这些参数于在线渲染时可以根据输入信号的变化实时调整,而于离线渲染时则无法实时调整,从而导致不同的输出。例如,在早期版本的Waves REQ中,有用户通过对频率带(frequency band)施加自动化来创建移动滤波器(moving filter),离线渲染时可能会产生咔哒声,而使用在线渲染时则不存在该问题。

另一方面,有一些兼容性欠佳的插件,如果在离线渲染中发生问题,则也可以考虑使用在线渲染,例如上一节的EDIROL Orchestral。


(四)缺点之一:时间长

与1x Offline相同,Online渲染自然是1倍速进行(实际显示的倍速略小,为0.7~0.9x),导出的音频有多长就要渲染多久。所以它仅适用于慢工出细活的场景,不适用于时间紧迫的场合,以及需要批量处理音频的情形(尤其是游戏音频等)。


(五)缺点之二:高度依赖具体硬件

Online渲染需要实时回放渲染结果,为了保证渲染与回放的一致性,REAPER要求输出设备的采样率必须与导出的音频一致,否则将无法渲染。一般来说,如果REAPER采用的音频系统允许更改采样率,则REAPER会在正式开始渲染前,先尝试更改输出设备的采样率。通常Windows的ASIO、DirectSound,Linux的PulseAudio等,都允许更改。

例如,笔者的REAPER选用PulseAudio音频系统(在PipeWire下使用PipeWire-Pulse转换),采样率为44.1 kHz,而导出的音频为48.0 kHz。那么,在正式渲染前,REAPER首先会更改PulseAudio的采样率,并等待更改完成,如图 3所示。等待数秒,采样率切换到48.0 kHz,窗口自动关闭,随即开始渲染;渲染结束后,采样率恢复到原有设置。


3 REAPER渲染前更改采样率的提示:“有些设备需要数秒钟来更改采样率。该对话框会自动关闭。”标题是“正在等待设备准备好”

但是,如果当前采用的音频系统无法更改采样率,则Online渲染模式将无法使用,REAPER会在数秒后报错,如图 4所示:


4 REAPER报错,无法设置设备采样率

根据笔者的经验,至少在以下两种情形中,REAPER无法更改设备采样率

  • Windows下,使用WASAPI的共享模式,包括“Shared mode(普通共享模式)”与“Shared loopback(环回共享模式)”。这两种模式无法独占音频设备,只能使用Windows音频设置里的采样率〔位于控制面板“声音”中,双击声卡(如“扬声器”),然后在“高级”选项卡中选择采样率与位深。Windows 11需要先依次打开“系统设置”->“系统”->“声音”->“更多声音设置”〕。
  • Linux下,使用JACK音频系统,且系统中的JACK由基于PipeWire的PipeWire-JACK提供支持。这种配置下,JACK只能使用固定的采样率(一般是48.0 kHz),无法动态调整。

由此可见,Online渲染模式依赖音频硬件,对音频设备的采样率有严格要求,因此在使用前务必保证系统配置正确。

注:REAPER的Dummy Audio(空音频系统)允许设置采样率,因此也可以使用Online渲染模式,只是无法听到任何声音。


五、Offline Render (Idle) 与1x Offline Render (Idle)

Offline Render (Idle)(空闲离线渲染模式,下文简称Offline Idle),是Full-speed Offline模式的变体;相应地,1x Offline Render (Idle)(1倍速空闲离线渲染模式) 则是1x Offline模式的变体。笔者将其合称为“Idle模式”。

两种Idle模式与它们“兄弟”之间的区别,在于Idle模式会降低REAPER渲染线程的优先级,从而减少渲染过程的资源占用,利于在渲染的同时做其他的事情


(一)优势:节约系统资源

笔者的电脑是近十年前的配置,在运行一些复杂的渲染过程时,耗时会比较长。我常常会在等待渲染完成时,用电脑处理其他的任务,例如编写程序。然而,默认的全速渲染模式会尽可能利用系统资源,旨在“集中精力”完成任务,因此处理器占用率居高不下,自然就无法流畅运行其他程序了。

而笔者编曲的主力机运行Windows 11,还会不时遭遇更棘手的情况——后台自动更新,以及Windows Defender的自动扫描。二者是资源占用大户,它们会与REAPER争夺资源,最终把系统拖慢,“两败俱伤”。

两种Idle渲染模式,直击中、低配置电脑运行渲染使系统卡顿的痛点。如果希望在渲染过程中有足够的资源运行其他程序,或者是防止其他后台任务拖慢系统,不妨选用。


(二)实际性能

需要注意的是,Idle渲染模式并非以降低渲染速度来节省资源,而是降低渲染线程的优先级

在操作系统中,进程、线程的系统优先级(priority),影响操作系统为其分配的处理器资源。这就意味着资源有限时,系统会优先分配给优先级较高的进程、线程。两种Idle模式采用较低优先级,主动让步,确保资源能优先分配给其他程序,因此渲染速度会稍慢,视电脑的实际状况而定。

不过,这些渲染模式的性能表现并非绝对:

  • 当处理器资源充裕时(比如没有其他占用资源的“大户”在运行),此时即使优先级偏低,两种Idle模式依然能分配到足够的资源,因此渲染速度可能会比较接近非Idle模式。
  • 即使采用了Full-speed Offline,偶尔也会遇到渲染速度极慢的情形(如,只有1~3x的倍速),通常见于频繁启动渲染过程的时候。

(三)性能对比(轻负载状态下)

笔者在以下平台进行测试,对比Full-speed Offline与Offline Idle两种模式的性能差异:

  • 计算机:ThinkPad R400
  • 处理器:Intel Core 2 Duo P9500 @ 2.53GHz
  • 操作系统:Arch Linux(内核版本6.6.11 LTS)
  • REAPER版本:6.83

第一步,打开新工程,创建一个音轨,加载一段4分钟的FLAC音频素材(采样率4),不加载任何插件。然后按REAPER的默认参数渲染。所用素材与导出参数如下所示:

  • 素材格式:FLAC,16 bit PCM,双声道,44100 Hz
  • 导出格式:WAV,24 bit PCM,双声道,44100 Hz


图 5 用于测试的渲染参数

第二步,检查当前正在运行的其他程序。测试时,确保没有其他占用大量资源的程序打开(如软件安装程序、浏览器),系统处于轻负载状态。

第三步,以默认的Full-speed Offline模式导出,尝试10次,观察渲染窗口的速率显示。速率变化幅度在130.0~165.0x之间不等;渲染结束时的速率在多数时候位于150.0~165.0x这个区间。


图 6 轻负载下,Full-speed Offline下的渲染表现

第四步,再以Offline Idle模式导出,尝试10次。该模式下速率变化幅度与Full-speed Offline近似,总体的性能表现与Full-speed Offline极为相近,同样迅速。


图 7 轻负载下,Offline Render (idle)下的渲染表现

具体如下表所示(单位:倍数):


测试次数

1

2

3

4

5

6

7

8

9

10

Full-speed Offline

157.8

153.7

159.2

135.6

161.1

159.7

142.1

163.4

164.5

148.7

Offline Idle

134.6

133.8

139.5

150.2

149.4

145.6

149.8

157.8

155.6

147.5

可见,在轻负载状态下,系统有足够的资源可供REAPER分配,因此两种渲染模式的性能表现差别不大,在笔者的平台上二者可以互相替代。


(四)性能对比(重负载状态下)

如果此时计算机运行其他程序,占用处理器资源,那么Full-speed Offline与Offline Idle的表现如何?接下来,笔者在相同的环境下,借助Linux的“dd”命令施加系统负载,继续进行测试。

第一步,打开终端,运行以下命令:

dd if=/dev/urandom of=/dev/null bs=1024M count=100

这个命令会读取/dev/urandom设备——它会生成大量的随机数据,然后再将产生的数据写入空设备/dev/null中(以免占用磁盘空间),这个过程会产生极高的处理器占用率。而后面的参数“bs=1024M count=100”是为了让dd命令产生足够大的数据量,延长命令的运行时间。

第二步,按照上一节的配置与做法,分别以Full-speed Offline、Offline Idle模式导出。由于dd命令占用了大量的处理器资源,渲染速度明显变慢,不超过90.0x。即使渲染变慢,两类模式在渲染速率上依然相差不大。


图 8 重负载下,Full-speed Offline下的渲染表现


图 9 重负载下,Offline Render (idle)下的渲染表现,可见与Full-speed Offline时相近

渲染结束时的速率如下表所示:


测试次数

1

2

3

4

5

6

7

8

9

10

Full-speed Offline

64.7

81.8

74.1

70.5

76.0

67.1

76.7

74.8

75.6

81.4

Offline Idle

78.5

75.3

83.0

71.7

72.7

82.9

84.2

68.1

63.8

60.8

可见,即使有dd程序占用了系统资源,系统依然能保证REAPER渲染线程的资源分配。因此,两种渲染模式依然差异不大,在笔者的平台上仍是可以互相替代的关系。


(五)总结

值得注意的是,测试中笔者的电脑采用的是2009~2010年推出的酷睿2双核处理器,年代相对久远,无法代表新设备的性能表现(现在的处理器普遍不止双核,或普遍配备超线程,性能优于酷睿2)。对于新设备上两种模式的表现,尤其是在有负载情况下的表现,则有待进一步测试。

而操作系统也有自己的资源调度机制,即使系统负载偏高,也能保证REAPER有相对合理的资源分配,因此Idle与非Idle的差别不大。

一般来说,无论是否需要在渲染时运行其他任务,都可以直接使用默认的Full-speed Offline或1x Offline模式。只有当系统出现明显卡顿时,再切换到Offline Idle或1x Offline Idle渲染模式


六、总结

以上就是REAPER五种渲染模式的介绍。你可以根据具体的使用场景,选择合适的渲染模式:

  • 对于绝大部分场景,选择Full-speed Offline渲染模式。
  • 如果你使用的插件存在兼容性问题,或者是Bug,导致渲染不正常,则不妨选择1x Offline渲染模式。
  • 如果你希望在渲染的过程中,实时监听渲染效果,则Online渲染模式再合适不过。
  • 如果你的插件具有实时性(例如,与外部硬件交互),则也应当选择Online渲染模式。
  • 最后,如果你希望能在渲染的同时,相对流畅地完成其他任务,则也可以考虑选择Offline Render (Idle) 或1x Offline Render (Idle) 模式。

渲染模式,这个看似微不足道的选项,也为广大音乐制作人、音频工程师提供了调整空间,精准适应不同设备、不同场景的需求。而这个小细节,也体现了REAPER强大的其中一面——高度的灵活性与定制性。期待本文能对你有所帮助。


本文出自《midifan月刊》2024年03月第216期

 

可下载 Midifan for iOS 应用在手机或平板上阅读(直接在App Store里搜索Midifan即可找到,或扫描下面的二维码直接下载),在 iPad 或 iPhone 上下载并阅读。

 

共有 2 条评论