本帖最后由 elunxp 于 15-9-21 16:59 编辑
我在楼主的另一帖回复了,不过发现回在这贴比较好:
实际上这个帖子涉及了三个完全不同类型的问题:
(一)建立和输出文件的采样位深精度(如:24bit定点WAV、32Bit浮点WAV等)
(二)音频工作站内部运算处理的位深精度(如:Internal Processing 64bit浮点处理等)
(三)程序架构(如:x86和x64)
三种情况,大多数人都非常容易把概念混淆。
无论是x86还是x64的软件,都可能存在Internal Processing是64Bit或者32bit的情况,举例:
SawStudio 是x86(32位)软件,但是它的Internal Processing内部精度是64Bit整数运算;
Cubase Pro 8的x64(64位)的版本,它Internal Processing内部精度是32Bit浮点运算;
Reaper,无论是x86还是x64版本,它们Internal Processing内部精度都是64Bit浮点运算。
上面提到的软件,无论何种架构(不管是x86还是x64),无论何种内部精度(Internal Processing),都可以选择导出不同规格的音频文件,比如24Bit定点的WAV,32Bit浮点的WAV等。
程序架构中只会影响执行效率和内存寻址等因素,比如x64的工作站在x64的处理器下运算有更高的执行效率和更大的内存寻址范围,这些和工作站内部处理精度无关,也和输入输出文件精度无关。
软件内部处理精度(Internal Processing),直接决定母线处理的动态范围承受能力,并且直接决定多轨混音的处理精度,同时也会影响summimg运算品质,尤其是音轨数非常多的时候,高内部精度的优势会更明显。
音频文件的创建和输出采样位深精度,会影响音频文件所存储数据的动态范围,可以简单的理解为一个容器。比如24bit定点的音频文件,可以存储大约144dB的动态范围音频信号,并且整数型(定点)不具备动态可编辑性。但如果以32Bit浮点存储音频文件,则可以在1680dB范围内具备可编辑性和无缝转换性。比方说,你导出一个32bit音频数据文件,峰值是0dB,然后拿到别的软件导入,向上拉推子提升6dB音量,也就是过载了6dB,接着你再保存这个过载的浮点文件。你再把这个过载的浮点文件导入到原来的音频软件,听到是过载的,然后你拉下推子6dB还原到0dB的位置,发现又不过载了,可以无缝还原。如果你换成24Bit定点文件存储,重复做上面的事情,发现是不可行的。
注意,VST插件也分x86和x64,同时VST插件也存在不同的内部精度Internal Processing。举例:
Sonoris的VST插件是x86(32位)的,但是它的内部精度Internal Processing却是64Bit定点运算。
WAVES的VST/AAX插件,有x86(32位)也有x64(64位)的,而里面的不同效果器产品内部处理精度Internal Processing是不同的,比如C4多段动态处理器(无论是x86还是x64版本),它的内部处理精度Internal Processing均为48Bit浮点运算。但是某些签名版的插件,比如Abbey Road那些(无论是x86还是x64)似乎又提高到了64Bit浮点运算。
x86(32位)的VST效果器,可以在x64(64位)下的音频工作站宿主中桥接使用,但是内部处理精度Internal Processing是不变的,而变化的只有CPU执行效率和内存寻址范围(也就是程序架构的不同)。你可以大概理解为:32位的插件在64位的宿主下使用,音质精度不会变差,但是CPU和内存执行的效率可能会变差(如跑不动了)。
是不是我越扯越乱了?