轉:HiRes高採樣率的必要性

文章原文地址 :http://tieba.baidu.com/p/4176851934?pn=1&red_tag=w1529407323
瀏覽貼吧發現的一篇不錯的文章,如有侵權請聯繫刪除。

HiRes高採樣率的必要性

發這個貼子首先的原因是想糾正一個很多人對數字音樂都有的誤解,那就是HiRes高採樣率(比如96khz, 192khz等)肯定比主流的採樣率(44.1khz和48khz)好,高採樣率也肯定是必要的,因爲很多人說他們自己明明能聽出區別。實際有沒有區別或者耳朵的感受我最後再說,我先來說說理論上是怎樣的,因爲很多人認爲有區別的原因是和顯示器分辨率類似的,1080p就是不如2K,4K在一定尺寸的屏幕上也肯定比2K清晰,同理192khz在好系統上肯定就比48khz要好,毋庸置疑。但是有這種想法的人很多都有個錯誤的認識,那就是數字音樂的波形就是鋸齒,就是階梯型,而不是聲波應有的順滑和連續,所以提高採樣率也就能減小這種效果,數字音樂你要有無窮大採樣率才能說是完美的,否則就是鋸齒。

開始討論之前先讓我貼個免責聲明,懶得看可以跳過。
1、我說的肯定不可能絕對完全正確,本來我並不想發這個貼的,因爲第一這種科普貼怕是沒什麼人會看,看得懂的自然懂也不需要我科普,看不懂的估計也沒幾個會真想搞懂這些“沒用”的東西,肯定都跑去開箱撕逼噴水跟風去了。
第二知道的越多就越是覺得不知道的更多,我不是數學專業的,EE電子工程也不是我第一專業,我更不是專業研究這些的,所以專門來發個貼還打着科普的旗號就顯得有些班門弄斧,但因爲實在看不下去有些更加不懂的到處科普僞科學,所以不要臉了也要來反駁一下,如果專業大神發現我哪裏說錯了,請用證據輕拍就好。

2、我只討論PCM,DSD是有着本質區別的東西,不可簡單比較,如果你想討論一下當然也可以,但請不要無腦用DSD的東西來反駁我說的PCM的東西。

3、我只討論回放,不討論錄音後期等情況,那些情況下事情略有不同,而且大部分人也不必關心那些,所以我就不討論了。

4、如果你還沒搞清PCM,DSD,採樣率,位深,碼率,WAV,FLAC,MP3,無損有損這些概念的意思和關係,你應該去科普一下這些最基本的東西,不是說這些對你燒器材,欣賞音樂有什麼幫助,只是說知道這些基本的能然你燒得更明白更理智一點。

首先我還是來簡單說下PCM採樣的原理,不然你不知道的話後面沒法討論,已經知道的可以跳過。

大家知道聲波是連續的,在平面上畫個振幅-時間圖表示聲波的話上面有無數個點,數字音樂肯定不可能把每個點都記錄下來,所以人們就想了個辦法,每隔一小段時間(約0.0227ms以44.1khz採樣率爲例),記錄當時的振幅就好了,這樣得到一個discrete具體函數,也就可以保存在內存硬盤上了。

下圖爲例,紅色的是連續的波形圖,藍色的點是採樣,數字音樂記錄的就是那些藍色點的縱座標,順便說下這裏的縱座標只劃分了16級,也就是4-bit(4位),所以你可以看到有些點根本不在紅色的波形上,但這就是位深的問題了,這個如果要討論也放到後面吧,但是你要知道現在主流位深都有16-bit,也就是有65536個等級,精度比這個4-bit要高得多,至於HiRes宣傳的24-bit甚至32-bit有沒有提升和實際作用以後再說。
這裏寫圖片描述

既然數字音樂記錄的只是一個一個單獨的點,那回放的時候,DAC(數模轉換器,俗稱解碼)如何把這些點轉換成連續的聲波來重現記錄的聲音呢?這就是產生問題的地方,很多人覺得自然DAC只能把這些點用直線連起來,不過最讓人產生誤解的罪惡根源要數下面這種階梯圖,這樣乍一看臥槽都是鋸齒,然後就開始各種YY,什麼我終於知道爲什麼CD不如唱片好了,因爲唱片是“模擬信號”,是“連續”的,沒有階梯,我也知道SACD等高採樣率的東西爲什麼好了,因爲採樣率越大,自然鋸齒就沒有那麼嚴重,就越能更接近原始的聲波。
這裏寫圖片描述

