贾逸可 Novation Launchkey MK4 全国首测

最 in 的电子音乐人都在这里:交流方式模块节官宣史无前例的演出阵容

「金耳朵」训练器 TrainYourEars 中文版首发,听得准才能混的稳

Ed Newton-Rex 独家专访:Fairly Trained 如何推动音乐 AI 训练数据合规,维护音乐人正当权益

不要推子,轻装上阵:Allen & Heath CQ-18T 紧凑型数字调音台测评

Reaper 小贴士:评说影响 Reaper 渲染性能的因素(三)

安小匠 添加于 2024-08-04 ·

分享到微信

暂无评论

REAPER中,完成编曲、混音工作后,就是通过渲染(render)来导出最终的Mix。每一次渲染,都见证着你的作品从Demo到定稿的精炼过程,也时时刻刻检验着电脑软硬件的性能。若能理解一些改善渲染性能的要素,并着手作出调整,那么编曲制作的体验将大大改善,尤其适用于需要经常打磨作品的场景。

上一篇文章,笔者纵深推进,全面展开讲解了两个看似微小的影响因素——插件性能、采样率,以自己的实测,揭示这两处细节如何“四两拨千斤”地影响渲染性能表现。而在此过程中,笔者还发现了另外几处值得留意的渲染参数,也将在这一篇继续给大家分享。若能给大家带来哪怕是小小的一点启发,笔者也荣幸之至。

系列文章:


第一章 位深度

数字音频的位深度,和采样率一样都影响音质表现。从音乐制作的一方,再到聆听音乐的一方,也都会留心这一参数。它影响的是音频的动态范围。

常见的位深度有16 bit24 bit32 bit整数,以及32 bit64 bit两个浮点数规格。三个整数规格面向最终用户,其中16 bit广泛用于普通CD音频,24 bit32 bit则用在Hi-Fi、古典、电影等对动态范围要求高的音频;而浮点规格则多用于音乐制作中。还有更为古老的8 bit整数,用在老式游戏机、计算机中,编码当代的音频时会带来收音机般噪声明显的“有损音质”。

更高的位深度,则意味着每个采样点能容纳更大的数据量,提升信号的量化空间:“装得下”振幅大的音频信号,不会因为位数不足而必须削减一部分数据。位深度较高的音频,在棚内录音,以及记录古典音乐现场与电影音频时会更有优势,无论是响亮到气吞山河,还是微小到针尖落地,都能得以如实记录下来,带来震撼的临场感。相反,如果位深度低,则编码器将必须舍弃一部分数据,使动态范围被压缩,限制音乐的表现力。

笔者猜想,与采样率一样,位深度与数据量的大小成正比——意味着其他条件不变时,渲染时间也会相应延长。然而实际是否真的如此?在REAPER中,位深度究竟如何影响渲染性能的表现?


1.1. 测试环境

与上一篇文章相同,笔者继续在以下平台进行评测:

  • 计算机ThinkPad R400
  • 处理器Intel Core 2 Duo P9500 @ 2.53GHz
  • 操作系统Arch Linux(内核版本6.6.14 LTS
  • REAPER版本6.83。全程只使用一个音轨,不加载任何效果器

为简便起见,本文以渲染速率来作为性能指标,以倍数表示,在渲染结果界面中会有显示。

注意:

  • 所有编码器如未经说明,均采用REAPER的默认参数,排除其他因素对渲染性能的干扰。尤其是重采样模式(Resample mode)保持默认值“Sinc Interpolation: 192pt”。
  • 渲染工作模式采用Full-speed Offline(全速离线渲染)。
  • 关闭其他导致大量资源占用的程序,如Chrome浏览器、VS Code等。

下文如没有特殊说明,均采用这一测试环境。


1.2. REAPER支持的位深度

REAPER支持若干种位深度,不同编码器支持的位深度也有所差异,可以在渲染窗口中选择。就笔者的观察,通常分为以下情况:

  • 其一,WAVCAFCore Audio Format,苹果推出的新格式)这两种不带压缩的格式,支持的位深度较为多样,同时支持8 bit16 bit24 bit32 bit这四种整数位深度,以及32 bit64 bit两种浮点位深度。而WAV编码器还支持ADPCMu-Law这两类特殊编码方式(一般用于通讯等场景)。

 
