語音識別 三維語譜圖
時頻幅三維圖
圖1
圖2
圖3
數據處理過程
- 使用基於線性相關系數的基音周期提取算法計算出准確的基音周期;
- 在分析點取整周期對應的樣點數據為一幀;
- 為提高頻率分辨率,將一幀單周期數據重復拼接到多於1024個點(8K采樣);
- 進行1024點加窗FFT,取模得到單幀的頻譜;
- 以幀號(時間)為x軸,頻率為y軸,幅度為z軸作圖(圖1);
- 同第5,以顏色表示幅度即為圖2,也就是細化了的__語譜圖__。
結論
以下結論為個人論斷,僅供參考
1、漢語語音的濁音部分(韻母)具有清晰簡明的頻譜結構;
2、漢語發音音節(濁音)的頻率和幅度隨時間__連續__變化;
2.1 由圖2可知單音節頻率隨時間連續變化,但是可能存在平穩-過渡兩種狀態。如圖中“8”。
2.2 圖3中幅值的跳躍個人認為是DFT頻譜泄漏和計算誤差造成,真實的幅度應該具有連續性。
3、基音頻率的變化即為漢語的音調,對頻率變化曲線作聚類分析能夠得到各音調的典型模式;
4、對語音幀的頻譜結構作聚類分析能夠得到漢語語音的基本音節(韻母)。
后記
個人對語音識別和智能機器人非常感興趣。
這幾篇語音處理博客是本人近期的業余學習成果,淺顯外行不成系統,與初學者共勉。
至此,漢語韻母的語音特性,我認為上述時頻幅數據已經可以作為識別的數學依據了。聲母(清音)的特性還需要另行提取。
這篇博文的Matlab代碼已經丟失。
后來用Python實現了一個特定人孤立詞識別的簡單演示程序:
演示視頻:https://www.bilibili.com/video/BV1b54y1B7ne?from=search&seid=12613039173403878744
python代碼:https://gitee.com/hedgehogli/SimpleOffLineASR_Demo_sw