語音信號處理(1):男女聲在線識別系統(倒譜、基音頻率)

   語音信號處理是挺有意思的,尤其是在人工智能橫行的今天。不過就我看來,現在整個社會上明顯對人工智能的作用過於誇大了,大多數寫報道和搞炒作宣傳的人基本不懂人工智能。塵世若此,其實又何止是在人工智能上呢!
   當然本文和人工智能沒有半毛錢的關係,是基於Matlab設計了一個男女聲在線識別系統,挺簡單的,不過最後達到的效果還是比較理想的,源代碼【點擊這裏下載】

男女聲識別原理

   衆所周知,一般女聲的音調比男聲的音調高,這種不同主要是反應在基音頻率(pitch frequency)上。所以本文識別男女聲主要利用男女聲基音頻率(pitch frequency)的高低。


   一般女聲的基音頻率高於男聲,常見的男女聲基音頻率大致分佈範圍如下圖所示。提取基音頻率比較常用的方法就是倒譜(cepstrum),它是常見的信號處理方法,這裏不再過多贅述。


系統結構

   聲音信號具有短時平穩性,我們認爲在10~50ms的數據長度上聲音信號是平穩信號,所以可以分幀然後用平穩信號的處理方法進行處理。首先就是分幀操作(這裏取40ms幀長,20ms幀移),加窗後求倒譜,根據倒譜便可以求解出基音頻率。整個系統流程圖如下:

運行結果

   實驗測試結果如下,GUI顯示判定的性別結果“Man”或者“Woman”(注意:只有濁音纔會有基音頻率,清音(如:p、pa等)沒有。所以測試時,請發濁音),實測準確率可以達到90%以上。如果想達到更高的準確率,可以再去研究機器學習相關的方法。


   最後再附源代碼【點擊這裏下載】

   enjoy!是以爲記!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章