图 1 WAV编码器支持的位深度,可见包含了4种整数规格、2种浮点数规格,还有3种特殊规格(ADPCMu-Law

 
图 2 CAF编码器支持的位深度,包含了4种整数规格、2种浮点数规格

  • 其二,苹果的AIFF格式,仅支持4种整数位深度。


 图 3 AIFF编码器支持的位深度,只有4种整数规格

  • 其三,损压缩编码器FLAC,在REAPER仅提供了16 bit24 bit这两组整数位深度的支持。但REAPER在此基础上,还提供了诸如17/24 bit23/24 bit这样的位深度选项,笔者将其称为“填充位深度(padding bit depth”。选择这些选项会先生成指定位数的采样,然后在前面添加“0”,补齐到24 bit,适用于无须过高动态范围(如最大的144 dB)的音频,有助于提升压缩比率。

 
图 4 FLAC编码器支持的位深度,包含1624 bit整数规格,以及多种填充位深度规格

  • 其四,另一款无损压缩编码器WavPack,则支持162432 bit这三种整数位深度,32 bit浮点位深度,以及与FLAC相同的填充位深度。除此之外,还支持3种与音频动态范围有关的32bit浮点规格。注意,FLACWavPack都不支持8 bit整数编码。

 
图 5 WavPack编码器支持的位深度,包含整数、浮点数规格,以及填充位深度规格。末尾的3项是自带高通滤波器的浮点规格

  • 其五,MP3Ogg VorbisOpus这几款有损压缩编码器都不支持设置位深度,只能使用它们内部的默认设置。



图 6 MP3Ogg Vorbis这两种编码器不支持设置位深度

通常编码器支持的位深度取决于文件格式本身的性质,以及REAPER功能支持的完整性。


1.3. 测试素材

若编码器支持,我们就可以在渲染过程中,自行设置REAPER的位深度。例如,将16 bitCD音频上升为24 bit的位深度格式,或者是向下编码为8 bit的“战损”音质。

测试用的素材是一段440秒的音乐(南方二重唱《风吹风吹》),FLAC格式,采样率为44100 Hz,位深度为16 bit,是典型的CD音频格式。


1.4. 情景一:WAV编码器

首先,笔者测试最常用的WAV编码。其中,笔者将分门别类地测试整数、浮点数PCM编码的位深度,以及另外几种特殊的非PCM编码。

1.4.1. 整数编码

  • 第一步,新建一个工程,创建一个空的音轨,把测试素材导入到音轨上。

 
图 7 创建新工程并将素材导入REAPER

  • 第二步,按Ctrl+Alt+R打开“渲染到文件”窗口(Render To File),调节渲染参数。全程我们只调整编码器与位深度的设置,保持其他参数不变。特别要注意的是,采样率要保持默认值44100 Hz,重采样算法(Resample Mode)也保持默认值“Sinc Interpolation: 192pt”:因为它们也会影响性能。
  • 第三步,将编码器设置为WAV,然后设置位深度(在WAV bit depth一栏)为16 bit,连续渲染5次,观察渲染速率的变化,并进行记录。

 
图 8 渲染设置。只修改红框内的两项:Format(编码器格式)、WAV bit depth(位深度)

■ 结果如下表所示:

测试次数

1

2

3

4

5

5次平均值

速率

162.1x

184.7x

165.7x

171.2x

181.9x

173.12x

表 1  WAV格式下,以默认的16 bit位深度渲染的速率

  • 第四步,再把位深度分别设置为另外3种整数值(8 bit24 bit32 bit PCM),每种位深度下再分别进行5次渲染,将结果整理到下表中:

测试次数

1

2

3

4

5

5次平均值

8 bit下的速率

188.3x

187.6x

188.5x

192.6x

188.1x

189.02x

24 bit下的速率

170.6x

166.0x

159.2x

163.0x

158.9x

163.54x

32 bit下的速率

157.9x

152.0x

160.4x

166.1x

159.4x

159.16x

表 2  WAV格式下,以另外3种整数位深度渲染的速率

在测试过程中,笔者留意到,8 bit位深度下,渲染速率一度超过200.0x,即使渲染结束时没有达到该速率,188.0x 以上的成绩也足以体现其性能。其余几种整数位深度,渲染过程中的性能表现比较平均,没有大起大落,稳定保持在最终落脚的速率值附近。

从上述两个表格来看,虽然这4种整数位深度每次渲染的速率相差并不大,其中24 bit32 bit甚至有几次存在不到1.0x的差别;但从平均值看,依然印证了笔者的猜想——位深度越高,渲染速率越慢,注意这是从整体表现来说的。


1.4.2. 浮点数编码

接着上面的步骤,我们继续测试REAPER WAV浮点数位深度的性能。

保持编码器设置为WAV,然后分别设置位深度为32 bit FP64 bit FPFPfloat point的缩写)。各自连续渲染5次,观察渲染速率的变化,并记录。如下表所示:

测试次数

1

2

3

4

5

5次平均值

32 bit FP下的速率

187.5x

192.2x

197.3x

200.1x

186.1x

192.64x

64 bit FP下的速率

175.3x

186.5x

186.5x

188.7x

189.9x

185.38x

表 3 WAV格式下,两种浮点位深度的渲染速率

对比表 1、表 2可以发现,渲染浮点音频的整体性能要强于整数音频。采用相对更常用的32 bit浮点音频,其渲染平均速率达到了192.64x,即使速度最快、音质最低的整数8 bit位深度也不及它(后者平均速率只有189.02x)。而64 bit浮点的渲染速率,其平均值也达到了185.38x,甚至也快于16 bit整数音频。

有如此性能差异,很可能是因为REAPER内部就使用32位浮点数作为每一帧采样的数据格式,因此编码开销会少一些;而浮点采样转换为16 bit等整数位深度规格,则涉及到量化、转换过程,需要进行专门的运算,开销略多一些。当然,64 bit浮点这样的高位深度,其渲染速率自然也慢于32 bit浮点,只是差异没有整数位深度那么明显。


1.4.3. 特殊编码

REAPER还额外支持3种特殊的位深度编码(非PCM)。它们均为有损压缩,主要面向通讯等低带宽传输音频数据的场合。在音乐制作中,这些格式很少用,甚至不是所有主流播放器都能完美支持。包括:

  • 4 bit IMA ADPCMAdaptive Differential PCM):是一种有损音频编码格式,每个样本使用4个比特进行编码。最初由IntelIBM共同开发,用于低比特率的音频传输和存储,例如在电话系统中用于压缩语音数据。
  • 2 bit cADPCMContinuous ADPCM):也是一种有损音频编码格式,每个样本使用2个比特进行编码。常用于需要更低比特率的音频传输和存储,例如在低带宽环境下的音频通信中。
  • 8 bit μ-Law(名称有希腊字母,常被写作“u-Law”):一种非常流行的有损音频编码格式。8 bit μ-Law表示每个样本使用8个比特进行编码。最初由贝尔实验室(Bell Labs)开发,常用于电话系统中,特别是在北美地区,用于压缩和传输语音信号。

