Reaper 小贴士:评说影响REAPER渲染性能的因素(三)
在REAPER中,完成编曲、混音工作后,就是通过渲染(render)来导出最终的Mix。每一次渲染,都见证着你的作品从Demo到定稿的精炼过程,也时时刻刻检验着电脑软硬件的性能。若能理解一些改善渲染性能的要素,并着手作出调整,那么编曲制作的体验将大大改善,尤其适用于需要经常打磨作品的场景。
上一篇文章,笔者纵深推进,全面展开讲解了两个看似微小的影响因素——插件性能、采样率,以自己的实测,揭示这两处细节如何“四两拨千斤”地影响渲染性能表现。而在此过程中,笔者还发现了另外几处值得留意的渲染参数,也将在这一篇继续给大家分享。若能给大家带来哪怕是小小的一点启发,笔者也荣幸之至。
系列文章:
数字音频的位深度,和采样率一样都影响音质表现。从音乐制作的一方,再到聆听音乐的一方,也都会留心这一参数。它影响的是音频的动态范围。
常见的位深度有16 bit、24 bit、32 bit整数,以及32 bit、64 bit两个浮点数规格。三个整数规格面向最终用户,其中16 bit广泛用于普通CD音频,24 bit、32 bit则用在Hi-Fi、古典、等对动态范围要求高的音频;而浮点规格则多用于音乐制作中。还有更为古老的8 bit整数,用在老式游戏机、计算机中,编码当代的音频时会带来收音机般噪声明显的“有损音质”。
更高的位深度,则意味着每个采样点能容纳更大的数据量,提升信号的量化空间:“装得下”振幅大的音频信号,不会因为位数不足而必须削减一部分数据。位深度较高的音频,在棚内录音,以及记录古典音乐现场与音频时会更有优势,无论是响亮到气吞山河,还是微小到针尖落地,都能得以如实记录下来,带来震撼的临场感。相反,如果位深度低,则编码器将必须舍弃一部分数据,使动态范围被压缩,音乐的表现力。
笔者猜想,与采样率一样,位深度与数据量的大小成正比——意味着其他条件不变时,渲染时间也会相应延长。然而实际是否真的如此?在REAPER中,位深度究竟如何影响渲染性能的表现?
与上一篇文章相同,笔者继续在以下平台进行评测:
- 计算机:ThinkPad R400
- 处理器:In Core 2 Duo P9500 @ 2.53G
- 操作系统: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支持若干种位深度,不同编码器支持的位深度也有所差异,可以在渲染窗口中选择。就笔者的观察,通常分为以下情况:
- 其一,W、CAF(Core Audio Format,苹果推出的新格式)这两种不带压缩的格式,支持的位深度较为多样,同时支持8 bit、16 bit、24 bit、32 bit这四种整数位深度,以及32 bit、64 bit两种浮点位深度。而W编码器还支持ADPCM、u-Law这两类特殊编码方式(一般用于通讯等场景)。
图 1 W编码器支持的位深度,可见包含了4种整数规格、2种浮点数规格,还有3种特殊规格(ADPCM与u-Law)
图 2 CAF编码器支持的位深度,包含了4种整数规格、2种浮点数规格
- 其二,苹果的AIFF格式,仅支持4种整数位深度。
- 其三,无损压缩编码器FLAC,在REAPER中仅提供了16 bit、24 bit这两组整数位深度的支持。但REAPER在此基础上,还提供了诸如17/24 bit、23/24 bit这样的位深度选项,笔者将其称为“填充位深度(padding bit depth)”。选择这些选项会先生成指数的采样,然后在前面添加“0”,补齐到24 bit,适用于无须过高动态范围(如最大的144 dB)的音频,有助于提升压缩比率。
图 4 FLAC编码器支持的位深度,包含16、24 bit整数规格,以及多种填充位深度规格
- 其四,另一款无损压缩编码器WPack,则支持16、24、32 bit这三种整数位深度,32 bit浮点位深度,以及与FLAC相同的填充位深度。除此之外,还支持附带高通滤波器的3种32 bit浮点规格,低于-144 dB、-120 dB或-96 dB的音频数据会被过滤掉。注意,FLAC与WPack都不支持8 bit整数编码。
图 5 WPack编码器支持的位深度,包含整数、浮点数规格,以及填充位深度规格。末尾的3项是自带高通滤波器的浮点规格
- 其五,MP3与Ogg Vorbis、Opus这几款有损压缩编码器都不支持设置位深度,只能使用它们内部的默认设置。
图 6 MP3、Ogg Vorbis这两种编码器不支持设置位深度
通常编码器支持的位深度取决于文件格式本身的性质,以及REAPER能支持的完整性。
1.3. 测试素材
若编码器支持,我们就可以在渲染过程中,自行设置REAPER的位深度。例如,将16 bit的CD音频上升为24 bit的位深度格式,或者是向下编码为8 bit的“战损”音质。
测试用的素材是一段4分40秒的音乐(南方二重唱《风吹风吹》),FLAC格式,采样率为44100 ,位深度为16 bit,是典型的CD音频格式。
首先,笔者测试最常用的W编码。其中,笔者将分门别类地测试整数、浮点数PCM编码的位深度,以及另外几种特殊的非PCM编码。
1.4.1. 整数编码
- 第一步,新建一个工程,创建一个空的音轨,把测试素材导入到音轨上。
- 第二步,按Ctrl+Alt+R打开“渲染到文件”窗口(Render To File),调节渲染参数。全程我们只调整编码器与位深度的设置,保持其他参数不变。特别要注意的是,采样率要保持默认值44100 ,重采样算(Resample Mode)也保持默认值“Sinc Interpolation: 192pt”:因为它们也会影响性能。
- 第三步,将编码器设置为W,然后设置位深度(在W bit depth一栏)为16 bit,连续渲染5次,观察渲染速率的变化,并进行记录。
图 8 渲染设置。只修改红框内的两项:Format(编码器格式)、W bit depth(位深度)
■ 结果如下表所示:
测试次数 |
1 |
2 |
3 |
4 |
5 |
5次平均值 |
速率 |
162.1x |
184.7x |
165.7x |
171.2x |
181.9x |
173.12x |
表 1 W格式下,以默认的16 bit位深度渲染的速率
- 第四步,再把位深度分别设置为另外3种整数值(8 bit、24 bit、32 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 W格式下,以另外3种整数位深度渲染的速率
在测试过程中,笔者留意到,8 bit位深度下,渲染速率一度超过200.0x,即使渲染结束时没有达到该速率,188.0x 以上的成绩也足以体现其性能。其余几种整数位深度,渲染过程中的性能表现比较平均,没有大起大落,稳定保持在最终落脚的速率值附近。
从上述两个表格来看,虽然这4种整数位深度每次渲染的速率相差并不大,其中24 bit与32 bit甚至有几次存在不到1.0x的差别;但从平均值看,依然印证了笔者的猜想——位深度越高,渲染速率越慢,注意这是从整体表现来说的。
1.4.2. 浮点数编码
接着上面的步骤,我们继续测试REAPER W浮点数位深度的性能。
保持编码器设置为W,然后分别设置位深度为32 bit FP、64 bit FP(FP即float 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 W格式下,两种浮点位深度的渲染速率
对比表 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 ADPCM(Adaptive Differential PCM):是一种有损音频编码格式,每个样本使用4个比特进行编码。最初由In和IBM共同开发,用于低比特率的音频传输和存储,例如在电话系统中用于压缩语音数据。
- 2 bit cADPCM(Continuous 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 W格式下,3种特殊编码的渲染速率情况
即使采样位数看似很低,4 bit IMA ADPCM与2 bit cADPCM的性能仍远低于整数与浮点编码,这是因为它们都是有损压缩算,编码器须进行额外的压缩计算,开销增大不少。8 bit u-Law的速率则大致与24 bit整数相当,却也远低于8 bit整数的189.02x。
可见,对于上述三种有损压缩的W格式,就不再适用“位数越低,渲染速率越高”的规律了。
1.5. 情景二:FLAC编码器
FLAC无损编码器,在不同位深度下的表现也有所不同。笔者将分门别类地测试16、24 bit这两种整数编码,以及17/24 bit等填充位深度的编码。
1.5.1. 整数编码
16 bit、24 bit整数编码,是最常用也是最基本的编码。
- 第一步,新建一个工程,创建一个空的音轨,把测试素材导入到音轨上。
- 第二步,按Ctrl+Alt+R打开“渲染到文件”窗口(Render To File),调节渲染参数。全程我们只调整编码器与位深度的设置,保持其他参数不变——尤其是采样率与重采样算。
- 第三步,将编码器设置为FLAC,先后设置位深度(在FLAC encoding depth一栏)为16 bit、24 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 bit、24 bit位深度渲染的测试情况
相较于无压缩的W编码器,在FLAC当中,16 bit与24 bit位深度的渲染速率相差并不大。虽然16 bit的渲染速率略快于24 bit,但平均下来相差不到2.0x,实践中几乎可以忽略不计。因此,笔者建议,若条件允许,优先选择24 bit编码。
1.5.2. 填充位深度
REAPER提供的“填充位深度”算,最终生成24 bit位深度的音频,但实际只会使用部分比特位来记录音频数据,其余未使用的位数全部填充为零。在FLAC编码器中,支持从17/24 bit到23/24 bit共7种填充位深度。
每种填充位深度连续渲染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 bit、24 bit整数位深度(无填充)相比,填充位深度的性能还是略有降低的。
需要注意的是,REAPER提供填充位深度能,旨在提升较低动态范围音频的压缩率,并兼顾音质,其最终性能表现取决于音频输入。要想更进一步探究其性能变化,还需要用更多的音频素材来评测,尤其是Hi-Res古典音乐等高动态范围的音频。
1.6. 情景三:苹果音频格式
使用macOS编曲的制作人,可能也会用到AIFF与CAF(Core Audio Format)这两种格式。它们与W一样都不带压缩,并且也支持设置位深度——虽然支持的选项并没有W那么多。
根据上文“情景一:W编码器 ”的步骤,分别对这两种格式的各个位深度进行性能测试,结果如下列表格所示。
- 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格式下,所有位深度的渲染速率测试情况
测试次数 |
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格式下,所有位深度的渲染速率测试情况
从上面的测试可以发现,除AIFF 32 bit PCM格式之外,苹果的两种编码器在不同位深度之间的性能差异并不大。尤其是CAF格式,在处理16 bit、24 bit与32 bit这三种整数规格时,平均渲染速率倍数相差不到4.0x;而CAF的浮点位深度则拥有更佳的性能表现。能用较小的性能开销来记录更高动态范围的音频,对制作人来说,这未尝不是一种惊喜。
1.7. 小结
通过上面的一系列实验,笔者检验了位深度与渲染性能的关系(在其他条件不变时)。
总体上看,由于位深度的提升意味着数据量的提升,多数编码器都体现出“位深度越高,则渲染速度相对变慢”的规律,尤其是W这一最常用的格式。不过,由于实操中的影响因素众多(例如后台可能运行其他程序,或者是REAPER内部存在无预料的性能指标变化),这一规律并不严格遵循比例关系——有时会出现低位深度比高位深度渲染更慢的情况。
一些编码器表现出预想之外的性能。FLAC的24 bit整数编码,以及苹果的AIFF、CAF编码,即使在较高的位深度水平下,其性能表现与16 bit等较低位深度差异不大,可谓极具性价比。通过这次实践,笔者也发现了“新世界的大门”——原来也可以以低开销的方式,来记录位深度较高的高质量音频。这对于常使用高位深度记录高动态范围音频的专业制作人来说,也是好消息。
特别的是,W、CAF等编码器在处理浮点数据时,有显著的性能优势。在音乐制作流程中,如果追求极致性能,也不妨考虑浮点位深度。(不过,最终发布的作品通常采用至高24 bit的整数位深度。)
要想对音频进行重采样,就必须使用插值算来处理音频,依照特定的算对现有采样进行“多退少补”:上采样时,相同时间内的采样增加,形象的说就是在原有采样之间多出了不少“空位”,要用插值算来补齐;下采样时,也要使用插值算来舍去部分采样,使音频能够适应较低采样率下较少的采样数。
插值算的不同,直接决定重采样后音频的质量;不同的插值算,原理与复杂度各异,性能参差不齐。REAPER提供了多达11种插值算,在性能与音质上各有取舍,你可以根据自己的实际需要来进行选择。接下来,笔者将展开评测这些插值算的性能。
2.1. REAPER支持的插值算
你可以在渲染窗口的“Resample mode(重采样模式)”中,选择本次渲染用到的插值算。REAPER支持的11种插值算,可分为3大类,具体如下:
- Point Sampling:点采样,它的音质最低,音质具有80~90年代老式设备的特点(retro)。
- Linear Interpolation:线性插值,音质较低。支持3种模式:
- 标准模式(在列表中显示为“Linear Interpolation (low quality)”);
- 带有IIR(infinite impulse response,无限脉冲响应)滤波器的两种模式(Linear Interpolation + IIR、Linear Interpolation + IIRx2)。
- Sinc Interpolation:正弦函数插值,音质胜过线性插值。根据精度的不同,得到的音质从中下到上等皆有。
- REAPER支持以下几种采样精度:16pt、64pt、192pt、384pt、512pt、768pt。其中192pt为默认值。
- r8brain free:REAPER名义上支持的最高质量插值算。根据官方描述,不仅音质高,性能还可观。
图 12 在渲染窗口中选择插值算
根据REAPER的描述,除r8brain free外,这些插值算的音质自上而下提升;相应地,为了获得更好音质,而导致计算量增加、性能降低。那么,实践中的具体表现究竟如何?
为了保证测试过程的严谨性,这一章继续在与“第一章1.1 测试环境 ”相同的环境进行测试。笔者将渲染采样率统一设置为最高的192000 ,以便充分检验算的性能。
测试时严格采用控制变量,确保影响性能的其他参数均保持一致,排除无关因素:
- 音频素材:4分40秒的音乐(南方二重唱《风吹风吹》),FLAC格式,采样率为44100 ,位深度为16 bit。
- 渲染采样率:192000 (在渲染窗口“Options”->“Sample rate”中设置,见图 12)
- 渲染编码器:W
- 渲染位深度: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——线性插值,带1组IIR
- Linear Interpolation + IIRx2——线性插值,带2组IIR
上述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 也能达到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, st)”,连续进行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及更高)。即使是默认的192pt,6.0x左右的渲染速率也只有r8brain free的20左右。可见r8brain free的性能优势名不虚传。
2.6. 小结
从上面的测试可见,插值算对渲染性能的影响不容小觑。
其中,音质最低的点采样与线性插值,由于舍去了音质,即使在192000 下,其渲染速率也能达到43.0~45.0x这一区间。而音质相对更高、更常用的正弦插值,则存在很明显的性能瓶颈。在192000 采样率下,随着精度的提升,其性能堪称“断崖式下跌”;即便是默认的192pt精度,其性能也不甚理想。
所幸,REAPER还提供了“锏”:r8brain free,兼顾质量与性能。若名副其实,则它将是正弦插值的绝佳替代。鉴于本文评测的重点是性能,笔者尚未检验其音质表现,留待以后再叙。
当然,笔者测试的是极高采样率192000 的情形。实际渲染作品(尤其是渲染面向流媒体平台的作品)时,未必会用到如此高的采样率,因此你仍可以安心使用默认的正弦插值(相同素材,44100 、16 bit渲染速率可达150.0x以上)。
在渲染界面中,REAPER还提供了一些非常细小、容易被忽略的处理环节选项,面向特定用途。
其中,有两个选项,位于渲染窗口的“Options”一栏,它们分别是“Dither master(缩混时添加抖动效果)”与“Noise shape master(缩混时添加噪声塑形效果)”,如图所示:
图 13 红框处为本章要评测的“Dither master”与“Noise shape master”选项
将高采样率音频进行下采样(downsampling,通常目标为44100 )时,启用这两个选项,可以使转换后的听感更为平滑。二者仅在渲染8~24 bit整数位深度的音频时可用,而最常用的场景就是渲染CD音频(16 bit,44100 )。
这两个选项本身相当于效果器,将对音频进行额外的处理,所以同样会对渲染性能造成影响。
3.1. 测试环境
测试时严格采用控制变量,确保影响性能的其他参数均保持一致,不造成干扰:
- 音频素材:4分40秒的音乐(南方二重唱《风吹风吹》),FLAC格式,采样率为44100 ,位深度为16 bit。
- 渲染采样率:44100
- 渲染编码器:W
- 渲染位深度:16 bit整数(16 bit PCM)
- 重采样模式:Sinc Interpolation: 192pt
其余设置均保持默认值。
3.2. 性能测试
笔者对Dither master、Noise 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 master、Noise shape这两种选项在不同组合搭配下的渲染性能
可见,仅仅是启用其中一个环节,就会显著降低渲染性能。其中,Dither master将渲染速率平均值拉低了约29.7点,降幅约14.5。而Noise shape对性能的影响更是惊人——原本200.7x的速率平均值,直接被拉低至117.74x,降幅直逼41!可见,抖动与噪声塑形这两个处理环节会占用大量的系统资源,尤以噪声塑形更为显著,这可能取决于内部算的复杂程度。
值得一提的是,如果同时将两个处理环节打开,其性能的降低反而不明显,渲染速率平均值仅比只启用Noise shape时降低约10.2点。
3.3. 小结
REAPER提供的附加处理环节,仅仅是抖动与噪声塑形,就能带来不可忽视的性能影响。通常它们仅用于特定用途,尤其是交付定稿时——例如,你要渲染最终用于CD出版的定稿,且你的工程采用高于48000 的采样率时,则有可能会用到抖动和/或噪声塑形这两个选项。
在日常创作中,尤其是团队合作时,如果非必要,笔者建议先不开启此类选项,以免影响性能、延长渲染时间。
到这里,《评说影响REAPER渲染性能的因素》系列文章就全部结束了。
在本系列的3篇文章中,笔者结合自身使用REAPER的经验与体会,以渲染速率作为评测指标,先后评说了硬件、软件对自身渲染参数对性能的影响,尤以深入评测不同采样率、位深度等常见渲染参数为重点。如果你对渲染性能有要求,想改善编曲制作的体验,那么相信通过阅读本系列文章,你就能够结合自身实际来做针对性的优化,找出适合你的软硬件与渲染参数方案。
由于笔者条件有限,还有很多影响因素不能一一评说,疏漏在所难免,敬请读者朋友多多指正。即使只能给读者朋友带来微小的一点启发,笔者也荣幸之至。
可下载 Midin for iOS 应用在或平板上阅读(直接在App Store里搜索Midin即可找到,或扫描下面的二维码直接下载),在 iPad 或 iPhone 上下载并阅读。