【轉自知乎】音訊領域的天才機制,被絕大多數燒友誤解了
在耳機相同的情況下,為什麼電腦的音質會比不上 CD 機?
知乎使用者,公共領域編輯志願者 歡迎私信交流
首先,電腦的音質是否比不上 CD 機?
這個不一定,CD 機雖然在外觀上和電腦大相徑庭,但是其結構基礎是一致的,電腦當中的 CPU 就相當於 CD 機當中的專用運算處理晶片;電腦中的光碟機就相當於 CD 機當中的轉盤系統;電腦中的獨立/整合音效卡就相當於 CD 機當中的 DAC 和 功放電路。
有人會問電腦當中的功能太多,CPU 忙不過來,是否會導致播放音質惡化?這個大可不必擔心,因為從軟體上來看,作業系統的「分時複用」技術非常成熟,而且通用 —— 即使是你手上的 MP3,也採用了這項技術,想想就明白了 —— MP3 是如何做到一邊選擇歌曲,看電子小說,玩遊戲,一邊播放音樂的?從硬體來看,如果感興趣的同學可以百度一下「鎖存器」,正是這個器件使得播放音質與 CPU 同時在進行多少工作幾乎毫無關係。
有人會問 CPU 與 CD 機當中的專用運算處理晶片有何區別,其實區別還是比較大的,CPU 的功能僅限於通用運算,但是 CD 機當中的專用運算處理晶片則集成了更多的功能,比如可以將 DAC 和 ADC 單獨拿出來放在專用運算處理晶片上,而最新的 iPod shuffle 播放器的專用運算處理晶片甚至幾乎將該播放器的所有電路均整合在了這個晶片的內部,外圍除了一些必要的電阻,電容以外再也不用其他元器件。
那麼電腦和 CD 機的播放音質區別在哪裡?應該說,如果從公平到理論高度的層面上看,二者在數字訊號處理階段輸出的音質沒有區別,但是到了模擬訊號時,會有一些區別。
什麼是數字訊號?什麼是模擬訊號?如果拿一首鋼琴曲來說,記錄在琴譜上的音符就是數字訊號,將這首鋼琴曲用鋼琴彈奏出來的就是模擬訊號。對於琴譜來說,節拍多少,每個音符的音高多少,哪裡該延長,哪裡該休止都記錄的清清楚楚,但是當鋼琴師在演奏時,肯定難以保證一切都按照琴譜來彈,這裡我們且排除鋼琴師是在按照自己的感情來詮釋這份琴譜,但是彈奏出來的音樂相對於琴譜來說,必然會存在失真 —— 按照琴譜來彈奏過程中引起的失真,就是剛才談到的,從數字訊號到模擬訊號之間的失真,這也是電腦和 CD 機播放音質之間區別的由來。
那麼,為什麼說電腦和 CD 機在數字訊號方面的音訊訊號質量沒有區別?
因為 CD 上面儲存的內容是數字訊號,數字訊號是什麼?數字訊號就是 0 和 1 構成的序列。0 就是 0、1 就是 1 ,無論是從光碟機上讀到硬碟中,還是從網路上下載到電腦裡,這樣的序列都不會改變。大家簡單想一下,如果一個檔案在傳輸過程當中 0 和 1 出現了錯亂,會是怎樣的情況?這意味著,你將一副圖片傳到網上,發現這幅圖片的內容完全不一樣了;你發一封郵件給別人,結果那個人收到的郵件中一半內容正常,另一半內容卻是亂碼;你將自己的一篇文件從 C 盤複製到了 D 盤,結果裡面的文字全部錯亂 …
按照 CD 音訊格式的統一規範《紅皮書》制定的標準[1],簡單地理解就是 —— 大家有注意到播放音樂時音箱的鼓膜在不停地振動麼?將一秒鐘平均分為 44100 次,然後每經過 1/44100 秒,測量一下此時鼓膜的位置,將其轉化為由16個要麼是 0 ,要麼是 1 的數字組成的序列,這樣每秒鐘就會得到一個由44100 x 16 個 0 或者 1 構成的數列[2],而因為這個序列已經記錄並約束了鼓膜在該時刻下應有的位置,可謂是最嚴格的「樂譜」。而一份「樂譜」的記錄和複製,傳遞過程又怎麼會受到 jitter 的影響?
「 jitter 無處不在,無所不能」可謂是「資深燒友」忽悠新燒友的萬古長青的法寶。如果現在回過頭來總結,在模擬音源的 LP 時代,LP 唱片的轉速確實對播放出的音質有很大影響,因為模擬音源的播放過程就像一首鋼琴曲從唱針上一步步走到喇叭口,移動地忽快忽慢確實會導致較大的失真;但是,在數字音源的 CD 和 MP3 時代,唱片上的內容已然變成了樂譜而不是直接被記錄下的鋼琴曲,傳輸地忽快忽慢並不要緊,只要不會對樂譜上的記錄造成影響就行 —— 你要問為什麼我確定肯定沒有影響?想想看,同樣的一張紙,上面寫程式程式碼,可以讓你從光碟上正確地安裝一個作業系統;上面畫圖,可以讓你從光碟上拷貝出完全正確的一張張圖片而不必擔心存在失真問題;那麼為什麼同樣是用 0 和 1 程式碼寫成的「樂譜」,從光碟上拷貝出來就會有各種問題?
對於 jitter 引起的影響,總結一下,就是 —— jitter 確實無處不在,但並非無所不能。在數字音源時代,至少在純數字訊號處理階段, jitter 對音訊訊號質量不會造成影響。
如果做一個比喻的話,在模擬音源時代,從音樂家演奏出音樂,相當於整個錄音過程開始,錄音彷彿開著車走上了一條鄉間小道,錄音階段,播放階段,一直都在這條小道上跑,這輛車則一直在老化——但是在數字音源時代,工程師在從錄音階段到播放器的數模轉換器輸出這一階段鋪上了高速公路。雖然這輛車仍然需要上高速,下高速,但是在高速公路上,這輛車可以保持原樣,一直開下去。而這條高速可以是 CD 光碟機,可以是硬碟,可以是網路。
接下來,電腦和 CD 機的音質區別具體受到哪幾方面影響?
上文已經反覆強調過,從數字訊號到模擬訊號之間的失真,是電腦和 CD 機播放音質之間區別的由來。從數字訊號輸出時,這樣的 0 ,1 序列依然還是相同的,但是,由於最終為了將這一訊號變成真實的聲音,我們還是要將數字訊號重新還原成模擬訊號。這一過程由數模轉換器(DAC)來完成,而數模轉換器在轉換過程中,則會不可避免地受到 jitter 的影響 —— 但是需要強調的是,在對抗 jitter 帶來的失真時,CD 機對比電腦來說並沒有任何的優勢,CD 高檔轉盤能整合在電路板上的高檔晶振,獨立音效卡也一樣可以整合,因為這兩者可以通用;此外,該處對於 jitter 引起的失真的討論僅限於對部分「燒友」高階言論的駁斥,事實上,jitter 能引起的失真相比其他由電路本身產生的失真要小得多,以至於可以將其帶來的影響忽略掉。
比起 jitter 能帶來的音質上的影響,放大電路帶來的影響明顯更大一些。由於放大電路元器件自身的技術限制,對於數模轉換器輸出的訊號無法做到理想的線性放大。而在這一方面,高檔的 CD 轉盤或可以戰勝電腦——因為高檔的 CD 轉盤可以擁有更大的空間來安置放大電路,靜電隔離也可以做得比安置在機箱當中的音效卡更好。但這都是針對數千元及以上的高檔產品來說的,對於便攜 CD 機來說,為了延長其因為電池供電而帶來的可憐的續航時間,提高放大電路的效能並不是首要的目標 —— 首要的目標是如何降低放大電路的功耗。而對於電腦來說,則完全不用考慮功耗的問題 —— 當然也不能說一點都不用考慮(沒人會瘋狂到在電腦音效卡上搞一個純甲類功放),但是相比便攜裝置,電腦的輸出功率比它們更高這一點是肯定的。因此,說千元以內的獨立音效卡音質可以「秒殺」同價位隨身 CD 並無不妥之處,同價位的 CD 轉盤 … 呃,我不太明白,請問您是在說 VCD 嗎親?
最後,需要討論一下,高檔的 CD 機相對低檔的 CD 機音質有提升嗎?
讓我們返回最開始的問題,一定會有人有疑慮說,為什麼一定能保證光碟上的內容能夠 100% 正確地拷貝到電腦中?像很多有劃痕的光碟不是就不可以麼?
確實,我們少考慮了一個因素,就是對於已經有嚴重的物理磨損的光碟來說,真的確實會存在讀取上的困難,而對於質量很差的光碟來說,讀取錯誤也是很常見的問題。雖然這種情況對於正常磨損的光碟來說很少見,但是也不是沒有。雖然 CD 標準在制定之初,已經設定了雙重糾錯機制,能夠發現光碟機在讀盤時產生的錯誤並修復它們,但是依然無法保證所有的內容都可以被正確還原。
那麼高檔的 CD 轉盤的價值體現在哪裡?首先,正如以上所說,高檔的 CD 轉盤作為一個播放器的整體,雖然在數字音源階段與電腦差異不大,但是在轉換成模擬訊號過程中擁有自己獨特的優勢;另一方面,在讀取有嚴重的物理磨損的光碟時,高檔的 CD 轉盤因為其機械結構用料更加考究,設計更加穩定,可以最大限度地將正確的資訊從光碟中讀出。
但是還是需要認清一點,那就是相對於軟體上的校驗碼糾錯機制[2],機械上的考究用料和更優化設計所起到的作用幾乎微乎其微 —— 要知道即使是讀取一張正常的光碟,軟體的校驗機制每秒鐘都在後臺默默地發現並修正上百個錯誤,如果沒有該機制的保證,CD 光碟幾乎無法得到普及。從這個角度上講,通過機械上的改進來提高讀取質量較差的光碟的質量,順便大幅提高產品售價,是技術上的需求驅動,還是商業利益上的運作考慮?我想顯然是後者的成分更多。
CD光碟的糾錯演算法是一個非常重要的內容,雖然其深奧程度並不高,現在的研究生數字訊號處理課程當中就有講到其原理[3],但是絕大多數「燒友」還是在憑藉自己的想象來猜測 CD 的解碼過程,甚至有「燒友」說,電腦光碟機的糾錯就是靠反覆讀取同一個位置,看讀到「0」和「1」哪個多一些來判斷這個位置是「0」還是「1」 —— 可悲的是,這種簡單而錯誤的理解恐怕會博得絕大多數「燒友」們的贊同,真正能有幾人能靜下心來參透 CD 的解碼過程,從而瞭解真實的 CD 糾錯機制是怎樣的?真正的音訊領域專家和開拓者們設計出來的天才般的機制先被簡單而粗暴地曲解[4],然後再披上一層風馬牛不相及的外衣,在商業利益的驅使下,由愛好者們構成的論壇從交流真科學到偽科學橫行,浮躁的發燒界就是這麼樣一步步地墮落下去。