但事實是不是真的數字音樂就只能產生鋸齒波形或者有瑕疵的波形呢?答案是否定的,如果真是這樣你下載的數字音樂可以說簡直不能聽,因爲全是明顯的噪音,還不是那種很微弱的底噪。
本來我想先繼續鋪墊理論的,不過好像理論大家已經看不下去了,所以爲了讓大家先有個直觀的感性認識,理論放到後面,我先做個演示給大家看一下數字音樂是如何被DAC還原的。(下面的演示都是我用JavaScript HTML5 Canvas做的,如果感興趣可以向我要源代碼)

爲了演示方便,先拿個簡單的正弦波爲例(當然聲波不可能都是這麼完美的正弦波,爲什麼可以拿正弦波演示以及實際聲波是怎樣的這個問題有點複雜,後面再說)
這裏寫圖片描述

以一定的採樣率採樣以後得到這麼多個點。
這裏寫圖片描述

你可能覺得DAC還原的時候就是連點成線,於是還原出來的聲波是這個鬼樣子的。
這裏寫圖片描述

或者受到鋸齒圖的影響,你覺得是這個樣子的,反正都是慘不忍睹。
這裏寫圖片描述

但實際情況是,一個正常的DAC根本不會還原成上面那個樣子,而會是下面這種你幾乎看不出和原來的波形有什麼區別的樣子。
這裏寫圖片描述

我知道你肯定會說,臥槽這不是作弊,你都知道原來是什麼樣子的,依葫蘆畫瓢誰不會。但我想告訴你哪怕我不知道原來是什麼樣子的,只要我知道原來的波形是頻帶限制的(band limited),並且你用的採樣率是大於最高頻率兩倍的,我就能還原任何波形,不信你可以把任何採樣結果發給我,我給你還原。至於怎麼還原,爲什麼能還原,何爲頻帶限制,爲什麼又要兩倍頻率的採樣率,待我慢慢道來。

不過首先如果你有Adobe Audition之類的音頻處理軟件或者任何能顯示波形的軟件,你仔細看一下波形就會發現,並不是簡單的連點成線,而是有一定規律的曲線。

比如下面這個15khz正弦波,上面是波形圖,下面是頻譜圖,通過頻譜圖可以看到是純淨的15khz正弦波,再看上面的波形圖,你覺得是簡單的連點成線麼?
這裏寫圖片描述

接下來會開始講各種理論和論證來支持我前面說的東西,中間會涉及到現實生活中實際與理論的區別,因爲理論不能完全代表實踐,實踐也不能直接寫成理論。我說理論沒區別不代表實際也沒區別,你實際聽出區別了也不能證明理論有區別,剛纔也有人提到DAC是電路不是軟件模擬,區別肯定是有的,我只是先簡化了而已,這些問題要認真討論你可以把你一生,你兒子孫子的一生都奉獻進去都可能依然討論不清楚,我後面會力求簡單直白地討論一下,但是因爲他們會摻雜在各種大部分人看了頭大的理論的討論中,所以先討論一下更簡化的版本。

質疑:HiRes到底有沒有意義?
觀點:HiRes是有意義的,但主要的意義在於錄音和後期處理等環節,錄音上來說,麥克風錄製的信號是需要過濾掉超聲波和次聲波內容的,否則這些在之後的處理以及回放會造成問題,後期上來說,一些處理可能會降低精度,比如你用16bit/44.1khz錄音然後處理,出來的有效精度可能就只能等效13bit/24khz了,如果用HiRes,比如24bit/96khz,24bit/192khz甚至是32bit/384khz,處理完了精度依然會很高,再轉成CD音質16bit/44.1khz也不會有什麼損失。
但是隻論回放的話,也就是大多數人關心的,我總覺得意義很寥寥,24bit/192khz差不多是CD音質16bit/44.1khz的5倍大小,一首歌動輒幾百M,甚至於有人還在到處傳播那個64bit/192khz還是384khz的加州旅館,一首歌超過1G,現在硬盤存儲確實廉價,但是廉價不代表就可以隨意浪費,有些人爲了追求這種腦放級別的提升,不惜每首歌都要HiRes版本才能聽,然後去買一堆內存卡(你們知道誰是這些人的代表的,不過我並不是有什麼針對他的意思,希望不要開始撕逼,我只是想問大家自己問過自己沒有,這樣是不是真的更好,或者這樣值不值,當然你若是不在乎自然開心就好,哪怕你吃的藥只是理論上毫無作用的東西,只要吃了能安慰自己,或者能鼓勵自己戰勝病魔,這種精神上的作用也就夠了)。

