1.一種口語比對方法,其特征在于,方法包括:
S1:設置標準文本,獲取標準文本的標準語音特征,將標準語音特征儲存至數據庫中;
S2:通過用戶朗讀標準文本,獲取用戶語音數據,提取用戶語音數據中的用戶語音特征;
S3:將用戶語音特征與標準語音特征進行對齊,并將用戶語音特征與標準語音特征進行對比;
S4:將用戶語音特征及對比結果儲存至數據庫中。
2.根據權利要求1所述的口語比對方法,其特征在于,方法包括:
步驟S2還包括:
S21將用戶語音數據按時間進行分段,分為n段,以20ms為一時間分段,對每一時間段用戶語音數據加矩形窗,或漢明窗處理得到分段語音信號Xn,n為分段數;
S22對分段語音信號Xn進行短時傅里葉變換,變換為頻域信號,將短時時域信號轉化為頻域信號Yn,并通過Qn=│Yn│2計算其短時能量譜Qn;
S23采用先進先出的方式將短時能量譜Qn從矢量空間S移動至帶通濾波器進行濾波;由于每一個頻帶中分量的作用在人耳中是疊加的,因此將每個濾波器頻帶內的能量進行疊加,這時第k個濾波器輸出功率譜x'(k);
S24將每個濾波器的輸出取對數,得到相應頻帶的對數功率譜;并進行反離散余弦變換,得到M個MFCC系數,一般M取13~15個;MFCC系數為:
S25將得到的MFCC特征作為靜態特征,再將所述靜態特征做一階和二階差分,得到相應的動態特征。
3.根據權利要求1所述的口語比對方法,其特征在于,方法包括:
步驟S2還包括:
獲取每一語音段頻率范圍的頻譜能量(fk),該語音段內的頻率上限值k1,下限值k2,獲取語音段內的頻譜能量比值PNn;
4.根據權利要求1所述的口語比對方法,其特征在于,方法包括:
步驟S3還包括:
若語音段內頻譜能量(fk)≥第一閾值,該語音段內頻譜能量比值PNn≥第二閾值,則判斷此語音段為母音段;第一閾值0.1-0.5,第二閾值取60%-85%;
以具有母音段的頻譜能量為基準,判斷具有母音段的頻譜能量之前的頻譜能量的過零率是否大于第三閾值,若大于第三閾值,則斷定該頻譜能量為母音前的輔音,第三閾值取100;
以具有母音段的頻譜能量為基準,判斷具有母音段的頻譜能量之后的頻譜能量的過零率是否大于第三閾值,若大于第三閾值,則判斷該頻譜能量為母音后的輔音;
若具有母音段的頻譜能量之后的頻譜能量的過零率大于第三閾值,且該頻譜能量為語音段的最后一幀,則判斷為鼻尾輔音。
5.根據權利要求4所述的口語比對方法,其特征在于,方法包括:
步驟S1還包括:
將標準語音特征按時間進行分段,分為n段,以20ms為一時間分段;
將每一時間段標準語音特征分為靜態特征及動態特征;
將每一時間段標準語音特征的頻譜能量進行分解,分解出每一時間段標準語音特征的母音段的頻譜能量分布以及輔音段的頻譜能量分布;
設置每一時間段內標準語音特征的母音段MFCC特征向量,輔音段MFCC特征向量。
6.根據權利要求5所述的口語比對方法,其特征在于,方法包括:
步驟S3還包括:
設置每一時間段內用戶語音特征的母音段MFCC特征向量,輔音段MFCC特征向量;
使用DTW算法,得到一條誤差最小的對齊路徑以,得到一條誤差最小的對齊路徑和對應的DTW距離;
基于該對齊路徑和對應的DTW距離,將相同時間段內用戶語音特征的母音段MFCC特征向量與標準語音特征的母音段MFCC特征向量進行語音比較以及將相同時間段內用戶語音特征的輔音段MFCC特征向量與標準語音特征的輔音段MFCC特征向量進行語音比較,得出用戶語音特征與標準語音特征之間的發音差別。
7.根據權利要求5所述的口語比對方法,其特征在于,方法包括:
步驟S1還包括:
設置每一時間段內標準語音特征的母音段標準語音特征向量為P1=[p1(1),p1(2),…,p1(R)],一階差分向量為PΔ1=[pΔ1(1),pΔ1(2),…,pΔ1(R)](R為標準語音特征的母音段語音長度),PΔ1(n)=|p1(n)-p1(n-1)|,n=1,2,…,R,p1(0)=0;
設置每一時間段內標準語音特征的輔音段標準語音特征向量為P’1=[p’1(1),p’1(2),…,p’1(R)],一階差分向量為P’Δ1=[p’Δ1(1),p’Δ1(2),…,p’Δ1(R)](R為標準語音特征的語音長度),P’Δ1(n)=|p’1(n)-p’1(n-1)|,n=1,2,…,R,p’1(0)=0。
8.根據權利要求7所述的口語比對方法,其特征在于,方法包括:
步驟S3還包括:
設置每一時間段內用戶語音特征的母音段特征向量為P2=[p2(1),p2(2),…,p2(T)],其一階差分向量為PΔ2=[pΔ2(1),pΔ2(2),…,pΔ2(T)](T為待評價語音的長度),PΔ2(n)=|p2(n)-p2(n-1)|,n=1,2,…,T,p2(0)=0;
設置每一時間段內用戶語音特征的輔音段特征向量為P’2=[p’2(1),p’2(2),…,p’2(T)],其一階差分向量為P’Δ2=[p’Δ2(1),p’Δ2(2),…,p’Δ2(T)](T為待評價語音的長度),
P’Δ2(n)=|p’2(n)-p’2(n-1)|,n=1,2,…,T,p’2(0)=0;
使用DTW算法,得到一條誤差最小的對齊路徑以,得到一條誤差最小的對齊路徑,進行每一時間段內的母音段和輔音段比較;
比較得出母音段的差距dp,以及變化量的差距Δdp,比較得出輔音段的差距d’p,以及變化量的差距Δd’p,來獲得用戶語音特征與標準語音特征的相似度,即:
dp=|p1(n)-p2(m)|
d’p=|p’1(n)-p’2(m)|
Δdp=|Δp1(n)-Δp2(m)|
Δd’p=|Δp’1(n)-Δp’2(m)|
其中,Δpi(n)=|pi(n)-pi(n-1)|
Δp’i(n)=|p’i(n)-p’i(n-1)|。