音頻基礎知識
小時候看電視、聽廣播就在想,這裡面的人在哪藏着呢,那麼小的空間,咋藏的呢,他也不出來,就在裡面瞎BB。直到後來我入了計算機的坑,才發現萬事萬物皆01。
經過後來了解,發現一個聲音源要變成 01 資料需要經過以下幾個過程。
自然聲波->模拟信号->數字信号
自然聲波->模拟信号
當我們說話時,麥克風會将自然聲波處理轉換成為聲音的模拟信号。
麥克風一般分為以下兩種:
-
電磁式話筒
當有聲音傳人時,由于震動線圈在磁場運動産生微弱電壓,這個微弱電壓是随聲音大小而變化;這個微弱電壓經過放大後再到音響還原我們的聲音
-
電容式話筒
利用聲音的大小産生忽變的壓降然後經過放大到功放還原我們的聲音
這部分處理我們一般不用關心,都是比較标準的流程,而且處理流程通過軟體無法幹預。我們隻需要關心從模拟信号到數字信号這部分的轉換
模拟信号->數字信号
模拟信号一般通過脈沖編碼調制(Pulse Code Modulation,PCM)方法轉換為數字信号,這部分轉換過程是我們可以通過相關參數進行配置的。
信号轉化一共包含三個步驟:
-
采樣:
模拟信号本身是一種連續信号,它在一定的時間範圍内可以有無限多個不同的取值。而數字信号是指在取值上是離散的、不連續的信号。所謂的采樣,就是将一段時間内的連續信号轉為離散信号
-
量化:
采樣得到後的資料,我們用多少位的二進制數字來表示聲音的振幅。例如使用 16 比特的二進制信号來表示一個聲音的采樣,而 16bit 能表示的範圍是: [-32768, 32767],一共有 65536 個取值
-
編碼
将采樣量化後的資料按照一定的格式進行記錄,比如順序儲存或者壓縮儲存
模拟信号轉化參數
我們可以控制模拟信号到數字信号轉換的相關參數,進而控制信号間轉換的品質。
模拟信号到數字信号的相關參數:
-
采樣率
将模拟信号轉為數字信号時,需要隔一定的時間對模拟信号進行一個采樣,然後将這個采樣用 01 來表示,也就是數字化的過程。 采樣率表示,1S 内,對模拟信号進行多少次采樣。采樣頻率越高,說明采樣點之間越密集,記錄這段音頻所用的資料量就越大, 是以音質也就越好。
為了保證聲音不失效,我們采樣率通常設定為 44100Hz。常用的音頻采樣頻率有:8kHz、11.025kHz、22.05kHz、16kHz、37.8kHz、44.1kHz、48kHz、96kHz、192kHz 等
-
量化精度
對于一個采樣點,需要用二進制數字來表示,這個二進制的精度可以是:4bit、8bit、16bit、32bit。 位數越多,表示的聲音就越精細,聲音的品質就越好。不過資料量也會變大。常見的位寬:8bit,16bit。
-
聲道數
聲道數一般表示聲音錄制時的音源數量或回放時相應的揚聲器數量。常用的有:單通道和雙通道。
音頻基礎知識音頻基礎知識 -
幀間隔
音頻不像視訊那樣,有一幀一幀的概念。它是約定一個時間為機關,然後這個時間内的資料為一幀,這個時間被稱為采樣時間。這個時間沒有特别的标準,要看具體的編解碼器。
相關推薦
音頻基礎知識
Android 音頻錄制-MeidaRecord
Android 音頻錄制-AudioRecord
Android 音頻錄制-OpenSL ES