嵌入式語音信號處理入門篇

剛接觸語音信號處理,是從下面這幾個概念開始的,這幾個概念明白了,基本上也就明白原始的語音信號是什麼,也就是知道我們要處理啥樣的信號了。
等這篇文章的內容明白後,就可以開始進入正題。

PCM和WAV

PCM(Pulse Code Modulation----脈碼調製錄音)。所謂PCM錄音就是將聲音等模擬信號變成符號化的脈衝列,再予以記錄。PCM信號是由[1]、[0]等符號構成的數字信號,而未經過任何編碼和壓縮處理。與模擬信號比,它不易受傳送系統的雜波及失真的影響。動態範圍寬,可得到音質相當好的影響效果。

WAV是由微軟開發的一種音頻格式。WAV符合 PIFF Resource Interchange File Format規範。所有的WAV都有一個文件頭,這個文件頭音頻流的編碼參數。WAV對音頻流的編碼沒有硬性規定,除了PCM之外,還有幾乎所有支持ACM規範的編碼都可以爲WAV的音頻流進行編碼。很多朋友沒有這個概念,我們拿AVI做個示範,因爲AVI和WAV在文件結構上是非常相似的,不過AVI多了一個視頻流而已。我們接觸到的AVI有很多種,因此我們經常需要安裝一些Decode才能觀看一些AVI,我們接觸到比較多的DivX就是一種視頻編碼,AVI可以採用DivX編碼來壓縮視頻流,當然也可以使用其他的編碼壓縮。同樣,WAV也可以使用多種音頻編碼來壓縮其音頻流,不過我們常見的都是音頻流被PCM編碼處理的WAV,但這不表示WAV只能使用PCM編碼,MP3編碼同樣也可以運用在WAV中,和AVI一樣,只要安裝好了相應的Decode,就可以欣賞這些WAV了。
在Windows平臺下,基於PCM編碼的WAV是被支持得最好的音頻格式,所有音頻軟件都能完美支持,由於本身可以達到較高的音質的要求,因此,WAV也是音樂編輯創作的首選格式,適合保存音樂素材。因此,基於PCM編碼的WAV被作爲了一種中介的格式,常常使用在其他編碼的相互轉換之中,例如MP3轉換成WMA。

簡單一句,PCM就是沒有壓縮的格式。

採樣頻率、量化精度(採樣位數)和聲道數

採樣頻率是設備一秒鐘內對模擬信號的採樣次數,在主流的採集卡上分爲:(8Khz的電話採樣率就可以達到人的對話程度)

22.05KHz:無線電廣播;
44.1KHz:音頻 CD,MP3等;
48KHz:miniDV、數字電視、DVD、電影和專業音頻。

人耳能夠感覺到的最高頻率爲20kHz,要滿足人耳的聽覺要求,則需要每秒進行40k次採樣,即40kHz。我們常見的CD採樣率爲44.1kHz。(也比如我對接過硬件的揚聲器最高是16KHz,則手機MIC採樣率就不用太高,節省傳輸帶寬)
採樣位數比如8bit(現在少見)、16bit(常用)和24bit,指的是描述數字信號所使用的位數。

聲道數:聲音在錄製或播放時在不同空間位置採集或回放的相互獨立的音頻信號。
單聲道 採樣數據爲8位的短整數(short);
雙聲道 採樣數據爲16位的整數,(int),高八位(左聲道)和低八位(右聲道)分別代表兩個聲道。
[時長]s * [採樣率]Hz * [採樣位數]bit * [聲道數] / 8 = [文件大小]byte

某音頻信號是採樣率爲8kHz、聲道數、位寬爲16bit,時長爲1s,則音頻數據的大小爲:

1 * 8000 * 16 *2 = 256000 bit / 8 = 32000 byte / 1024 = 31.25 KB

WAV頭

隨便找個WAV的文件,打開後,看下前44byte的頭,知道音頻的結構後,就知道原始數據的含義,方便後面進行處理。具體含義可以查看下面這張經典圖。
WAV頭(44byte)

結束語

等知道了上面的內容後,我們就可以開始從讀取一個WAV文件開始,解析頭文件,然後把原始數據作爲輸入,跑各種信號處理的算法啦!

發佈了8 篇原創文章 · 獲贊 4 · 訪問量 1620
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章