本發(fā)明屬于聲紋識別,特別涉及一種用于深度學習說話人驗證的分數(shù)域特征提取方法、設備及介質。
背景技術:
1、說話人驗證屬于聲紋識別領域范疇,即給定兩個音頻,判定它們是否為同一個人所說。傳統(tǒng)的說話人驗證系統(tǒng)主要依賴于從語音信號中提取特征來表示說話人的身份信息。常用的特征提取方法包括濾波器組特征(fbank)和梅爾頻率倒譜系數(shù)(mfcc)。fbank特征通過模擬人耳的聽覺特性,使用一組濾波器來分析語音信號的頻譜能量分布。mfcc則在fbank的基礎上進行了進一步的處理,通過離散余弦變換(dct)來降低特征之間的相關性。這些方法雖然在實踐中證明了其有效性,但仍然存在一些局限性,如難以充分捕捉語音信號中的細微差異和動態(tài)特征。
2、近年來,深度學習技術在語音處理領域取得了顯著進展。卷積神經網絡(cnn)和時延神經網絡(tdnn)等模型被廣泛應用于說話人驗證任務中。cnn通過其局部連接和權值共享的特性,能夠有效地學習語音信號的時頻結構。tdnn則通過考慮輸入特征的時間依賴關系,更好地捕捉語音的動態(tài)特征。這些深度學習模型在一定程度上提高了系統(tǒng)的性能,但仍然面臨著如何更有效地提取和利用語音信號中的豐富信息的挑戰(zhàn)。
技術實現(xiàn)思路
1、本發(fā)明的目的在于提供一種用于深度學習說話人驗證的分數(shù)域特征提取方法,能夠利用多階次的分數(shù)階窗函數(shù)提供比傳統(tǒng)特征更靈活和全面的信息,在時頻平面上提供更豐富的信號表示,將這種分數(shù)域特征與現(xiàn)有的深度學習模型結合有潛力揭示傳統(tǒng)方法難以捕捉的語音信號微妙特征。
2、為達到上述目的,本發(fā)明采用的技術方案是:
3、一種用于深度學習說話人驗證的分數(shù)域特征提取方法,包括以下步驟:
4、s1、對語音信號進行預加重增強高頻部分;
5、具體的,選0.97的預加重系數(shù)進行如下預加重:
6、x(t)=x0(t)-0.97*x0(t-1)
7、其中為x0(t)原始語音信號,x(t)為預加重后語音信號;
8、s2、對選定窗函數(shù)分別使用提取自分數(shù)階傅里葉變換的n個不同階數(shù)的調制因子獲取分數(shù)階窗函數(shù);
9、具體的,所述分數(shù)階傅里葉變換表示為:
10、
11、核函數(shù)kp(t,u)可表示為
12、
13、其中時頻面的旋轉角度
14、對核函數(shù)公式做變換,并使用窗函數(shù)w(t)加窗,得到
15、
16、所述分數(shù)階窗函數(shù)由原窗函數(shù)與調制因子結合得到,表示為:
17、
18、具體的,w(t)為漢明(hamming)窗表示為:
19、
20、窗函數(shù)長度n=400;
21、階數(shù)分別為p1=1,p2=0.8,p3=0.6,p4=0.4,p5=0.2;
22、s3、對每一語音信號分別使用5個不同階數(shù)的分數(shù)階窗函數(shù)獲取功率譜頻譜圖;
23、對所得功率譜頻譜圖,提取m維濾波器組(fbank)特征;
24、所述5個分數(shù)階窗函數(shù)的階數(shù)為p1=1,p2=0.8,p3=0.6,p4=0.4,p5=0.2;
25、具體的,提取功率譜頻譜圖步驟包括以下步驟:
26、分幀:將輸入語音信號分割為有重疊的片段,片段長度與窗函數(shù)長度一致;
27、加窗:每幀語音信號分別使用5個不同階次的分數(shù)階窗函數(shù)加窗;
28、執(zhí)行快速傅里葉變換,對每一幀進行快速傅里葉變換,將時域信號轉換為頻域;計算功率譜;取快速傅里葉變換結果的模的平方,然后除以信號長度進行歸一化;
29、生成頻譜圖:將每一幀的頻譜按時間順序排列,形成二維的頻譜圖;
30、所述提取功率譜密度表示為:
31、
32、每一語音信號分別使用5個不同階次的分數(shù)階窗函數(shù)加窗;
33、s4、對功率譜頻譜圖,使用m維梅爾濾波器組并取對數(shù)提取濾波器組(fbank)特征;
34、具體的,每個功率譜頻譜圖提取一個m維fbank特征,即建立語音信號個數(shù)×n個m維fbank特征;
35、所述fbank特征表示為:
36、
37、其中hl[k]為80維梅爾濾波器組,l=1,2,...,80表示梅爾濾波器序號索引,m=1,2,...,t表示時間維的索引,r為幀移,∈為極小的正數(shù),用于避免取對數(shù)時出現(xiàn)零或負值
38、根據(jù)每一語音信號的n個功率譜頻譜圖提取fbank特征,包括以下步驟:
39、對所述功率譜頻譜圖應用梅爾濾波器組hl[k];這些濾波器在梅爾頻率尺度上均勻分布的,模擬了人耳對不同頻率的敏感度;l=1,2,...,l表示梅爾濾波器序號索引;
40、s5、對n個fbank特征分別加權,并用softmax激活函數(shù)限制權重總和不變;
41、具體的,所述對n個fbank特征分別加權,并用softmax激活函數(shù)限制權重總和不變,包括以下步驟:
42、對每組特征進行零均值化處理;即對每組特征減去其均值,使得特征的均值為0,特征的分布中心對齊到零點;
43、初始化權重參數(shù);為n個fbank特征分別初始化原始權重參數(shù);
44、共初始化5個原始權重參數(shù)w1,w2,w3,w4,w5,初始值均設為1.0;
45、使用softmax激活函數(shù)限制權重:將原始權重參數(shù)堆疊成一個向量后,使用softmax函數(shù)對該向量進行歸一化,并乘以原始權重數(shù)量,確保權重總和恒定;乘以5以確保權重總和恒定為5;所述softmax函數(shù)表示為:
46、
47、s6、對n個加權fbank特征,按階次從高到低在時間維上串聯(lián)拼接為一個多窗分數(shù)階fbank特征,使用該特征輸入深度學習模型進行訓練;
48、具體的,所述對n個加權fbank特征,按階次從高到低在時間維上串聯(lián)拼接為一個多窗分數(shù)階fbank特征,表示為:
49、c[l,m]=5·softmax[w1·f1[l,m];w2·f2[l,m];w3·f3[l,m];w4·f4[l,m];w5·f5[l,m]]
50、具體的,使用該多窗分數(shù)階fbank特征輸入深度學習模型進行訓練包括以下步驟:
51、選定模型:選定tdnn模型和ecapa-tdnn模型分別搭配傳統(tǒng)fbank特征和所述多窗分數(shù)階fbank特征進行訓練;
52、設定訓練超參數(shù):輸入語音信號片段長度為200ms,最大訓練輪數(shù)(epoch)為max_epoch=100,批次大小為batch_size=64;采用adam優(yōu)化器,權重衰減為weight_decay=1e-4,學習率衰減策略為預熱余弦退火;
53、選定訓練集數(shù)據(jù):選取voxceleb1語音數(shù)據(jù)集作為訓練集;
54、輸入特征進行訓練:設置一個布爾型標志freeze_weights,初始值為false,用于控制權重是否可更新,并初始化一個固定權重向量fixed_weights:根據(jù)當前訓練epoch決定是否更新權重,如果當前輪次小于或等于預設閾值10,則允許更新權重,否則,凍結權重更新:將計算得到的權重值更新到fixed_weights中,當權重被凍結時,直接使用fixed_weights作為當前權重:在訓練初期允許權重自由調整,而在訓練后期固定權重。
55、本發(fā)明利用n個不同階數(shù)的分數(shù)階窗函數(shù)引入分數(shù)階信息,能夠提取多角度的時頻域特征,并利用可學習參數(shù)權重自適應的確定不同段特征的重要性,能夠便捷的與更有效的進行說話人驗證。