王現(xiàn)彬,楊潔,賈英茜,饒立嬋(石家莊學(xué)院物理與電氣信息工程學(xué)院,河北石家莊050035)
?
【物理學(xué)研究】
基于MATLAB的說話人識(shí)別系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
王現(xiàn)彬,楊潔,賈英茜,饒立嬋
(石家莊學(xué)院物理與電氣信息工程學(xué)院,河北石家莊050035)
借助語音增強(qiáng)、基音頻率分析和共振峰分析,設(shè)計(jì)了簡(jiǎn)單的說話人識(shí)別系統(tǒng).在識(shí)別過程中以平均基音頻率、共振峰峰值位置作為兩種評(píng)價(jià)標(biāo)準(zhǔn),交互印證,最終實(shí)現(xiàn)了說話人的身份辨認(rèn).
基音頻率;共振峰;說話人識(shí)別;MATLAB
人類語音信號(hào)可對(duì)受眾提供多重信息:首先可通過字、詞來傳遞消息,其次可將說話人的感情、性別等信息傳遞出來,同時(shí)在語音信號(hào)里也暗含了說話人的身份信息[1-4].語音識(shí)別的目的在于識(shí)別說話人所表達(dá)出來的詞匯,而說話人識(shí)別的功能是通過提取、表征并識(shí)別語音信號(hào)中的特征以驗(yàn)證說話人的身份.根據(jù)說話人說話內(nèi)容可分為“與文本無關(guān)”、“與文本相關(guān)”及“文本提示型”的說話人識(shí)別;依據(jù)其應(yīng)用范圍又可分為說話人確認(rèn)(Speaker Verification)和說話人辨認(rèn)(Speaker Identification)[5].說話人確認(rèn)就是要通過某種適當(dāng)?shù)呐袛鄿?zhǔn)則以確定說話人是否是所聲稱的說話人,而說話人辨認(rèn)不但要確認(rèn)是否是所聲稱的說話人,還要確認(rèn)到底是誰.近年來隨著數(shù)字信號(hào)處理(DSP)技術(shù)的進(jìn)步,說話人識(shí)別技術(shù)得到了迅猛發(fā)展,使其在身份鑒別、電話銀行、電話購物、語音E-mail等互聯(lián)網(wǎng)及通信領(lǐng)域得到了一定的應(yīng)用.
借助基音頻率(周期)分析和共振峰分析,以基音和共振峰作為說話人語音信號(hào)的特征參數(shù),通過分析平均基音頻率和共振峰矢量差,在MATLAB平臺(tái)上設(shè)計(jì)了一套簡(jiǎn)單的說話人識(shí)別系統(tǒng),達(dá)到了識(shí)別說話人的目的,而該說話人識(shí)別算法可以為更為復(fù)雜的說話人識(shí)別系統(tǒng)的實(shí)現(xiàn)提供基本參考.
設(shè)計(jì)過程包括語音信號(hào)時(shí)域分析、語音信號(hào)增強(qiáng)、基音頻率(周期)分析、共振峰分析、結(jié)果識(shí)別等步驟,現(xiàn)分別加以說明.
在語音信號(hào)時(shí)域分析階段,主要是借助MATLAB強(qiáng)大的數(shù)值計(jì)算能力及圖形顯示能力,觀測(cè)語音信號(hào)的時(shí)域波形,圖1給出了語音信號(hào)為“物電學(xué)院”的語音信號(hào)波形記為s0.該語音信號(hào)可以借助Windows自帶的“錄音機(jī)”軟件來進(jìn)行語音信號(hào)的錄制.通過觀測(cè)圖1可以看出,在語音信號(hào)波形當(dāng)中夾雜著一些噪聲,這主要是由聲音采集設(shè)備所引入的.
圖1 帶有噪聲的語音信號(hào)s0
由于語音信號(hào)中含有噪聲,故在識(shí)別前需對(duì)語音信號(hào)進(jìn)行語音增強(qiáng),以降低、抑制噪聲對(duì)語音信號(hào)的影響,從而提高后續(xù)說話人識(shí)別的正確率.在該部分采用巴特沃斯(Butterworth)低通濾波器進(jìn)行噪聲的濾除,以達(dá)到語音信號(hào)增強(qiáng)的目的.所選用的Butterworth低通濾波器幅度平方函數(shù)如式(1)所示[6]:
其中Ωc為通帶截止頻率,N為濾波器階數(shù),在仿真時(shí)選取N=4.經(jīng)過該濾波器濾波后,語音信號(hào)得到了有效增強(qiáng).
為了進(jìn)行說話人識(shí)別,必須找出說話人的語音特征,基音頻率和共振峰都可作為說話人的語音特征來使用.基音頻率為聲帶振動(dòng)時(shí)的頻率,相應(yīng)的周期即為基音周期,基音頻率與個(gè)人聲帶、發(fā)音習(xí)慣等特征息息相關(guān).而共振峰也可反應(yīng)出說話人的語音特征,其參數(shù)包括共振峰頻率、共振峰頻帶寬度及共振峰幅度,一般認(rèn)為共振峰包含在語音信號(hào)的頻譜中,即頻譜包絡(luò)中的峰值為共振峰.
常用的基音周期估計(jì)方法包括時(shí)域估計(jì)法、變化法和混合法.而在時(shí)域估計(jì)法中較為常用的是采用自相關(guān)進(jìn)行基音周期估計(jì),再進(jìn)行換算繼而求出基音頻率.式(2)為能量受限的語音信號(hào)x(n)的短時(shí)自相關(guān)函數(shù):
其中x(n)為語音信號(hào),u(i)為窗函數(shù),保證語音信號(hào)為短時(shí)且能量受限.在短時(shí)自相關(guān)函數(shù)中周期位置處表現(xiàn)為峰值,這樣相鄰的兩個(gè)峰值之間的距離即為基音周期,而基音周期的倒數(shù)則為基音頻率.圖2給出了s0的基音頻率在不同時(shí)間處的表現(xiàn)形式,其平均基音頻率為239.3 Hz,在說話人識(shí)別過程中,可用該平均值作為s0的特征進(jìn)行比對(duì),以達(dá)到識(shí)別的目的.
在進(jìn)行共振峰分析時(shí),需根據(jù)語音信號(hào)頻域包絡(luò)來確定共振峰,故需先對(duì)語音信號(hào)進(jìn)行功率譜分析,參照其功率密度譜上的峰值來確定共振峰.為了更好地描述功率密度譜上的尖峰,應(yīng)該選用具有全極點(diǎn)的模型進(jìn)行估計(jì),而自回歸(AR)模型恰好滿足此條件.描述AR全極點(diǎn)模型的方程如式(3)所示:
圖2 語音信號(hào)中的基音頻率
其中bi為系數(shù),y(n)為輸出,y(n-i)為y(n)的延時(shí),w(n)為高斯白噪聲.式(3)對(duì)應(yīng)的系統(tǒng)函數(shù)H(z)如式(4)所示,可以看出其系統(tǒng)函數(shù)中只有極點(diǎn),沒有零點(diǎn),故該模型可以更好地反映功率密度譜中的尖峰.
在計(jì)算式(3)中的功率密度譜時(shí)可借助文森遞推算法迭代求解Yule-Walker方程,最終式(3)的功率密度譜可用式(5)來描述[7]:
圖3給出了s0語音信號(hào)的功率密度譜包絡(luò),由圖3可以看出,在功率密度譜包絡(luò)上共有4個(gè)共振峰.在說話人識(shí)別階段,依據(jù)共振峰的位置及其峰值大小,可作為s0的語音特征與其他語音信號(hào)比對(duì),以進(jìn)行說話人識(shí)別.
借助語音增強(qiáng)、基音頻率分析和共振峰分析,即可進(jìn)行簡(jiǎn)單的說話人識(shí)別.在識(shí)別過程中以平均基音頻率、共振峰峰值位置作為兩種評(píng)價(jià)標(biāo)準(zhǔn),交互印證,最終實(shí)現(xiàn)說話人的辨認(rèn).首先自建包含20個(gè)語音信號(hào)的語音庫,將待分析語音信號(hào)s0和語音庫中的已有語音信號(hào)進(jìn)行基音頻率分析,計(jì)算各自平均基音頻率.將s0的平均基音頻率和語音庫中的平均基音頻率進(jìn)行比對(duì),計(jì)算平均基音頻率差值,并選取語音庫中誤差最小的前10個(gè)語音信號(hào)作為s0的近似匹配信號(hào).在此基礎(chǔ)上計(jì)算s0和前10個(gè)語音信號(hào)的共振峰位置,以共振峰矢量差作為第2種對(duì)比參數(shù),選取矢量差最小的語音信號(hào)作為s0的最匹配語音,最終確定該語音信號(hào)與s0為同一說話人,進(jìn)而實(shí)現(xiàn)說話人的識(shí)別.
圖3 語音信號(hào)功率密度譜及其共振峰
圖4 數(shù)據(jù)庫中語音與s0的基音頻率差
依據(jù)前述分析,首先將待識(shí)別語音s0和自建數(shù)據(jù)庫中的20個(gè)語音信號(hào)s1-s20共21個(gè)語音信號(hào)進(jìn)行基音頻率分析,并計(jì)算各自的平均基音頻率,將待識(shí)別語音s0的平均基音頻率與數(shù)據(jù)庫中的20個(gè)語音信號(hào)的平均基音頻率一一進(jìn)行比對(duì),對(duì)比結(jié)果如圖4柱狀圖所示.在圖4中橫坐標(biāo)為數(shù)據(jù)庫語音信號(hào)標(biāo)號(hào),縱坐標(biāo)為待識(shí)別語音信號(hào)s0與數(shù)據(jù)庫中各語音信號(hào)的基音頻率差值.從圖4可以看出,s3與待識(shí)別語音信號(hào)s0的差值最小,其差值為7.5;s13與s0的基音頻率差值最大,為136.4.由于在本部分識(shí)別過程中,只采用了一種語音特征——基音頻率,并不能使識(shí)別正確率最大化,故繼續(xù)進(jìn)行共振峰特征識(shí)別.
將圖4中基音頻率差按從小到大排列前十的10個(gè)語音信號(hào)標(biāo)定出來,并用第二種語音特征——共振峰來進(jìn)行第2輪比對(duì).分別計(jì)算s0和標(biāo)定出來的數(shù)據(jù)庫中前10個(gè)語音信號(hào)的共振峰,確定其共振峰位置及其強(qiáng)度,并計(jì)算共振峰矢量差,以此為參數(shù)重新進(jìn)行從小到大的排列,將排序前五的結(jié)果進(jìn)行繪圖,如圖5所示.在圖5中s7與s0的共振峰矢量差最小,為0.18,而s15與s0的共振峰矢量差最大,其值為0.51.故s7與s0最為相似,由此確定s7與s0為同一說話人.
對(duì)比圖4和圖5可以看出,在圖4中s3與s0的基音頻率差值最??;但在圖5中,s3與s0的共振峰矢量差卻排在第3位.由此可見,采用一種語音特征參數(shù)進(jìn)行識(shí)別正確識(shí)別率較低,原因是一種語音特征無法涵蓋語音信號(hào)的全部信息,故在識(shí)別過程中需采用多種語音特征進(jìn)行交互驗(yàn)證,最大程度提高識(shí)別正確率.
圖5 語音信號(hào)與s0的共振峰矢量差
借助語音增強(qiáng)、基音頻率分析和共振峰分析,在MATLAB平臺(tái)上設(shè)計(jì)了簡(jiǎn)單的說話人識(shí)別系統(tǒng).在識(shí)別過程中以平均基音頻率、共振峰峰值位置作為兩種評(píng)價(jià)標(biāo)準(zhǔn),交互印證,最終實(shí)現(xiàn)了說話人的辨認(rèn).實(shí)驗(yàn)結(jié)果表明:若采用一種語音特征參數(shù)進(jìn)行識(shí)別,正確識(shí)別率較低,原因是一種語音特征并不能涵蓋語音信號(hào)的全部信息,故在識(shí)別過程中需采用多種語音特征進(jìn)行交互驗(yàn)證,最大程度提高正確識(shí)別率.在后續(xù)試驗(yàn)中需進(jìn)一步優(yōu)化識(shí)別程序,引入更為精確的語音特征提取算法和識(shí)別方法,進(jìn)而提高識(shí)別速度與識(shí)別精度.
[1]LEE C H,SOONG FK,PALIWAL K.Automatic Speech and Speaker Recognition:Advanced Topics[M].Germany:Springer Science& BusinessMedia,2012.
[2]LEI Y,F(xiàn)ERRER L,MCLAREN M.A Novel Scheme for Speaker Recognition Using a Phonetically-aware Deep Neural Network[C]// Acoustics,Speechand SignalProcessing(ICASSP),2014 IEEEInternationalConferenceon.IEEE,2014:1695-1699.
[3]KENNYP,GUPTAV,STAFYLAKIS T,et al.Deep NeuralNetworksFor Extracting Baum-welch Statistics for SpeakerRecognition[C]// Proc.Odyssey.2014:293-298.
[4]林琳,陳虹,陳建.基于魯棒聽覺特征的說話人識(shí)別[J].電子學(xué)報(bào),2013,41(3):619-624.
[5]吳海洋,楊飛然,周琳,等.矢量泰勒級(jí)數(shù)特征補(bǔ)償?shù)恼f話人識(shí)別[J].聲學(xué)學(xué)報(bào),2013,38(1):105-112.
[6]陳懷琛.數(shù)字信號(hào)處理教程:MATLAB釋義與實(shí)現(xiàn)[M].北京:電子工業(yè)出版社,2013.
[7]宣傳忠,武佩,馬彥華,等.基于功率譜和共振峰的母羊發(fā)聲信號(hào)識(shí)別[J].農(nóng)業(yè)工程學(xué)報(bào),2015,(24):219-224.
(責(zé)任編輯鹍鈕效)
Design and Implementation of Speaker Recognition System based on MATLAB
WANG Xian-bin,YANG Jie,JIA Ying-qian,RAO Li-chan
(School of Physics&Electrical Information Engineering,Shijiazhuang University,Shijiazhuang,Hebei 050035,China)
Through the analysis of speech enhancement and pitch and formant frequency,a simple speaker recognition system is designed.In the recognition process,average pitch frequency and peak position of formant are treated as two kinds of evaluation criteria to achieve the speaker identification.
pitch frequency;formant;speaker recognition;MATLAB
TN391
A
1673-1972(2016)03-0005-04
2016-03-20
河北省科技計(jì)劃項(xiàng)目(15210606);石家莊學(xué)院科研啟動(dòng)項(xiàng)目(16BS004)
王現(xiàn)彬(1981-),男,河北邢臺(tái)人,講師,博士,主要從事信號(hào)處理與光纖通信研究.