这些编码的性能表现,如下表所示:

测试次数

1

2

3

4

5

5次平均值

4 bit IMA ADPCM下的速率

142.6x

140.8x

140.9x

138.6x

144.5x

141.48x

2 bit cADPCM下的速率

128.8x

116.6x

127.3x

141.6x

118.5x

126.56x

8 bit μ-Law下的速率

165.3x

162.9x

168.1x

153.5x

173.5x

164.66x

表 4 WAV格式下,3种特殊编码的渲染速率情况

即使采样位数看似很低,4 bit IMA ADPCM2 bit cADPCM的性能仍远低于整数与浮点编码,这是因为它们都是有损压缩算法,编码器须进行额外的压缩计算,开销增大不少。8 bit u-Law的速率则大致与24 bit整数相当,却也远低于8 bit整数的189.02x

可见,对于上述三种有损压缩的WAV格式,就不再适用“位数越低,渲染速率越高”的规律了


1.5. 情景二:FLAC编码器

FLAC无损编码器,在不同位深度下的表现也有所不同。笔者将分门别类地测试1624 bit这两种整数编码,以及17/24 bit等填充位深度的编码。


1.5.1. 整数编码

16 bit24 bit整数编码,是最常用也是最基本的编码。

  • 第一步,新建一个工程,创建一个空的音轨,把测试素材导入到音轨上。
  • 第二步,按Ctrl+Alt+R打开“渲染到文件”窗口(Render To File),调节渲染参数。全程我们只调整编码器与位深度的设置,保持其他参数不变——尤其是采样率与重采样算法。
  • 第三步,将编码器设置为FLAC,先后设置位深度(在FLAC encoding depth一栏)为16 bit24 bit,并始终保持压缩比率(Data compression)保持默认值“5”。两种位深度各自连续渲染5次,观察渲染速率的变化,并进行记录。

 