而且在你追求HiRes的同時,請至少認清什麼是真的HiRes,什麼是從CD音質強行拉高的假HiRes,別的不說,加州那首64bit位深我就不能再多地質疑真實性,現在哪有這麼高位深的錄音技術,同樣哪有這麼高位深的回放技術,64bit擁有384db的動態範圍,也就是2^64倍的差距,你們知道2^64有多大麼?

說DAC之前先說說理想狀態下采樣應該如何還原成連續的波形。

採樣本質上是離散函數,也就是說兩個採樣之間的值是未定義的,要想得到一個連續函數就得有一個插值算法來計算採樣中間應該是什麼值,插值算法一般的通式如下:
這裏寫圖片描述

y(t)是連續函數,也就是我們想得到的東西,t是時間。y[n]是離散的採樣,n是整數,y[n]代表第n個採樣的值。,後面的Ts是採樣週期,也就是1/採樣率。

那麼p是個什麼鬼?如果你知道一點插值的原理就應該可以想到是加權函數,下面列舉了四種插值加權方式。
這裏寫圖片描述

Triangular Pulse一次插值(或者三角脈衝?)的結果就是連點成線,大概的邏輯就是一個點的值只由離它最近的兩個採樣的值決定,這裏以採樣0和採樣1爲例,如果這個點正好是採樣0或者採樣1,那麼它的值就是採樣0或者採樣1,否則的話就看它距採樣0和採樣1的距離之比,如果是1:1,也就是50%:50%,那麼它的值就是50%採樣0+50%採樣1,如果距離之比是30%:70%那麼它的值就是30%採樣0+70%採樣1,如果你知道貝塞爾曲線的話就很好理解了。
這裏寫圖片描述

Square Pulse零次插值的結果就是鋸齒,也就是一個採樣前後半個採樣週期的值都和它一樣。
這裏寫圖片描述

但是這兩個都不能很好還原正弦波,即便是下面這個雖然已經開始接近了但在採樣不夠多的時候依然不夠好。
這裏寫圖片描述

不過我們發明了sinc這個東西,它很簡單,其實就是sin(x)/x,用它不但能相當好的還原波形而且數學上已經證明了還原後的波形和原來的是一模一樣的東西,是完美還原而不僅僅是近似,也就是說不存在任何信息的損失,至於爲什麼它能還原正弦波以及怎麼得到這個東西的或者相關證明就請自行搜索了,比如可以看一下這個題爲Introduction to Shannon Sampling and Interpolation Theory(香農採樣法和插值論導論)的文章

http://marksmannet.com/RobertMarks/REPRINTS/1999_IntroductionToShannonSamplingAndInterpolationTheory.pdf

現在來說實際的DAC,有一些比我更瞭解硬件方面的告訴我DAC只負責把數字信號也就是二進制的採樣數據轉換成一個一個的電平值,高採樣率對DAC的作用是很明顯的,這個沒有什麼問題,但是第一我們常說的DAC指的一般應該是包含DAC的音頻芯片,而不僅僅是真的只說DAC一個元件,在DAC之後還有重構過濾器(比如低通什麼的)去掉鋸齒產生的高頻來得到一個比較平滑的波形,但這不是重點,重點是DAC之前應該有數字插值處理,來爲之後的DAC提升採樣率,如下圖(來源:http://www.analog.com/media/en/training-seminars/tutorials/MT-017.pdf)。
這裏寫圖片描述

就算是某人專門提到的sigma-delta型DAC也會加上插值過濾器。
這裏寫圖片描述

第二我討論的是音頻文件高採樣率的必要性而不是DAC需不需要高採樣率,之前我說明了只需兩倍最高頻率的採樣率即可保留所有聲波信息,也就是說如果需要,DAC之前的數字插值器完全可以把44.1khz採樣率的音頻轉換成任意更高採樣率再傳輸給DAC做數模轉換,並且不會有任何損失,實際上真實的播放器如CD播放器應該確實有這樣的過程(這個我雖然無法驗證,但是我上面給出的文檔和我之前樓層的那篇文章也都提到了這回事,而且我記得MIT EECS6003那門課上也說到過這一點),回放時首先會把44.1khz提升4x,8x甚至更多,然後再送給DAC。

再插播一個同樣來自Monty的視頻演示

https://xiph.org/video/vid2.shtml

再一次說明了44.1khz採樣率下哪怕是20khz的信號,每個週期不到三個採樣的情況下,依然能非常好地還原。

更多內容請看:https://xiph.org/~xiphmont/demo/neil-young.html

最後配圖

這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章