MP3是如何騙過你耳朵的?
從愛迪生髮明留聲機開始,人類保存和傳播聲音的歷史已經有 140 多年。
但在最近的 20 年裡,一種音頻格式的誕生卻改變了人們的音樂體驗。那就是 MP3 。
作為世界上應用最為廣泛的音頻格式,MP3 的誕生第一次讓音樂成為一種人人可以觸及的大眾消費品。
應該有不少小夥伴擁有的第一個音樂播放器,就是 MP3 Player 吧,甚至在當年,大家都默認 MP3 就是音樂的代名詞。
但同樣是數字音頻, MP3 只有標準 CD 大小的十二分之一,而對於人耳來說,這兩者的區別,有,但要比圖片壓縮之類的要難以察覺的多了,所以它對音樂做了什麼? 又丟掉了什麼呢?
大家好我是差評君,今天跟大家聊聊你最常見到的音頻格式——MP3。
MP3 到底丟失了什麼?
壓縮前後的區別是什麼?
如果我們想減少一個文件的體積,最直接的方法就是壓縮。
通常我們理解的壓縮,都是重複壓縮。比如你去超市買 5 瓶可口可樂,小票上不會寫 5 次可樂,只用寫「 可口可樂*5 」就行了。這個過程就相當於把文件里重複的部分用更短的位元組編碼。文件本身不會丟失數據,解碼後也不會損耗任何資訊,只是讓文件體積變小了。
這是一種無損壓損,實際上 MP3 的最後一步就是這麼乾的,它用一種叫 Huffman Coding 的演算法來完成。但如果只用這種演算法,MP3的體積並不會顯著縮小。
因為聲音本身是一種極其混亂,資訊熵非常高的數據。所以這種方式不可能讓它縮小到 CD 體積的 10 % 。
那既然無損壓縮這條路走不通了,乾脆就丟掉一些資訊好了。
那 MP3 到底丟了哪些聲音呢?
我們要想知道答案,最簡單的方式就是對比。
我們把同一段聲音的 MP3 和它的無損版本並列在兩條軌道上,把其中一軌反相,那如果它倆的聲音是一樣的,就會互相抵消,我們就應該得到一個靜音效果。這也是降噪耳機的工作原理。
但因為 MP3 是有損壓縮,但只有這樣我們還說不出 MP3 和無損的區別。如果一段音樂就是在 MP3 和無損之間不斷切換的,你真的能區分的出來嗎?我相信你是聽不出來的。
這就是 MP3 演算法的神奇之處,它的壓縮並不是簡單的丟掉聲音數據,而是在丟掉數據的同時,你卻察覺不到。
MP3誕生史
Brandenburg 和 Dieter Seitzer 的故事
70 年代末,有一個叫 迪特·塞策 ( Dieter Seitzer ) 的德國教授突然冒出個超前的想法。他想讓大家可以坐在家裡,用 ISDN 的電話線,打電話來點播音樂,就跟點唱機差不多。
ISDN 是當時流行的數字線路,也叫「 一線通 」,你可以用它打電話、收發傳真之類的,但它的速率只有128kbps 。
所以當迪特把這個想法申報專利的時候,專利局的工作人員告訴他這事兒沒戲。除非你能讓 ISDN 的網路速率提高十二倍,那才夠傳輸 CD 的數據量。
迪特一聽,提網速這事兒估計自己幹不了,但如果發明出一種只有 CD 1/12 大小 的音頻格式,不就可以搞這個「 數字點唱機 」了嗎。於是他轉頭把這個發明工作交給了自己一個叫 Karlheinz Brandenburg 的學生。
Brandenburg 的碩士論文研究方向是一個叫 ATC 的語音壓縮演算法,迪特也是看中了這點才找到他的。但 Brandenburg 接到這個任務的時候也很鬱悶。
心想 tnnd 你一個教授都做不出來,我小小一博士生怎麼做的出來,但導師交待的任務又不能不完成,所以他就打算用幾年的時間來證明這事兒不可能,然後論文一寫,把博士學位混到手算球!而就在他證明「 不可能發明一個比 CD 小 12倍 的音頻文件 」的過程中,他卻發現,哎,這事還真是有可能的。
心理聲學與MP3
讓 Brandenburg 覺得這事兒有戲的關鍵,是一個極其冷門的學科,叫心理聲學( Psychoacoustics )。
這是一門心理物理學的分支研究,最早源於人們對音樂和樂器的探索,後來成為了研究人的生理感官和客觀聲音世界之間關係的學科。聽起來很複雜,其實很好理解,比如人耳的聲音定位,聽力範圍這類研究,都屬於心理聲學的範疇。
在心理聲學裡有一個非常經典的研究,就是等響曲線。這個曲線告訴我們,人耳對於不同頻率的聲音,感知相差極大。人類的聽覺範圍在 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 ),檢查這個幀內,上述兩種掩蔽作用所發生的頻率和時間段,把那些被掩蓋的,我們聽不到的音頻資訊統統丟掉。
這個過程並不單純是精確地,機械式地判斷,它的底色其實是感官上的把控。
在 MP3 演算法測試初期,測試人員需要在海量的歌曲中找出 MP3 壓縮演算法的問題。它們要在各種歌曲的 MP3 和無損版本之間對比,而且每聽一首歌他們都要評級,一共有四個等級,分別是:聽不出區別、有一點區別、有點難聽和非常難聽。特別是最後兩個選項,可以說是非常主觀的判斷了。
這意味著 MP3 演算法的發明和改進,實際上把人的主觀評判作為考量的目標之一。我們不能說這種演算法是完全主觀的,它也不是絕對客觀的,所以它的效果也不可能在所有歌曲中都是平均的。
Vega和音頻編碼標準之戰
說到這,就不得不提 MP3 發明過程中的一個小故事。在 MP3 壓縮演算法測試的最後階段曾遇到過一個大難題,當時 Brandenburg 和他的同事們覺得自己的演算法已經非常牛逼了,幾乎在所有的雙盲測試中都很難聽出區別。
有天他無意中看到雜誌上說大家喜歡用 Suzanne Vega 的歌曲 Tom’s Diner 來測試自己的音箱,而他正好在弗勞恩霍夫實驗室( Fraunhofer )看到了這張 CD ,於是他就把這首歌上傳到了電腦上。
這首歌非常簡單,是一個純人聲,沒有伴奏的歌曲。但當他通過 MP3 的壓縮演算法處理這首歌之後,卻得到這樣一個效果。
在 MP3 較低的比特率下,Vega 的聲音變得沙啞,不自然。於是在之後的一年時間裡,研發團隊又對 MP3 演算法做了幾千次的微小調整, Brandenburg 說自己至少聽了三千遍這首歌,可能比地球上任何人聽得次數都多。
最後他們成功壓縮了這首 Tom’s Diner ,也通過這首歌,真正完善了 MP3 的壓縮演算法。
許多年之後,Brandenburg 真的遇到了 Vega ,而且還現場聽她唱了那首Tom’s Diner。儘管已經聽了無數遍,但他說,這首歌依然很好聽。
Brandenburg 終於在 1989 年發表了他的論文。下一步就是將這項技術推向世界。也就是在 90 年代初,業界突然出現好幾種新興技術,它們正在尋找一種新的音頻編碼標準來使用,這其中包括我們熟悉的「 CD-ROM 」和「 DVD 」。
於是他和他的團隊向動態影像專家組( MPEG )提交了參賽作品,他們要和另外 13 個團隊競爭新的音頻編碼標準。而最大的競爭對手來自一個名為 MUSICAM 的組織,這個組織的背後是飛利浦,當時飛利浦手握 CD 光碟的專利,可以說是如日中天。
所以儘管他們團隊的技術數據量更小,音質也更強,但最後還是輸給了 MUSICAM 。
因為MUSICAM 的演算法需要的處理能力更少。在當時處理器普遍不太行的時代,確實更有優勢。
因此在當年,MP3 是一個妥妥的失敗品。連它的發明者也已經開始著手研究新的音頻編碼。MP3 就這樣被扔進了歷史的垃圾堆里。
直到 90 年代中期,兩種革命性技術的誕生,讓 MP3 這顆棄子重新活了過來,那就是萬維網和 Windows 95。
一個同樣來自德國的研發團隊,開發了一種用於 MP3 的軟體播放器,並且發布在了 Windows 系統上。
當時,1 GB 大小的硬碟剛剛開始普及,存儲空間非常珍貴,反而處理器有了巨大的提升。所以體積更小的 MP3 慢慢被大家接受,也意外的成為了新的音頻編碼標準。1995年7月14日是 MP3 的生日,Karlheinz Brandenburg 和他在弗勞恩霍夫研究所的同事們( Fraunhofer )決定把這個壓縮演算法的文件擴展名,根據行業標準的全稱 MPEG-2 Audio Layer III ,命名為 .MP3。
到了 90 年代後期,「 MP3 」取代「 SEX 」成為搜索引擎上查詢最多的詞。某次 Brandenburg 在香港出差時,看到櫥窗里擺著 30 種不同品牌的 MP3 播放器,他心想,「 好吧,我們終於贏了。」
MP3 正在消失
MP3 的誕生比我想像的要複雜的多,它是一個耗時多年,經歷了無數迭代才得到的科研成果。這個成果可以說是重塑了人類音樂產業。也正是由 MP3 開始,音樂,成了一種人人可以觸及的大眾消費品。
從黑膠、磁帶,再到 CD、MP3,每一次技術革新都在改變人們的音樂體驗,也在改變大家消費音樂的方式。而 MP3 在這段歷史中格外的與眾不同。推崇它的人認為,MP3 無比偉大,它讓大家都能便捷地享受音樂;而反對它的人,視它如猛獸,因為它吞噬了唱片公司賴以生存的版權,以及唱片業曾經的黃金時代。
今天,數字音樂留了下來,但 MP3 已經走到了被時代淘汰的邊緣。我們再也不需要把音樂下載到播放器里,再用播放器來聽音樂,大家都是用手機在線聽歌,5G 通訊和幾百G記憶體,讓音頻壓縮變得更沒必要,音樂平台也漸漸轉向了FLAC等無損格式。
但我們都記住了那個聽 MP3 的時代,和那些陪伴過我們的音樂。
好了這就是今天的內容,這期影片跟平時有點不一樣,我們引用了重輕老師在小宇宙的Podcast,「 不在場 」節目的第二季第一集,感謝重輕老師的支援,也希望大家能去小宇宙收聽重輕老師的「 不在場 」節目。謝謝各位的觀看,如果你喜歡的話歡迎你一鍵三連,如果你有什麼想說的,也歡迎你在評論區和彈幕里跟我們互動,最後最後拜託拜託關注一下我們,我們下次再見。
圖片、資料來源:
不在場 S2E1 MP3 -重輕
Equal-loudness contour
Karlheinz Brandenburg,Dieter Seitzer,Huffmancoding -Wikipedia
How MP3 Got Its Groove -Internet hall of fame
The History of MP3 Technology -ThoughtCo.
The Human Auditory System -ScienceDirect
The Music Industry Strikes Back | System Shock Ep 2 -Bloomberg Quicktake: Originals
How a Suzanne Vega Song Helped Create the MP3 – Great Big Story
Perceptual Coding: How Mp3 Compression Works -WaybackMachine
SOUND THAT KILLS PAIN – Will Stephenson
語音訊號處理 -韓紀慶
聲學發展史之——心理聲學(Psychoacoustics) -知乎 子魚
MP3 走到了終點,為電話和廣播而生的技術,改變了整個音樂產業 -好奇心日報