周三的時候,閑來無事,帶著兒子去逛附近的金源購物中心。我們從蔚小理,看到了特斯拉,居然在一群展車中間看到了大疆無人機(jī)的展臺,我就給他講一些無人機(jī)上面用的一些技術(shù)和原理,懂不懂的先聽幾個名詞,也許長大了就閉環(huán)了。
大疆創(chuàng)新 ,真的是對得起創(chuàng)新兩個字,在短視頻大行其道之時,它逆向了蘋果的 airpods 功能,創(chuàng)造了一個專業(yè)主播的專業(yè)錄音設(shè)備 -- ?無線麥克風(fēng)。沒錯,蘋果把兩個揚(yáng)聲器裝進(jìn)了一個充電盒里,大疆,將兩個麥克風(fēng)裝進(jìn)了充電盒里。
雖然我沒有使用過這個東西,可能它也不會像蘋果 AirPods 的降噪效果那么讓人震撼,但是為短視頻從業(yè)者提供這樣的一套設(shè)備,我覺得算是發(fā)明了一個好產(chǎn)品。然而,當(dāng)我看到它的展示牌上的參數(shù)時,突然就有一種要"嘲諷"雷布斯的沖動,我看到他的參數(shù)列表里重點(diǎn)寫了一項(xiàng) 32bit 浮點(diǎn)錄音,腦子里立刻就想起了雷布斯卡發(fā)布會的場景,多少萬種顏色的巨大阿拉伯?dāng)?shù)字從天而降,在地面上砸了一個大坑,濺起一團(tuán)煙霧。
作為一個程序員,看到 32bit 和浮點(diǎn),首先想到的就是 float 類型,單精度的 float 類型就是 32bit 的,我們使用 ADC 采樣出 32bit 整型,轉(zhuǎn)換成 float,再存儲(它的圖標(biāo)也是個 SD 存儲圖標(biāo))到內(nèi)存卡中,等到放音的時候,還是得先轉(zhuǎn)換成 32bit 整型輸出給 DAC。這個過程浮點(diǎn)還是定點(diǎn)有什么意義,這不是脫褲子放屁嗎?
另一個方面,對于無損音樂發(fā)燒友來說,44.1KHz 的采樣率,24bit 的采樣深度就足夠了,這里即便采樣深度提高到 32bit,人的耳朵也是無法分辨的,24bit以上往往是在玄學(xué)領(lǐng)域才能聽出差異。曾經(jīng)聽過發(fā)燒友在論壇里討論的一個帖子,大概是這樣:有一天,一群發(fā)燒友聚在一起要體驗(yàn)音樂,他們有用最高級的揚(yáng)聲器和功放以及原碟 CD。為首的老大哥整理了一下衣著,正襟危坐,煞有其事地戴上耳機(jī),表情極其威嚴(yán)。音樂開始在耳邊回蕩,老大哥細(xì)細(xì)的品味著,偶爾撅起嘴,嚼兩下咽了一口唾沫,最后摘下耳機(jī)說:今天這火電不純,摻了水電了,水位也不高,低音沉悶,高音不響亮。眾人聽后,肅然起敬。后來,圈里有人就琢磨,水電影響音質(zhì),火電也影響音質(zhì),干脆用電池,這樣的電就干凈了,可是鋰電池的爆發(fā)力不太夠,即便是 21700 的電芯放電倍率也不甚好。干脆,他自己開了一副模具,加大了電池的直徑和高度,設(shè)計(jì)了一款直徑 27cm,高 48cm 的圓柱形電池。第一次實(shí)驗(yàn)后,音樂的質(zhì)感仍然不夠令人滿意,于是這副模具就另做他用了,也算是沒白折騰。
后來,這哥們兒不死心,他認(rèn)為之前的電池還是小了,于是他看上了油桶,這個尺寸做出來的電池果然低音渾厚,高音清澈,一時間,眾多發(fā)燒友紛紛開始 DIY 油桶電池,以至于大部分油桶都被發(fā)燒友們買來做電池聽音,國際油價瘋狂飆漲。直到多年后,這件事情才被查清楚,原來世界上缺的不是油,缺的是油桶。一笑之后,咱們來看看這個 32bit 浮點(diǎn)錄音到底是什么,其實(shí)這是個音頻行業(yè)的技術(shù),也是一項(xiàng)標(biāo)準(zhǔn),跟雷老板還真不是一個套路。先亮出這個浮點(diǎn)數(shù)的格式:
32bit 的單精度浮點(diǎn)中,中間有 8 個 bit 是階數(shù),也就是指數(shù),它是一種科學(xué)計(jì)數(shù)法來表示的數(shù),直觀上不容易理解,但是計(jì)算機(jī)更容易理解。本質(zhì)上來說,從錄音到放音,AD 和 DA 都是 32bit 無差別,之所以使用浮點(diǎn)類型來存儲,是為了后期處理。我們先來看看不同的采樣深度可以存儲的音頻的動態(tài)范圍分別是多少。以 16bit 為例,對于 16bit 的 ADC 來說,我們可以把音頻信號分成 65536 個等級,那么最低音頻幅度為 1,最高為 65536。我們換算成 dB 來表示,如果將最大幅度定為?0dB
對應(yīng)的最小幅度為
因此,使用 16bit 定點(diǎn)來存儲音頻,最大可以錄制音頻的動態(tài)范圍為 96.3dB,顯然這樣的動態(tài)范圍其實(shí)是不能覆蓋自然界的音頻范圍的。以此類推,24bit 定點(diǎn)則可以表示 144.5dB 的動態(tài)范圍,假如沒有聲音是 0dB,最大聲音是 144.5dB,這個聲音是多么的大,也因此,24bit 成為了專業(yè)音頻領(lǐng)域應(yīng)用最廣泛的文件。但是地球上聲壓最大的差異可能達(dá)到 210dB,這要怎么辦呢?
32bit 的浮點(diǎn)表示法可以解決這個問題,同樣的,我們換算到 dB 值來看一下動態(tài)范圍32比特浮點(diǎn)可以表示的最小數(shù)字約為:
最大數(shù)字約為:
換算成 dB 為:
為什么同樣是 32bit,定點(diǎn)的動態(tài)范圍小,浮點(diǎn)的動態(tài)范圍就變大了呢?因?yàn)槎c(diǎn)的 32bit 是等距離排布的,而浮點(diǎn)的 32bit 是不等距的,在接近 0 的地方密一點(diǎn),在離 0 遠(yuǎn)的的地方就會放的稀疏。所以使用浮點(diǎn)數(shù)千萬不要計(jì)算太大的數(shù),精度不夠。接下來我們看看動態(tài)范圍變大了有什么好處。可以想象一個場景,我們準(zhǔn)備拍電影,既要能夠拍到兩個情人之間的耳語,還要清晰的錄制到他們之間一個TNT 突然爆炸瞬間的聲音。我們?yōu)榱寺牭蕉说那樵挘仨氄{(diào)高增益,錄制細(xì)微的聲音,突然炸彈爆炸,我們的增益來不及調(diào)整,一定會被削波。得到的波形就像下面這樣
即使我們想要在后期處理,也難以恢復(fù)出被消去的波形數(shù)據(jù),一定會導(dǎo)致音頻失真。反過來也一樣,我們調(diào)低了增益來錄制爆炸聲,然后馬上就要轉(zhuǎn)到兩個人局部的告別情話,人家就想小聲說,錄音師傅來不及調(diào)大增益,于是竊竊私語被淹沒 在了噪聲中,沒辦法回復(fù)。如果使用可以表示更大動態(tài)范圍的 32bit 浮點(diǎn)來存儲就不會有這個問題了。舉個例子,我們可以使用兩個放大器,一個低增益,一個高增益,同時錄制
然后使用 32bit 浮點(diǎn)來保存,這樣在后期音頻處理中就可以選擇性的重新調(diào)節(jié)增益,恢復(fù)出高聲壓或者低聲壓的部分。如此一來,錄音師傅省事了,打開按鍵直接錄,回頭在專業(yè)的音頻軟件里再臨時調(diào)整就可以了。不過要注意的是,處理完之后,要想在揚(yáng)聲器里面 播出來,還得是 24bit 的 DAC 給到功放在推動喇叭。所以,這個浮點(diǎn)本質(zhì)上是為了聲音的中期處理。大疆的這個宣傳并不是為了說明自己的采樣率高了,而是一個音頻行業(yè)的專業(yè)術(shù)語。如果是雷布斯也做一個,我猜想,他會說,地球上最大的聲音也不過 210dB,我們的xx 錄音寶可以錄制的最大聲音范圍可以達(dá)到 1528dB。