1. 程式人生 > >對音訊概念的理解

對音訊概念的理解

引言

在進行音訊開發的時候,往往會涉及到一些音訊的專業名詞。初看的時候感覺好像是懂的,但是在進行開發的時候,有好些引數卻不知道為什麼這麼設定。
下面就好好的看看,他們的具體含義。

重要引數

  • 取樣頻率:每秒採集資料的次數
  • 取樣位數:每次採集資料的位數
  • 語音編碼(format):語音編碼指語音資料儲存和傳輸的方式
  • 聲道(sound chanel):聲音在錄製時在不同空間位置採集的相互獨立的音訊訊號
  • 幀:音訊幀跟編碼格式相關,它是各個編碼標準自己實現的
  • 週期:音訊裝置一次處理所需要的幀數,對於音訊裝置的資料訪問以及音訊資料的儲存,都是以此為單位。
  • 通道數: 即聲音的通道的數目。常有單聲道和立體聲之分

取樣頻率

正常人聽覺的頻率範圍大約在20Hz~20kHz之間,
根據奈奎斯特取樣理論(2倍),為了保證聲音不失真,取樣頻率應該在40kHz左右。(取樣頻率必須大於等於音訊訊號的最大頻率的兩倍,記住,是最大頻率。)
目前語音識別服務只支援16000Hz和8000Hz兩種取樣率,其中8000Hz一般是電話業務使用,其餘都使用16000Hz。
22050 的取樣頻率是常用的,44100已是CD音質。

  1. 44100 Hz - 音訊 CD, 也常用於 MPEG-1 音訊(VCD,SVCD,MP3)所用取樣率
  2. 48000 Hz - miniDV、數字電視、DVD、DAT、電影和專業音訊所用的數字聲音所用取樣率
  3. 8000 Hz - 電話所用取樣率, 對於人的說話已經足夠
  4. 22050 Hz - 無線電廣播所用取樣率

取樣位數

即取樣值或取樣值(就是將取樣樣本幅度量化)。它是用來衡量聲音波動變化的一個引數,也可以說是音效卡的解析度。它的數值越大,解析度也就越高,所發出聲音的能力越強。
每個取樣資料記錄的是振幅, 取樣精度取決於取樣位數的大小:

  • 1 位元組(也就是8bit) 只能記錄 256 個數, 也就是隻能將振幅劃分成 256 個等級;
  • 2 位元組(也就是16bit) 可以細到 65536 個數, 這已是 CD 標準了;
  • 4 位元組(也就是32bit) 能把振幅細分到 4294967296 個等級, 實在是沒必要了.

我們首先要知道:電腦中的聲音檔案是用數字0和1來表示的。
連續的模擬訊號按一定的取樣頻率經數碼脈衝取樣後,每一個離散的脈衝訊號被以一定的量化精度量化成一串二進位制編碼流,這串編碼流的位數即為取樣位數,也稱為量化精度。

我們定義0dB為峰值,通過計算 CD音訊可的動態範圍就是"-96dB~0dB。"
每一個位元大約可以記錄6分貝的聲音。
我們常見的16Bit(16位元),可以記錄大概96分貝的動態範圍(有計算公式)。

- Bit意為"位"或"位元",是計算機運算的基礎;
- Byte意為"位元組",是計算機檔案大小的基本計算單位;
- 1byte=8bits,兩者換算是1:8的關係。
- 兩個位元組一個漢字,16bit=1個漢字

位深度較高時,精度就越高,可以記錄更寬的音域

幀記錄了一個聲音單元,其長度為樣本長度(取樣位數)和通道數的乘積。

假設音訊取樣率 = 8000,取樣通道 = 2,位深度 = 16,取樣間隔 = 20ms

首先我們計算一秒鐘總的資料量,取樣間隔採用20ms的話,說明每秒鐘需採集50次,這個計算大家應該都懂,那麼總的資料量計算為

一秒鐘總的資料量 =8000 * 2*16/8 = 32000
所以每幀音訊資料大小 = 32000/50 = 640
每個通道樣本數 = 640/2 = 320

位元率

每秒的傳輸速率(位速, 也叫位元率)。如705.6kbps 或 705600bps, 其中的 b 是 bit, ps 是每秒的意思,表示每秒705600bit的容量。

非交錯模式

首先記錄的是一個週期內所有幀的左聲道樣本,再記錄所有右聲道樣本。

通道數

通道數的增加,音訊大小會將近翻倍。