Gary課堂|音樂從哪來?從音頻文件到聲波
在詳細介紹今天的內容前,我們首先來簡單了解一下音頻文件格式。
▌什麼是音頻文件格式?
音頻文件格式是用於在計算機系統上存儲數字音頻數據的文件格式,換做人話就是把你聽到的聲音轉換為能在硬碟儲存的文件,這個文件包含了聲音的時間信息和聲音的振幅信息(位置信息,位深,位寬,比特信息),常見的格式有mp3、ogg、aac、flac、wav、aiff、ape等。
其中,比較知名的無音頻信息損失的編碼格式,也就是無損音頻文件格式有ape、flac、wav、aiff等,wav格式是始於微軟Windows系統上無壓縮的格式,,而Mac上的則是aiff,通常非常佔用磁碟空間。
有損壓縮之後的音頻文件通常會刪除掉一些人耳很難聽到的音頻信息,刪除部分取決於不同的有損編碼系統,比如通常128K比特率的mp3格式會刪除掉16kHz以上的頻率,而更高碼率的會相應來說切除掉更少的部分,基本上320K的就只會切除20K以上的部分信息了,所以聽起來會和無損差距不大。
通過Audition等軟體可以看到128K mp3頻譜圖中16kHz以上被削去。
標準的CD格式為16bit,44.1kHz,其中16bit就是音頻的振幅信息,也就是下圖中縱坐標,44.1kHz是時域信息,也就是下圖中橫坐標的信息量44,100樣本每秒,即橫坐標每秒鐘有44100條數據。
音頻文件就是告訴電腦這些數據在什麼時刻出現在什麼振幅位置來表達音頻信息。你可以簡單地認為振幅信息就是音量大小,反映在自然界就是喇叭上振膜的推拉幅度以及位置。(別忘了波形是可以疊加的)
實際的音頻文件如上圖,但縱坐標(-8~7)的區間內有65536層
播放音樂文件的過程也就是對於編碼後的音頻文件進行解碼的過程,播放器需要按照均勻的時間順序將音頻文件的振幅信息傳遞給DAC或叫Decoder(Digitalto Analog Converter數模轉換器),DAC需要做的工作就是按照時間順序把這些振幅信息轉換為電壓信息,一個理想的DAC需要在5.6Vpp的電壓區間內能夠表達出65536種不同的電壓信息,即2^16 = 65536(也就是16bit的音頻信息),那麼這個解碼晶元最精細需要至少可以表達出5.6Vpp/65536= 0.00008545v為一個單位區間的電壓,鑒於成本以及工藝原因,目前市面上許多的音頻晶元還不能達到這個標準,DAC的詳細解釋說明請關注之後的本系列文章。
回到這個話題,如果播放器不能把音頻文件按照標準的時間順序傳遞給DAC,專業領域我們稱之為Jitter,即時間抖動,如果播放器在1秒內把所有音頻文件傳遞給DAC,那麼你將會聽到爆音;如果一個3分鐘的歌曲在小於3分鐘的時間傳遞給DAC,那麼你將會聽到音頻被加速,效果則會是這個聲音頻率變高,男聲變女聲等;如果是一個不起眼的微小的時鐘誤差傳遞給DAC,(HiFi發燒友眼中是容不下一粒沙的)在不同的解碼系統中會造成不同的結果。通常的結果會是干擾數字濾波器,產生一些不耐聽的不順暢的齒音,造成聲音的不連貫不耐聽,通常來說一些國磚在宣傳時會提到Jitter,不妨留意一下他們的宣傳。
▌為什麼會用到44.1kHz 16bit這個格式?
前者是來源於奈奎斯特採樣定律,即如果想保留一個完整的頻率信息,至少需要以該頻率的2倍進行採樣。通常人耳最高可以聽到20kHz,所以採樣頻率必須高於40kHz,換言之,44.1kHz的採樣率就保證了這段音頻的信息可以到22050Hz,對於正常人類來說已經到達極限了。至於這個採樣率為什麼是44.1kHz以及視頻文件中的48kHz,那你就得去問索尼和飛利浦的工程師當年為什麼不湊個整。16bit則是因為擁有96.33 dB的信噪比,有足夠的解析度保證音頻信息足夠清晰,不至於被雜訊淹沒。當然今天錄音室的錄音標準遠超過16bit以及44.1kHz,但是最後放在CD里的仍然是這個標準,包括你在網易雲啊、Apple Music上啊下載的那些無損音樂也都是44.1kHz、16bit的規格。
▌【DSD& PCM】
當一個DAC收到來自播放器傳遞過來的數字音頻信息時,他需要做的就是解碼。其實整個解碼的過程是需要先把音頻文件從這44.1kHz的採樣信號提取出20kHz以內的有用的音頻信號,其中涉及到的數字濾波以及Dither技術我們下節講解。數字模擬轉換的過程就是將1010101這樣的數字信號變成對應的電壓信號,那麼其中的1就是接通開關,0就是斷開開關,「1010101」就是一個7bit的信息(因為有7位二進位數字)。而通常音頻DAC每秒要接收44100個16bit的音頻信息。
這是一個基本的3bitR-2R類型的DAC,通過不同的電阻之間的搭配組合可以輸出不同幅度的電壓,所以只需要通過控制電路控制這三個開關之間的組合就可以輸出不同類型的電壓。
當一個超過3bit的信號輸入進來時只需要丟掉LSB就可以保證輸出信號大致沒問題,只不過精度會差得多。這種R-2R類型的DAC固然好,但是如果想設計一個16bit甚至20bit以上的DAC就必須精準的控制其中的電阻,成本必然會非常高。
據說Analog Devices具有先封裝後採用激光調整電阻值的工藝可以提供非常精準的DAC器件。而且有些開關會產生一些glitch也就是毛刺,如何消除這類毛刺也是一門學問。由於參考源是直流電源,所以這類DAC對於供電也有比較嚴格的要求。當然有一種不惜成本的提升精度的方法就是一個DAC晶元只負責一半的音頻電壓信息,另一個DAC晶元負責另一半的音頻電壓信息,甚至你可以並聯更多的DAC,但電路是龐大的,成本是不計其數的,而且有可能會帶來交越失真。在這條路上走極致的公司有MSB Technology、Total DAC、Rockna Audio、Schiit Audio。
另一種解碼思路則是採用先微分再積分的手段,被稱之為Delta-Sigma架構,這類DAC普遍使用在當下的便攜設備中,由於它是一種另類思路,所以他基本上不需要如此複雜的解碼步驟,不需要這麼多開關,這麼多電阻,成本非常的低,並且這類DAC的總諧波失真參數非常好,但精度通常不高(一般只有5~6bit左右)。
了解Delta-SigmaDAC之前我們可能需要了解一下什麼是PDM、PWM調製。
如圖為一個基本的PWM調製過程,原始信號為紅色的B,調製後的藍色信號為PWM信號,PWM信號是如何記錄原始信號的呢?
打個比方,測量一排人的身高,0m,1.8m,1.8m,1.5m,1.6m,0m 這就是傳統的音頻文件或叫做PCM的記錄方式,而PWM則是0m,+1.8m,0m,-0.3m,+0.1m,-1.6m。沒錯,PWM只記錄了他們的變化量,而這個變化量記錄在時間坐標上佔用的空間大小被稱之為「占空比」。這個記錄過程被稱之為「求微分」的過程,如果反過來把PWM信號變為正常信號則是一個「求積分」的過程。而這個「求微分」的過程本身就是一種數學運算,可以通過計算機的數字電路完成,不需要特別多的開關、電阻等模擬器件。
把這樣一個PWM信號只需要通過一個脈衝開關發送出去,解碼出音頻信號只需要在後面加入一個LPF低通濾波器即可解碼出音頻信號,其實本質上也是一個積分器。
既然Delta-Sigma如此方便省錢,為何不推出一種格式,其本身就是PWM,連電腦計算都不需要做了,聰明的你肯定想到了索尼大法力推的DSD(Direct Stream Digital)格式。 DSD格式本質上就是一種PDM調製,和PWM的區別在於縱坐標沒有零刻度軸,只有一排方波。
索尼的DSD64格式號稱64倍於CD信息,我個人認為有點誇大其詞,但確實不可否認的是,DSD這種格式的橫坐標上每秒確實存在2822400個採樣點,如果CD格式的橫坐標上每秒只有44100個採樣點的話,時域上這麼密集數量的信息量,無論是真實的信息也好,電腦計算出來的信息也好,他們都實實在在的對於諧波信號有完美的抑制作用,畢竟無碼變有碼簡單,有碼變無碼可就難了。
你可以想想一下,當你看一個320FPS的視頻一定要比一個5FPS的視頻順暢,哪怕是插值的,或者圖像本身並不清晰,但它也是順暢的。所以DSD天生擁有極其乾淨的信號質量,也就意味著音頻質量可以更好。所以當你測量一個Delta-SigmaDAC或者DSD音頻的THD(總諧波失真)時,恐怕參數是極其恐怖的(千萬不要測CHORD Electronics家機器的THD參數)。
但是話說回來,這種音頻格式真的足夠優秀,取代傳統PCM格式么?不見得。
如果你按照「積分」的方式換算一下DSD64擁有多少bit信息你就會發現其中的問題。傳統CD格式的縱坐標有2^16 = 65536層振幅信息,如果以1/44100秒為單位,1秒為單位,CD格式永遠只有65536層振幅信息。
反觀DSD64,如果以1/44100秒為單位,2822400/44100 = 64倍,DSD64隻有6bit精度,也就是2^6= 64,如果以1秒為單位,DSD64則擁有接近21bit的精度,所以你發現其實DSD的精度是很難量化的,它與時間單位密切相關。但通常意義上,音頻格式以1/44100秒為基準,DSD64則實際有6bit的精度。
或許有人會說,提高PWM的頻率不就可以了嘛?DSD64的頻率是2.8Mhz,可以實現6bit,DSD128的頻率是5.6Mhz,可以實現7bit,DSD256的頻率是11.2Mhz,可以實現8bit,以此類推,實現16bit需要達到2.87Ghz,顯然無論對於計算器件以及開關器件的要求也是相當苛刻的。當然你也可以像並聯R-2R DAC那樣分散計算力,但總計算量是不變的。感興趣的朋友可以先看一下一個DSD64歌曲佔用多少磁碟空間。在這條路上走極致的典型公司有CHORD Electronics、dCS ring DAC、Esoteric
DSD格式的第二個缺點顯而易見,它永遠無法被編輯!
因為,嘛……顯而易見你是不可能編輯一連串方波的。
當然有些軟體可以把它們轉化為24bit 192khz等超級音頻格式後編輯,從而儘可能保證DSD音頻在編輯時沒什麼損失。
說到現有的音頻測量體系,其實嘛,並不完善。但至少那些容易測量的參數還是能起到很大輔助作用的。Audio Precision AP2700系列音頻測試儀是目前業界功能比較強大的音頻測試儀,對於普通音頻設計師來說已經足夠用了。如果你想測量一個DAC的精度?抱歉,現有的測量儀還不能快速的進行測量,通常精度有關的DAC參數為INL、DNL,感興趣的朋友們可以看一下如下鏈接:https://www.maximintegrated.com/en/app-notes/index.mvp/id/283
▼
戳圖片傳送至往期精彩
喜歡我們的推送別忘了點一個頂
向親朋好友推薦一下我們的文章
或者讚賞一下
我們下期再見啦!
TAG:極客灣 |