音乐

HIFI日记:采样精度1bit、16bit、32bit float到底是什么

采样精度,也就是位深,网上对它的定义很简单,百度百科是这么介绍的:

采样精度是对模拟信号的幅度轴进行数字化,它决定了模拟信号数字化以后的动态范围。

而动态范围,则是指

音频回放时最大不失真输出功率与静态时系统噪音输出功率之比的对数

简单来讲,动态范围越大,所能呈现的声音自然就更为准确、层次感也将更为鲜明,即使在小音量下,你也能听到丰富的细节。

一、16bit、24bit、32bit介绍

我们先来介绍PCM信号中的采样精度,常见的采样精度有以下几种:

16bit、24bit、32bit、32bit float

其中以16bit进行举例,它有两种计算方式,一种是二进制,他用16个0或1来表示,或者用十进制,则可以表现为65536(2^16)个整数取样。不管是用二进制还是十进制,其实都是用来指代音频的动态范围。而如果用我们HIFI的思维去理解,则是指这首曲子最多能记录的动态范围(1bit≈6.02dB),大约是96.33dB(0dB~-96.33dB)。

从以上部分我们可以得出一些常见的HIFI结论:

比如数字音频音量为0dB时,其采样精度是完全没有经过压缩,能呈现出当前位深下最大的动态范围,所能听到的细节也是最完整的。

那介绍完16bit,我们可以直接类推HI-RES标准的24bit和32bit,他们的计算逻辑跟16bit没什么区别,具体可以参考下图:

采样精度动态范围
16bit0dB~-96.33dB
24bit0dB~-144.49dB
32bit0dB~-192.64dB

二、32bit float、64bit float介绍·

如果说上述16bit、24bit、32bit还是针对音乐回放用的比较多的,那么新出的32bit float、64bit float则是对录制音频而言非常优秀的新标准了。float指代的是浮点,即浮点运算的意思。以32bit float为例,在二进制计算中,将会以下表进行计算。

最终,32bit float将会得到一个远超32bit的动态范围:

采样精度动态范围
32bit float-758dB~+770dB(1528dB)

是不是有点被震惊,原来在HIFI领域呼风唤雨的32bit动态范围,在32bit float下面,竟然连零头都没达到。更可怕的是,32bit float还能记录0dB以上的动态范围,录音师们再也不用小心翼翼地控制录制电平,生怕一个齐奏就出现录爆(削波)的尴尬场景了。因此float标准的出现极大地推动现场录制水平,特别是复杂环境下的录制水平。并且,随着硬件水平的进一步发展,64位浮点精度的采样精度(64bit float)也已经逐渐普及普及,一些高端A/D硬件已经可以输出64bit float的文件了。

三、1bit介绍

看完上面疯狂的32bit float,现在突然介绍起1bit,各位看官是不是觉得很奇怪,毕竟这位深是不是太小了一点?其实,要解释1bit采样精度,我们需要了解另一个概念,那就是与PCM相对的另一种音频编码格式:DSD(直接比特流数字)。它是索尼和飞利浦在1996年宣布共同发展的高解析数字音响规格,当时对载体就是现在耳熟能详对SACD唱片。虽然DSD的采样精度是1bit,但是其基础采样率却高达2.8224MHz(也可以写作DSD64,意思是普通44.1kHz采样率的64倍)。而且与PCM信号一样,DSD也有更加高规格的采样率,比如5.6MHz/DSD128乃至11.2MHz/DSD256等极高规格的音频。因此1bit采样位深其实并没有影响DSD音频的实际精度,甚至DSD64就已经能媲美24bit/196kHz的PCM文件了。

总结:至此,采样精度相关概念就说明完毕了,在编写这篇科普的时候,有位群里的老哥说,我是听黑胶的,数字这些东西我不需要了解。BLOG主当时除了感受到气愤,更多的是感受到HIFI行业的可悲。很多HIFI玩家认为,听感至上:说那么多干什么,只要好听就行了。而这种论调,甚至在很大程度上获得了众多玩家的支持,其中不乏大量金耳朵和老烧。然而,殊不知哪怕是黑胶唱片,其录制的过程,也大都是数字化的,正如上面介绍的32bit float,正是录音行业需求的不断推高,才发展出来的全新技术。而我们应该清楚地意识到,技术的发展是源自于目标群体的需求,如果没有需求,自然也就不存在发展。在BLOG主看来,好听就行,对整个行业来说百害而无一利,就像是听古典不去了解创作背景、学英语不去了解语法一样,客观上只是一种躺平。

PS:未来BLOG主还会继续选择音频相关内容进行科普,各位如果有想了解的,或者本篇科普还有疑问的,不妨留言询问,BLOG主看到会选择回复。

Visits: 7813

7条评论

  • 泡沫

    哇,上次看到huoyanyan这个id还是在车轮之国的汉化的坎坷历程中,已经10多年了吧

    唉,时间的流逝真是让人有些神伤

  • DRP

    那个1bit的编码方式的逻辑大概是什么样的?如果按照时间推移来表示此次采样相对于前一次的增减,那么1bit的容量最多只能表示两种信息,而相邻两次采样的情况可能是增、减或持平。这个问题的解决方法是什么?是持平时默认增加吗?在这种编码方式下,1bit的波动幅度在不同的歌中会是一样的吗?

    • huoyanyan

      这个问题其实解释起来非常麻烦。。碍于BLOG主水平也仅能大致上解释,无法保证对错。首先DSD不是完美信号,当然PCM也不是,DSD是牺牲了量化精度,而极大程度加强了采样频率而出现的编码方式,所以DSD格式的DA转换确实损失一部分动态,且越高频杂讯越多的原因可能也是因为此。但由于DSD的采样率非常高,相对于动态损失而言,他的信息密度优势绝大多数情况下会比传统PCM更高。

      回到你的问题,通过网上的一些大神的解释,似乎涉及到专门的编解码方式,这个超出了BLOG主专业水平,因此无法解释。但如果用BLOG主自己的理解就是,因为模拟信号一定是高低电平组成的,你的音箱发声也一定是通过电平高低引起的震动,就算是一条平直的线,你的箱子也必须震动才能“模拟”发声,不震动就没声了。所以这很可能并不是现实意义里面的“还原声音”,而是为了配合音箱做的“模拟震动”。希望BLOG主这个解释你能满意。

      • huoyanyan

        跟朋友讨论了一下,最终认为如果真的是平直的声音,那就是01交替高低电平震动发声,只要震动够快那就是无限趋于平直的。

留言

您的电子邮箱地址不会被公开。 必填项已用 * 标注