图 9 渲染设置。只修改红框内的两项:Format(编码器格式)、FLAC bit depth(位深度)

■ 结果如下表所示:

测试次数

1

2

3

4

5

5次平均值

16 bit速率

83.3x

82.7x

80.5x

84.6x

70.2x

80.26x

24 bit速率

80.0x

78.6x

79.2x

78.7x

78.6x

79.02x

表 5 FLAC编码器,以16 bit24 bit位深度渲染的测试情况

相较于无压缩的WAV编码器,在FLAC当中,16 bit24 bit位深度的渲染速率相差并不大。虽然16 bit的渲染速率略快于24 bit,但平均下来相差不到2.0x,实践中几乎可以忽略不计。因此,笔者建议,若条件允许,优先选择24 bit编码。


1.5.2. 填充位深度

REAPER提供的“填充位深度”算法,最终生成24 bit位深度的音频,但实际只会使用部分比特位来记录音频数据,其余未使用的位数全部填充为零。在FLAC编码器中,支持从17/24 bit23/24 bit7种填充位深度。

每种填充位深度连续渲染5次,结果如下:

测试次数

1

2

3

4

5

5次平均值

填充

位深度

17/24 bit

69.6x

70.4x

76.0x

79.6x

79.5x

75.02x

18/24 bit

78.2x

78.2x

74.0x

73.8x

79.6x

76.76x

19/24 bit

78.0x

77.8x

79.0x

76.6x

73.7x

77.02x

20/24 bit

78.4x

78.6x

70.7x

71.6x

69.1x

73.68x

21/24 bit

76.3x

77.8x

78.1x

75.1x

77.0x

76.86x

22/24 bit

78.6x

78.3x

79.5x

78.5x

78.4x

78.66x

23/24 bit

71.9x

75.1x

68.8x

70.7x

72.7x

71.84x

表 6 FLAC编码器,以填充位深度渲染的测试情况

从平均值看,这些填充位深度的渲染性能彼此间相差不大。即使测试过程中,由于磁盘读写、后台任务等原因导致性能下降,不同填充位深度渲染速率的下探幅度也是相差不多。而与标准的16 bit24 bit整数位深度(无填充)相比,填充位深度的性能还是略有降低的

需要注意的是,REAPER提供填充位深度功能,旨在提升较低动态范围音频的压缩率,并兼顾音质,其最终性能表现取决于音频输入。要想更进一步探究其性能变化,还需要用更多的音频素材来评测,尤其是Hi-Res古典音乐等高动态范围的音频。


1.6. 情景三:苹果音频格式

使用macOS编曲的制作人,可能也会用到AIFFCAFCore Audio Format)这两种格式。它们与WAV一样都不带压缩,并且也支持设置位深度——虽然支持的选项并没有WAV那么多。

根据上文“情景一:WAV编码器 ”的步骤,分别对这两种格式的各个位深度进行性能测试,结果如下列表格所示。

  • AIFF格式(仅支持整数位深度):

测试次数

1

2

3

4

5

5次平均值

8 bit速率

193.7x

198.0x

193.5x

195.1x

198.3x

195.72x

16 bit速率

185.8x

184.4x

184.9x

188.1x

186.8x

186.0x

24 bit速率

188.3x

189.7x

190.0x

193.0x

187.5x

189.7x

32 bit速率

175.6x

183.5x

153.4x

152.5x

153.1x

163.62x

表 7 AIFF格式下,所有位深度的渲染速率测试情况

 
图 10 AIFF 32 bit整数位深度渲染示意

  • CAF格式:

测试次数

1

2

3

4

5

5次平均值

整数

8 bit速率

212.9x

204.5x

204.7x

210.2x

210.2x

208.5x

16 bit速率

195.0x

195.0x

197.3x

188.5x

196.4x

194.44x

24 bit速率

182.9x

191.2x

200.6x

199.6x

197.5x

194.36x

32 bit速率

197.1x

196.6x

196.0x

199.7x

198.2x

197.52x

浮点

32 bit速率

214.5x

209.1x

214.3x

213.0x

191.8x

208.54x

64 bit速率

203.5x

214.5x

200.1x

198.0x

205.9x

204.4x

表 8 CAF格式下,所有位深度的渲染速率测试情况

 
图 11 CAF 32 bit浮点位深度渲染示意

