MP3|MP3是如何骗过你耳朵的?( 二 )
这是一门心理物理学的分支研究,最早源于人们对音乐和乐器的探索,后来成为了研究人的生理感官和客观声音世界之间关系的学科 。听起来很复杂,其实很好理解,比如人耳的声音定位,听力范围这类研究,都属于心理声学的范畴 。
在心理声学里有一个非常经典的研究,就是等响曲线 。这个曲线告诉我们,人耳对于不同频率的声音,感知相差极大 。人类的听觉范围在 20-20000Hz 之间,而在这个范围里的不同频率下,我们听到的响度是不一样的 。
文章图片
低频的声音需要更大的声压才能和中频较小的声压,所形成的声音大小听起来相等 。
就比如贝斯就需要更大的音量,才能跟吉他声听起来差不多大 。这也是为什么贝斯这类低音乐器的音箱要比其他音箱的体积大得多 。
而图中的最低点出现在 3000Hz 左右,所以说明人对这个频率的声音最敏感,只需要比较小的声压就能听到 。比如我们听到的大部分的警报声,基频都在 1000-3000Hz,这样人耳才能更容易捕捉这些声音,从而避免危险 。
有意思的是,随着年龄增大,我们对于声音的接收范围也在变小,大多数成年人听不到频率在 16000Hz 以上的声音 。
沿着这个方向,等响曲线的发现者又研究出了一个更加神奇的事情,让我们意识到我们的感官和客观到底差距有多么巨大 。
这个东西,就是“ 掩蔽 ”( Masking ) 。
文章图片
声音掩蔽 Sound Masking
1958 年的某天下午,一个叫 Licklider 的心理学家去看牙医,他跟医生说,我不需要打麻药 。然后掏出了一副耳机,开始听震耳欲聋的音乐 。在巨大的音乐声中,牙医帮他搞定了三颗龋齿,而他就像被打了麻醉剂一样,竟然没有感觉到疼 。
Licklider 把这项技术命名为 Audiac,之后他带着这玩意和牙医一起巡诊拔牙,还帮助了不少妇女缓解了分娩时的疼痛 。
Audiac 用了一种强烈的听觉刺激来抑制疼痛,这就是一种跨感官的掩蔽效果 。
在听觉系统中,一种声音也会被另一种同时发出的声音所掩盖 。比如在一个乐队里,往往是吉他声在 C 位,但如果突然有相似频率的乐器加入,比如小号 。那吉他的声音就会被短暂的淹没 。这一过程叫作同频掩蔽 。
我们用一个动画来举例子,当一个频率从低到高的噪音经过一个正弦音的时候,这个声音会被噪音掩盖 。
再比如你上课的时候,想用一声咳嗽来掩盖自己放屁的声音,那你最好要满足三个条件,一是咳嗽声的时长大于等于屁声,二是咳嗽声的响度要大于等于屁声 。三是要保证二者的频率接近 。这三个条件都满足,才是一次出色的掩蔽 。
那这和 MP3 有什么关系呢?MP3 的算法就是利用了人耳的这种特性,将歌曲中不同频率里被淹没的声音瞬间,给丢掉了 。这样就可以在减少文件体积的条件下,最小程度的损失音质 。
文章图片
文章图片
时间掩蔽 temporal masking
但这还不够 。
当我们听到一个噪音戛然而止的之后,实际上会有一个 100-200ms 的逐渐减弱的掩蔽效果 。在噪音完全停止后的这段时间里,比他更小的声音会被掩蔽,我们是完全听不见的,就像我们的耳朵需要 200ms 的时间回复知觉一样 。
不光如此,噪音还会掩蔽在它之前的声音,虽然只有 50ms,但对于感官来说已经是相当长的一段时间了,这意味着我们的大脑需要 50ms 的缓冲才能报告到意识里 。
而这个前后过程,就叫作时间掩蔽 。
文章图片
MP3 压缩算法的核心,就是利用一个精心迭代了许多年的人体听觉心理学模型,把音乐里的每一个瞬间对应在 MP3 文件格式里的每一帧( FRAME ),检查这个帧内,上述两种掩蔽作用所发生的频率和时间段,把那些被掩盖的,我们听不到的音频信息统统丢掉 。
这个过程并不单纯是精确地,机械式地判断,它的底色其实是感官上的把控 。