从上面的测试可以发现,除AIFF 32 bit PCM格式之外,苹果的两种编码器在不同位深度之间的性能差异并不大。尤其是CAF格式,在处理16 bit24 bit32 bit这三种整数规格时,平均渲染速率倍数相差不到4.0x;而CAF的浮点位深度则拥有更佳的性能表现。能用较小的性能开销来记录更高动态范围的音频,对制作人来说,这未尝不是一种惊喜


1.7. 小结

通过上面的一系列实验,笔者检验了位深度与渲染性能的关系(在其他条件不变时)。

总体上看,由于位深度的提升意味着数据量的提升,多数编码器都体现出“位深度越高,则渲染速度相对变慢”的规律,尤其是WAV这一最常用的格式。不过,由于实操中的影响因素众多(例如后台可能运行其他程序,或者是REAPER内部存在无法预料的性能指标变化),这一规律并不严格遵循比例关系——有时会出现低位深度比高位深度渲染更慢的情况。

一些编码器表现出预想之外的性能。FLAC24 bit整数编码,以及苹果的AIFFCAF编码,即使在较高的位深度水平下,其性能表现与16 bit等较低位深度差异不大,可谓极具性价比。通过这次实践,笔者也发现了“新世界的大门”——原来也可以以低开销的方式,来记录位深度较高的高质量音频。这对于常使用高位深度记录高动态范围音频的专业制作人来说,也是好消息。

特别的是,WAVCAF等编码器在处理浮点数据时,有显著的性能优势。在音乐制作流程中,如果追求极致性能,也不妨考虑浮点位深度。(不过,最终发布的作品通常采用至高24 bit的整数位深度。)


第二章 插值算法(重采样算法)

要想对音频进行重采样,就必须使用插值算法来处理音频,依照特定的算法对现有采样进行“多退少补”:上采样时,相同时间内的采样增加,形象的说就是在原有采样之间多出了不少“空位”,要用插值算法来补齐;下采样时,也要使用插值算法来舍去部分采样,使音频能够适应较低采样率下较少的采样数。

插值算法的不同,直接决定重采样后音频的质量;不同的插值算法,原理与复杂度各异,性能参差不齐REAPER提供了多达11种插值算法,在性能与音质上各有取舍,你可以根据自己的实际需要来进行选择。接下来,笔者将展开评测这些插值算法的性能。


2.1. REAPER支持的插值算法

你可以在渲染窗口的“Resample mode(重采样模式)”中,选择本次渲染用到的插值算法。REAPER支持的11种插值算法,可分为3大类,具体如下:

  • Point Sampling:点采样,它的音质最低,音质具有8090年代老式设备的特点(retro)。
  • Linear Interpolation:线性插值,音质较低。支持3种模式:
    • 标准模式(在列表中显示为“Linear Interpolation (low quality)”);
    • 带有IIRinfinite impulse response,无限脉冲响应)滤波器的两种模式(Linear Interpolation + IIRLinear Interpolation + IIRx2)。
  • Sinc Interpolation:正弦函数插值,音质胜过线性插值。根据精度的不同,得到的音质从中下到上等皆有。
    • REAPER支持以下几种采样精度:16pt64pt192pt384pt512pt768pt。其中192pt为默认值。
  • r8brain freeREAPER名义上支持的最高质量插值算法。根据官方描述,不仅音质高,性能还可观。

 
图 12  在渲染窗口中选择插值算法

根据REAPER的描述,除r8brain free外,这些插值算法的音质自上而下提升;相应地,为了获得更好音质,而导致计算量增加、性能降低。那么,实践中的具体表现究竟如何?


2.2. 测试环境

为了保证测试过程的严谨性,这一章继续在与“第一章1.1 测试环境 ”相同的环境进行测试。笔者将渲染采样率统一设置为最高的192000 Hz,以便充分检验算法的性能。

测试时严格采用控制变量法,确保影响性能的其他参数均保持一致,排除无关因素:

  • 音频素材:440秒的音乐(南方二重唱《风吹风吹》),FLAC格式,采样率为44100 Hz,位深度为16 bit
  • 渲染采样率:192000 Hz(在渲染窗口“Options->Sample rate”中设置,见图 12
  • 渲染编码器:WAV
  • 渲染位深度:16 bit整数(16 bit PCM
  • 其余设置均保持默认值。

2.3.     点采样与线性插值

首先,笔者来测试理论上音质最低、性能最佳的点采样与线性插值模式。

  • 第一步,新建一个工程,创建一个空的音轨,把测试素材导入到音轨上。
  • 第二步,按Ctrl+Alt+R打开“渲染到文件”窗口(Render To File),按照上一节“2.2 测试环境”的要求来调整参数。
  • 第三步,将Resample mode分别设置为下面4个值,各自连续渲染5次,观察渲染速率的变化,并进行记录:
    • Point Sampling (lowest quality, retro)——点采样
    • Linear Interpolation (low quality)——线性插值
    • Linear Interpolation + IIR——线性插值,带1IIR
    • Linear Interpolation + IIRx2——线性插值,带2IIR

上述4种插值算法的渲染速率如下表所示:

测试次数

1

2

3

4

5

5次平均值

点采样的速率

44.3x

42.6x

44.6x

44.9x

45.0x

44.28x

线性插值的速率

45.1x

45.1x

45.1x

45.0x

44.8x

45.02x

线性插值+IIR的速率

41.4x

40.8x

45.1x

44.8x

44.5x

43.32x

线性插值+IIRx2的速率

44.1x

44.1x

44.2x

44.0x

43.4x

43.96x

表 9 点采样与3种线性插值的渲染速率测试情况

从上表可以发现,就平均值来看,点采样与线性插值(不带IIR)的性能相差不大,不到1.0x。而线性插值加上IIR后,由于多了IIR滤波器的运算,其性能会略有下降,印证了笔者的猜想。而从总体上看,这几种插值算法的性能非常可观,即使是192000 Hz也能达到43x以上,已经不低了——只不过是用音质换时间


2.4. 正弦函数插值

在常用的插值算法中,正弦函数的质量很可观。它的音质取决于精度,精度越高则理论上音质越好,相应地运算量增大、性能下降。

在渲染设置中,依次把Resample mode设置为6个以“Sinc Interpolation”开头的选项,其对应的精度由低到高。然后,各自连续进行5次渲染,结果如下:

测试次数

1

2

3

4

5

5次平均值

16pt精度的速率

37.0x

37.0x

37.5x

38.0x

37.2x

37.34x

64pt精度的速率

14.6x

14.5x

14.5x

14.2x

14.5x

14.46x

192pt精度的速率

6.3x

6.3x

6.4x

6.4x

6.4x

6.36x

384pt精度的速率

3.4x

3.3x

3.3x

3.4x

3.4x

3.36x

512pt精度的速率

2.6x

2.6x

2.6x

2.6x

2.6x

2.6x

768pt精度的速率

1.8x

1.8x

1.8x

1.8x

1.8x

1.8x

表 10 正弦函数插值的渲染性能测试情况

从上表可以发现,随着精度的提升,渲染速率也随之下降,有时甚至降幅惊人。在16pt精度下尚且可以达到37x左右,但当精度升至192pt(默认值)时,渲染速率则降至6.36x,算是非常低了。而最高精度的768pt只能达到极为“可怜”的1.8x渲染速率,可谓用大量的时间来换取质量。笔者认为,正弦函数插值对渲染性能的影响程度,远胜此前测评过的其他参数。


2.5. r8brain free插值

r8brain free是由Aleksey Vaneev开发的高质量插值算法,自由且开源。它是REAPER名义上支持的最高质量插值算法,兼具音质与性能的优势。那么它的性能是否能完胜其他的插值算法?

在渲染窗口中,把Resample mode设置为“r8brain free (highest quality, fast)”,连续进行5次渲染,结果如下:

测试次数

1

2

3

4

5

5次平均值

r8brain的速率

31.5x

30.4x

31.9x

31.7x

31.8x

31.46x

表 11 r8brain插值算法的渲染性能测试情况

可见,同样是以高质量作为目标,r8brain free的性能远超正弦函数插值(精度192pt及更高)。即使是默认的192pt6.0x左右的渲染速率也只有r8brain free20左右。可见r8brain free的性能优势名不虚传。


2.6. 小结

从上面的测试可见,插值算法对渲染性能的影响不容小觑。

其中,音质最低的点采样与线性插值,由于舍去了音质,即使在192000 Hz下,其渲染速率也能达到43.045.0x这一区间。而音质相对更高、更常用的正弦插值,则存在很明显的性能瓶颈。在192000 Hz采样率下,随着精度的提升,其性能堪称“断崖式下跌”;即便是默认的192pt精度,其性能也不甚理想。

所幸,REAPER还提供了“杀手锏”:r8brain free,兼顾质量与性能。若名副其实,则它将是正弦插值的绝佳替代。鉴于本文评测的重点是性能,笔者尚未检验其音质表现,留待以后再叙。

当然,笔者测试的是极高采样率192000 Hz的情形。实际渲染作品(尤其是渲染面向流媒体平台的作品)时,未必会用到如此高的采样率,因此你仍可以安心使用默认的正弦插值(相同素材,44100 Hz16 bit渲染速率可达150.0x以上)。


第三章 抖动与噪声塑形

在渲染界面中,REAPER还提供了一些非常细小、容易被忽略的处理环节选项,面向特定用途。

其中,有两个选项,位于渲染窗口的“Options”一栏,它们分别是Dither master(缩混时添加抖动效果)”与“Noise shape master(缩混时添加噪声塑形效果)”,如图所示:

 
图 13 红框处为本章要评测的“Dither master”与“Noise shape master”选项

将高采样率音频进行下采样(downsampling,通常目标为44100 Hz)时,启用这两个选项,可以使转换后的听感更为平滑。二者仅在渲染824 bit整数位深度的音频时可用,而最常用的场景就是渲染CD音频(16 bit44100 Hz)。

这两个选项本身相当于效果器,将对音频进行额外的处理,所以同样会对渲染性能造成影响。


3.1. 测试环境

测试时严格采用控制变量法,确保影响性能的其他参数均保持一致,不造成干扰:

  • 音频素材:440秒的音乐(南方二重唱《风吹风吹》),FLAC格式,采样率为44100 Hz,位深度为16 bit
  • 渲染采样率:44100 Hz
  • 渲染编码器:WAV
  • 渲染位深度:16 bit整数(16 bit PCM
  • 重采样模式:Sinc Interpolation: 192pt

其余设置均保持默认值。

3.2. 性能测试

笔者对Dither masterNoise shape这两个选项进行组合搭配,每种组合各自渲染5次,记录它们的渲染速率,如下表所示:

测试次数

1

2

3

4

5

5次平均值

不启用的速率

186.3x

204.4x

204.8x

203.0x

205.0x

200.7x

只启用Dither master

167.8x

170.4x

171.4x

174.9x

170.7x

171.04x

只启用Noise shape

116.5x

119.5x

112.8x

120.2x

119.7x

117.74x

两个都启用

107.7x

107.9x

109.1x

108.3x

104.6x

107.52x

表 12 Dither masterNoise shape这两种选项在不同组合搭配下的渲染性能

可见,仅仅是启用其中一个环节,就会显著降低渲染性能。其中,Dither master将渲染速率平均值拉低了约29.7点,降幅约14.5。而Noise shape对性能的影响更是惊人——原本200.7x的速率平均值,直接被拉低至117.74x,降幅直逼41!可见,抖动与噪声塑形这两个处理环节会占用大量的系统资源,尤以噪声塑形更为显著,这可能取决于内部算法的复杂程度。

值得一提的是,如果同时将两个处理环节打开,其性能的降低反而不明显,渲染速率平均值仅比只启用Noise shape时降低约10.2点。


3.3. 小结

REAPER提供的附加处理环节,仅仅是抖动与噪声塑形,就能带来不可忽视的性能影响。通常它们仅用于特定用途,尤其是交付定稿时——例如,你要渲染最终用于CD出版的定稿,且你的工程采用高于48000 Hz的采样率时,则有可能会用到抖动和/或噪声塑形这两个选项。

在日常创作中,尤其是团队合作时,如果非必要,笔者建议先不开启此类选项,以免影响性能、延长渲染时间。


写在最后

到这里,《评说影响REAPER渲染性能的因素》系列文章就全部结束了。

在本系列的3篇文章中,笔者结合自身使用REAPER的经验与体会,以渲染速率作为评测指标,先后评说了硬件、软件对自身渲染参数对性能的影响,尤以深入评测不同采样率、位深度等常见渲染参数为重点。如果你对渲染性能有要求,想改善编曲制作的体验,那么相信通过阅读本系列文章,你就能够结合自身实际来做针对性的优化,找出适合你的软硬件与渲染参数方案。

由于笔者条件有限,还有很多影响因素不能一一评说,疏漏在所难免,敬请读者朋友多多指正。即使只能给读者朋友带来微小的一点启发,笔者也荣幸之至。


本文出自《midifan月刊》2024年07月第220期

 

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

 


暂无评论