一種關(guān)鍵詞語(yǔ)音檢索系統(tǒng)及方法
【專利摘要】一種新的關(guān)鍵語(yǔ)音檢索系統(tǒng)及方法,包括:多喚醒資源模塊,語(yǔ)音預(yù)處理模塊,語(yǔ)音解碼模塊。本發(fā)明針對(duì)特定幾個(gè)關(guān)鍵詞進(jìn)行檢索,同時(shí)采用倒序viterbi解碼方案,節(jié)省內(nèi)存,響應(yīng)速度在100ms以內(nèi),內(nèi)存占用在9k以內(nèi),運(yùn)算量在29Mips以內(nèi)。
【專利說(shuō)明】—種關(guān)鍵詞語(yǔ)音檢索系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種語(yǔ)音信號(hào)處理【技術(shù)領(lǐng)域】,特別涉及在連續(xù)的語(yǔ)音當(dāng)中對(duì)某幾個(gè)關(guān)鍵詞語(yǔ)音的檢索中使用語(yǔ)音信號(hào)處理的方法。
【背景技術(shù)】
[0002]實(shí)現(xiàn)人機(jī)之間人性化,智能化的有效交互,構(gòu)建高效自然的人機(jī)交流環(huán)境,已經(jīng)成為當(dāng)前信息技術(shù)應(yīng)用和發(fā)展的迫切需求。特別是近年來(lái)隨著無(wú)線通訊網(wǎng)絡(luò)的普及,智能化便攜式移動(dòng)設(shè)備在人們生活中擔(dān)任著越來(lái)越重要的角色。語(yǔ)音交互作為最自然人性的交互方式受到了青睞,提高了人機(jī)交互效率。
[0003]如今在科技高度發(fā)達(dá)的社會(huì),人們對(duì)于生活質(zhì)量的要求越來(lái)越高,對(duì)于駕駛安全性也越來(lái)越高,用語(yǔ)音來(lái)代替實(shí)體按鈕,會(huì)給人們的生活帶來(lái)更加便捷的操作,可以讓駕駛者專心的將雙手停留在方向盤上,在其他產(chǎn)品上可以給人們帶來(lái)更多的娛樂(lè)性,和實(shí)用性。
[0004]在現(xiàn)有語(yǔ)音命令控制系統(tǒng)中,系統(tǒng)需要用戶輸入語(yǔ)音的前后都有一定的靜音,這樣才能或者到真正的語(yǔ)音片段,否則無(wú)法獲取真正需要識(shí)別的語(yǔ)音段,這樣就無(wú)法準(zhǔn)確識(shí)另O,所以這種語(yǔ)音識(shí)別系統(tǒng)對(duì)用戶的使用環(huán)境要求非常嚴(yán)格,下面舉例說(shuō)明普通的命令次識(shí)別,如“拍照”等,需要事先靜音一段時(shí)間,如果在連續(xù)的語(yǔ)音中說(shuō)出關(guān)鍵詞語(yǔ)音,則無(wú)法實(shí)現(xiàn)觸發(fā)功能,嚴(yán)重影響了用戶體驗(yàn)。
[0005]現(xiàn)有技術(shù)可以實(shí)現(xiàn)單個(gè)關(guān)鍵詞的語(yǔ)音檢索,但是無(wú)法實(shí)現(xiàn)多個(gè)關(guān)鍵詞同時(shí)檢索,而且對(duì)于嵌入式系統(tǒng)來(lái)說(shuō)內(nèi)存占用較大,響應(yīng)速度不夠快,準(zhǔn)確率不高,現(xiàn)有技術(shù)中為什么內(nèi)存占用大以及相應(yīng)速度不高以及準(zhǔn)確率不高,原因在于模型復(fù)雜度較高,導(dǎo)致資源較大,內(nèi)存占用較大,大約在4M左右,對(duì)于嵌入式來(lái)說(shuō)簡(jiǎn)直是天數(shù),現(xiàn)有采用一個(gè)吸收模型作為置信度以及采用的解碼方式,必然為獲取到一個(gè)識(shí)別結(jié)果,而并不是用戶所說(shuō)的結(jié)果,因?yàn)楝F(xiàn)有的解碼網(wǎng)絡(luò)不存在重置機(jī)制,運(yùn)行幾秒后,必然會(huì)強(qiáng)制獲取結(jié)果,而本發(fā)明采用定期清理,可以長(zhǎng)期運(yùn)行,檢測(cè)環(huán)境中的關(guān)鍵詞語(yǔ)音,并及時(shí)給出反饋。
【發(fā)明內(nèi)容】
[0006]本發(fā)明技術(shù)解決問(wèn)題:克服傳統(tǒng)的語(yǔ)音命令控制系統(tǒng)采取的統(tǒng)一解碼方式,容易引起語(yǔ)音命令響應(yīng)錯(cuò)誤,或者無(wú)法響應(yīng)的問(wèn)題,本發(fā)明提供一種新的關(guān)鍵語(yǔ)音檢索系統(tǒng)和方法,針對(duì)特定幾個(gè)關(guān)鍵詞進(jìn)行檢索,同時(shí)采用倒序viterbi解碼方案,節(jié)省內(nèi)存,響應(yīng)速度在IOOms以內(nèi),內(nèi)存占用在9k以內(nèi),運(yùn)算量在29Mips以內(nèi)。
[0007]本發(fā)明的技術(shù)解決方案:一種新的關(guān)鍵語(yǔ)音檢索系統(tǒng),包括:多喚醒資源模塊,語(yǔ)音預(yù)處理模塊,語(yǔ)音解碼模塊。
[0008]多喚醒資源模塊,主要是為了對(duì)關(guān)鍵詞進(jìn)行描述,被解碼網(wǎng)絡(luò)模塊加載;
[0009]語(yǔ)音預(yù)處理模塊,主要對(duì)語(yǔ)音進(jìn)行特征處理,將提取的特征送入語(yǔ)音解碼模塊;
[0010]語(yǔ)音解碼模塊,在多喚醒資源提供的關(guān)鍵詞描述中進(jìn)行解碼,實(shí)現(xiàn)核心喚醒功倉(cāng)泛;[0011]所述多喚醒資源模塊,其具體為一個(gè)二進(jìn)制文件,描述了關(guān)鍵詞的聲學(xué)發(fā)音以及聲學(xué)模型和不同的發(fā)音之間的跳轉(zhuǎn)關(guān)系,同時(shí)它還描述了非關(guān)鍵詞的所有其他聲音的描述,這部分需要在系統(tǒng)初始化時(shí)加載到內(nèi)存中,送入到解碼網(wǎng)絡(luò)模塊中形成一套解碼網(wǎng)絡(luò),后續(xù)解碼就是在此網(wǎng)絡(luò)中運(yùn)行。
[0012]所述語(yǔ)音預(yù)處理模塊,主要為了實(shí)時(shí)提取語(yǔ)音中的聲學(xué)特征,同時(shí)為了降低運(yùn)算量采用MFCC特征。語(yǔ)音預(yù)處理模塊還包括完成對(duì)語(yǔ)音數(shù)據(jù)進(jìn)行分幀預(yù)加重,然后進(jìn)行分幀加窗、FFT生成MFCC特征,再經(jīng)過(guò)一階差分、二級(jí)差分,生成39維聲學(xué)特征。
[0013]所述語(yǔ)音解碼模塊,它采用多喚醒資源模塊中生成的網(wǎng)絡(luò)以及語(yǔ)音預(yù)處理模塊生成的特征,將特征在網(wǎng)絡(luò)中對(duì)每個(gè)關(guān)鍵詞的發(fā)音進(jìn)行相似度計(jì)算,這里的發(fā)音稱之為不同的狀態(tài),每個(gè)狀態(tài)包含多個(gè)高斯,解碼就是特征在高斯中進(jìn)行似然計(jì)算。
[0014]一種關(guān)鍵語(yǔ)音檢索方法,其特征在于實(shí)現(xiàn)步驟如下:
[0015](I)首先需要申請(qǐng)內(nèi)存需要運(yùn)行的內(nèi)存空間,IOK內(nèi)存;
[0016](2)讀取多喚醒資源模型,初始化解碼模塊所需的網(wǎng)絡(luò),初始化數(shù)據(jù)預(yù)處理空間;
[0017](3)用戶實(shí)時(shí)輸入語(yǔ)音進(jìn)入引擎;
[0018](4)數(shù)據(jù)預(yù)處理模塊,對(duì)送入語(yǔ)音進(jìn)行預(yù)加重、分幀、加窗、FFT,一階差分、二階差分生成 39 維MFCC(MFCC:Mel 頻率倒譜系數(shù)(Mel Frequency Cepstrum Coefficient,MFCC)的縮寫。Mel (美爾)是主觀音高的單位,而Hz (赫茲)則是客觀音高的單位。Mel頻率是基于人耳聽(tīng)覺(jué)特性提出來(lái)的,它與Hz頻率成非線性對(duì)應(yīng)關(guān)系。Mel頻率倒譜系數(shù)(MFCC)則是利用它們之間的這種關(guān)系,計(jì)算得到的Hz頻譜特征。)動(dòng)態(tài)特征;
[0019](5)將特征送入語(yǔ)音解碼模塊,特征在解碼網(wǎng)絡(luò)中對(duì)于每個(gè)聲學(xué)狀態(tài)都進(jìn)行計(jì)算比較,然后記錄狀態(tài);
[0020](6)當(dāng)關(guān)鍵詞語(yǔ)音的所有特征都送入解碼網(wǎng)絡(luò)中進(jìn)行解碼,則網(wǎng)絡(luò)中關(guān)鍵詞網(wǎng)絡(luò)的計(jì)算的相似度很高,即到達(dá)設(shè)定門限,則認(rèn)為用戶說(shuō)出關(guān)鍵詞,并提示用戶。
[0021]本發(fā)明與現(xiàn)有技術(shù)相比的優(yōu)點(diǎn)在于:
[0022](I)本發(fā)明內(nèi)存占用很小,實(shí)際應(yīng)用中只需6k字節(jié)空間,可以在低端玩具上運(yùn)行;在原先的識(shí)別引擎中需要使用復(fù)雜的模型,以及吸收模型,數(shù)據(jù)精度較大,而現(xiàn)在采用原來(lái)一半的模型復(fù)雜度,同時(shí)優(yōu)化了吸收模型,采用了 20個(gè)聚類之后的filler模型,比原來(lái)的filler模型精度更高,所以達(dá)到很強(qiáng)的干擾詞吸收能力;同時(shí)裁剪了原來(lái)大規(guī)模的聲學(xué)模型,將僅關(guān)鍵詞的模型保存,這個(gè)是ROM占用已經(jīng)減少到39K左右原先在4M左右,內(nèi)存部分因?yàn)槟P蛿?shù)據(jù)減少,內(nèi)存占用同時(shí)減少,錄音部分采用實(shí)時(shí)解碼,不需要緩存錄音,以及MFCC特征,內(nèi)存部分也大量減少,同時(shí)采用了倒序解碼,關(guān)于關(guān)鍵詞在內(nèi)存中的描述又少了部分內(nèi)存,同時(shí)因?yàn)槭且阎P(guān)鍵詞解碼,所以解碼空間固定,不需要?jiǎng)討B(tài)生成解碼空間,又減少了大部分內(nèi)存占用;
[0023](2)本發(fā)明運(yùn)行速度快,可以實(shí)時(shí)處理用戶語(yǔ)音,并在0.12秒內(nèi)給予反饋;
[0024](3)本發(fā)明支持多個(gè)關(guān)鍵詞同時(shí)檢出,可以在一個(gè)引擎中實(shí)現(xiàn)同時(shí)對(duì)多個(gè)關(guān)鍵詞進(jìn)行檢索,判斷,并對(duì)不同的關(guān)鍵詞給予不同的提示;
[0025](4)在支持多關(guān)鍵詞檢索的系統(tǒng)中,系統(tǒng)對(duì)不同的關(guān)鍵詞語(yǔ)音做出快速響應(yīng),而傳統(tǒng)系統(tǒng)采取的統(tǒng)一解碼方式,容易引起語(yǔ)音命令響應(yīng)錯(cuò)誤,或者無(wú)法響應(yīng)。【專利附圖】
【附圖說(shuō)明】
[0026]圖1為本發(fā)明整個(gè)系統(tǒng)的UML時(shí)序圖;
[0027]圖2為本發(fā)明的關(guān)鍵語(yǔ)音檢索系統(tǒng)實(shí)現(xiàn)流程圖;
[0028]圖3為本發(fā)明中多喚醒網(wǎng)絡(luò)模塊圖;
[0029]圖4為本發(fā)明中語(yǔ)音解碼模塊實(shí)現(xiàn)圖。
【具體實(shí)施方式】
[0030]如圖1所示,為整個(gè)系統(tǒng)的UML時(shí)序圖,圖2為流程圖;從圖1中可以看出系統(tǒng)包括三個(gè)模塊組成,1:引擎接口部分,2:前端語(yǔ)音處理模塊,3:解碼器模塊。
[0031]引擎接口部分,可以看到整個(gè)引擎的API,包括:a、初始化,b、參數(shù)設(shè)置,C、輸入音頻接口,d、數(shù)據(jù)處理接口,e、重置接口 ;
[0032]a.初始化接口中,需要傳入申請(qǐng)的內(nèi)存首址,多喚醒資源首址,以及相應(yīng)的資源空間大小,接口內(nèi)部實(shí)現(xiàn)內(nèi)存地址初始化,完成前端以及解碼器部分的內(nèi)存分配,完成前端語(yǔ)音處理時(shí)的參數(shù),包括分幀長(zhǎng)度(本發(fā)明實(shí)施例中采用25ms),幀移動(dòng)長(zhǎng)度(IOms)以及FFT計(jì)算的空間分配,同時(shí)將傳入的多喚醒資源傳遞給解碼接口,完成解碼網(wǎng)絡(luò)的初始化,包括總共多少個(gè)filler,多少個(gè)關(guān)鍵詞狀態(tài)節(jié)點(diǎn),以及每個(gè)狀態(tài)節(jié)點(diǎn)中的變量初始化。
[0033]b.參數(shù)設(shè)置,主要完成喚醒時(shí)門限的設(shè)置;
[0034]c.語(yǔ)音輸入接口,作為外部將語(yǔ)音傳入的接口,需要傳入語(yǔ)音首址以及語(yǔ)音大小;
[0035]d.數(shù)據(jù)處理接口,包括前端特征提取以及語(yǔ)音解碼部分,特征提取主要是用來(lái)接收外部送進(jìn)來(lái)的語(yǔ)音,然后將語(yǔ)音進(jìn)行分幀,加窗,F(xiàn)FT,動(dòng)態(tài)規(guī)整,最后形成39為動(dòng)態(tài)MFCC特征,作為解碼器的輸入;語(yǔ)音解碼,將生成的特征在初始過(guò)程中生成的解碼網(wǎng)絡(luò)中做倒序viterbi算法,計(jì)算結(jié)果保存至每個(gè)狀態(tài)響應(yīng)的變量中。
[0036]詳細(xì)過(guò)程如下:
[0037]( I)初始化創(chuàng)建對(duì)象,在此過(guò)程中,完成內(nèi)存申請(qǐng),6K左右,后續(xù)整個(gè)引擎運(yùn)行就在此空間中執(zhí)行,在此過(guò)程中會(huì)返回創(chuàng)建成功或者失敗,失敗時(shí)會(huì)返回錯(cuò)誤碼,如果內(nèi)存申請(qǐng)不足則會(huì)返回所需內(nèi)存空間;在初始化過(guò)程中完成了前端數(shù)據(jù)模塊的內(nèi)存初始化,參數(shù)初始化;在初始時(shí)同時(shí)需要將多喚醒資源首地址指針作為參數(shù)傳入,在解碼器初始化過(guò)程中需要加載此多喚醒資源,創(chuàng)建解碼網(wǎng)絡(luò),初始化所有狀態(tài)(包括喚醒詞狀態(tài)以及filler狀態(tài)以及sil狀態(tài));
[0038](2)根據(jù)上一步返回值,進(jìn)行下一步處理,如果返回正常,則可以進(jìn)行整個(gè)喚醒流程;
[0039](3)用戶完成錄音模塊,將實(shí)時(shí)獲取到的錄音調(diào)用引擎接口送入到引擎中,前端語(yǔ)音模塊則會(huì)對(duì)將送入的數(shù)據(jù)緩存,并進(jìn)行分幀,對(duì)每幀進(jìn)行預(yù)加重,F(xiàn)FT計(jì)算,生成MFCC特征,并根據(jù)前4幀特征,后4幀特征生成動(dòng)態(tài)的39維MFCC特征;
[0040](4)將生成的MFCC特征作為參數(shù)調(diào)用解碼器接口 ;解碼器拿到特征之后;首先在20個(gè)filler以及sil中的所有狀態(tài)序列中采用倒序和以及viterbi解碼遍歷所有狀態(tài)節(jié)點(diǎn),更新過(guò)程中就是把當(dāng)前特征和所有狀態(tài)在資源中的數(shù)據(jù)模型進(jìn)行似然計(jì)算,并把計(jì)算結(jié)果更新到所有狀態(tài)中,并記錄下所有狀態(tài)中的最大似然得分作為和后續(xù)關(guān)鍵詞序列中的狀態(tài)尾節(jié)點(diǎn)的得分進(jìn)行PK;
[0041](5)將MFCC特征在多個(gè)關(guān)鍵詞狀態(tài)序列中進(jìn)行倒序viterbi遍歷,將N個(gè)關(guān)鍵詞序列中的末尾狀態(tài)得分最大者和前一步得到的最大的filler得分進(jìn)行進(jìn)行PK,如果關(guān)鍵詞網(wǎng)絡(luò)得分最大,則跳入第(6)步進(jìn)行CM計(jì)算,否則繼續(xù)進(jìn)行第(3)步;
[0042](6)CM計(jì)算:在第4的解碼步驟中同時(shí)保存了每個(gè)關(guān)鍵詞序列中的每一個(gè)狀態(tài)CM得分,CM得分為當(dāng)前狀態(tài)的似然得分減去當(dāng)前所有filler中最大得分處理在此狀態(tài)上的停留次數(shù)(幀平均得分),在解碼過(guò)程中將每個(gè)狀態(tài)中的CM不斷更新隨viterbi解碼傳遞;所以在此步驟中只需將最后一個(gè)狀態(tài)進(jìn)行幀平均計(jì)算,得到CM得分和給定的門限進(jìn)行對(duì)t匕,(門限劃定是由經(jīng)驗(yàn)數(shù)據(jù)給出)如果大于門限則返回喚醒同時(shí)給出N個(gè)喚醒序列中的索引值,即由第i個(gè)喚醒序列喚醒。則得到喚醒詞。用戶根據(jù)處理結(jié)果做進(jìn)一步操作。如果CM得分小于門限則繼續(xù)進(jìn)行第(3)步。
[0043]如圖3所示,為多喚醒解碼網(wǎng)絡(luò)的構(gòu)成,主要包括21個(gè)吸收詞路徑以及多個(gè)喚醒路徑,路徑中每個(gè)節(jié)點(diǎn)是關(guān)鍵詞以及吸收網(wǎng)絡(luò)的11_ (隱馬爾科夫模型)中的每個(gè)狀態(tài);
[0044]由于喚醒詞的確定性,所以網(wǎng)絡(luò)可以事先確定好,這樣對(duì)解碼速度以及內(nèi)存空間的要求就會(huì)小很多;本文中以filler采用單狀態(tài)為例,關(guān)鍵詞每個(gè)hmm為三個(gè)狀態(tài);filler中21個(gè)filler采用并聯(lián)方式,在解碼時(shí)采用單獨(dú)計(jì)算,然后21個(gè)filler內(nèi)部進(jìn)行最大值挑選,作為這一幀的filler得分,主要用意為吸收關(guān)鍵詞以外的發(fā)音,需要說(shuō)明的是這個(gè)21給filler中有20個(gè)filler是采用所有發(fā)音聚類訓(xùn)練生成,另外一個(gè)是sil為靜音訓(xùn)練而成,統(tǒng)稱為21個(gè)filler ;
[0045]關(guān)鍵詞路徑,同理,為關(guān)鍵詞語(yǔ)音訓(xùn)練得到的每個(gè)hmm模型然后串聯(lián)而成,不同的關(guān)鍵詞為并聯(lián),所有并聯(lián)的路徑需要競(jìng)爭(zhēng)最大值。關(guān)鍵詞路徑內(nèi)部是viterbi解碼傳遞。
[0046]每一個(gè)狀態(tài)都用一個(gè)結(jié)構(gòu)體來(lái)描述,必要保存信息包括,識(shí)別得分,CM得分,CMtota (hmm內(nèi)部CM累計(jì)),巾貞數(shù)(在本狀態(tài)上停留的巾貞數(shù)),nPhone (該phone之前的phone個(gè)數(shù),用于最后計(jì)算CM平均得分)。
[0047]最后在解碼得到關(guān)鍵詞和filler比較中關(guān)鍵詞得分最大,同時(shí)在關(guān)鍵詞的末尾則去計(jì)算CM是否達(dá)到門限,判斷是否喚醒并給出關(guān)鍵詞ID ;
[0048]如圖4所示,語(yǔ)音解碼模塊實(shí)現(xiàn)步驟如下:
[0049](I)首先是語(yǔ)音的特征提取,目前采用的是39維mfcc特征;
[0050](2)將提取的語(yǔ)音特征送入解碼器中;
[0051](3)在多個(gè)filler (吸收網(wǎng)絡(luò))以及sil (靜音模型)中計(jì)算得到最大得分;
[0052](4)在多個(gè)關(guān)鍵詞路徑上進(jìn)行viterbi解碼,同時(shí)根據(jù)第3步得到的最大filler得分計(jì)算每個(gè)狀態(tài)的CM得分;
[0053](5)如果關(guān)鍵詞上的得分大于filler上的最大得分,進(jìn)行判斷是否解碼到關(guān)鍵詞末尾,否則返回第(I)步;
[0054](6)如果已經(jīng)到關(guān)鍵詞末尾,計(jì)算整個(gè)詞的CM (置信度)得分,否則返回第(I)步;
[0055](7)判斷CM得分是否大于門限值,大于門限則喚醒,同時(shí)判斷是從哪條關(guān)鍵詞路徑得到,從而區(qū)分喚醒詞,一次喚醒結(jié)束;不小于門限則返回第I步繼續(xù)根據(jù)送入特征,繼
續(xù)解碼。
[0056]其中解碼部分詳細(xì)介紹如下:[0057]本發(fā)明實(shí)施例介紹一幀特征過(guò)來(lái)的解碼過(guò)程:
[0058](I)已知的解碼網(wǎng)絡(luò);
[0059](2 )前端計(jì)算好的MFCC特征;
[0060](3)首先在并列的21個(gè)filler中采用倒序viterbi計(jì)算,初始狀態(tài)所有得分都為logO,每個(gè)狀態(tài)有相應(yīng)的模型信息,這個(gè)在模型訓(xùn)練階段都已經(jīng)完成,計(jì)算當(dāng)前這個(gè)一幀特征和所有filler模型的相似度,然后將最大的得分保存到一個(gè)虛節(jié)點(diǎn)上2 ;
[0061](4)解碼所有關(guān)鍵詞狀態(tài),初始所有狀態(tài)得分都為1gO ;第一個(gè)狀態(tài)為O ;倒序遍歷所有狀態(tài),當(dāng)狀態(tài)得分等于1gO則跳過(guò),說(shuō)明沒(méi)有擴(kuò)展到此節(jié)點(diǎn)上(或者被裁剪算法裁剪掉)繼續(xù)尋找上一個(gè)不為1gO的狀態(tài),然后用當(dāng)前特征和模型中的特征數(shù)據(jù)進(jìn)行相似度計(jì)算結(jié)果保存;用當(dāng)前狀態(tài)當(dāng)前的得分減去自跳得分和上一個(gè)狀態(tài)減去下跳得分進(jìn)行PK,較大者得分加上前面計(jì)算的相似度得分作為當(dāng)前狀態(tài)的得分,并標(biāo)記當(dāng)前狀態(tài)是由哪個(gè)狀態(tài)傳遞過(guò)來(lái)(自跳還是由上一個(gè)狀態(tài)下跳得到);如果是自跳得到需要同時(shí)將自跳幀數(shù)加1,如果由上一個(gè)狀態(tài)傳遞得來(lái)則需要將CM得分信息一并傳遞過(guò)來(lái)作為當(dāng)前狀態(tài)的信息,同時(shí)需要將CM得分加上當(dāng)前狀態(tài)似然度得分減去前面虛節(jié)點(diǎn)2上保存的得分,作為本狀態(tài)累計(jì)的CM得分;
[0062](5)以此類推則為倒序Viterbi解碼過(guò)程。
【權(quán)利要求】
1.一種關(guān)鍵詞語(yǔ)音檢索系統(tǒng),其特征在于包括:多喚醒資源模塊,語(yǔ)音預(yù)處理模塊,語(yǔ)音解碼模塊;其中: 多喚醒資源模塊,對(duì)關(guān)鍵詞進(jìn)行描述,被解碼網(wǎng)絡(luò)模塊加載;所述多喚醒資源模塊為一個(gè)二進(jìn)制文件,描述了關(guān)鍵詞的聲學(xué)發(fā)音及聲學(xué)模型和不同的發(fā)音之間的跳轉(zhuǎn)關(guān)系,同時(shí)它還描述了非關(guān)鍵詞的所有其他聲音的描述,這部分需要在系統(tǒng)初始化時(shí)加載到內(nèi)存中,送入到語(yǔ)音解碼模塊中形成一套解碼網(wǎng)絡(luò),后續(xù)解碼就是在此網(wǎng)絡(luò)中運(yùn)行; 語(yǔ)音預(yù)處理模塊,對(duì)語(yǔ)音進(jìn)行特征處理,實(shí)時(shí)提取語(yǔ)音中的聲學(xué)特征,將提取的聲學(xué)特征送入語(yǔ)音解碼模塊;完成對(duì)語(yǔ)音數(shù)據(jù)進(jìn)行分幀預(yù)加重,然后進(jìn)行分幀加窗、FFT生成MFCC特征,再經(jīng)過(guò)一階差分、二級(jí)差分,生成39維聲學(xué)特征; 所述語(yǔ)音解碼模塊,它采用多喚醒資源模塊中生成的網(wǎng)絡(luò)以及語(yǔ)音預(yù)處理模塊生成的聲學(xué)特征進(jìn)行解碼,即將所述聲學(xué)特征在網(wǎng)絡(luò)中對(duì)每個(gè)關(guān)鍵詞的發(fā)音進(jìn)行相似度計(jì)算,所述發(fā)音稱之為不同的狀態(tài),每個(gè)狀態(tài)包含多個(gè)高斯,解碼就是特征在高斯中進(jìn)行似然計(jì)算。
2.根據(jù)權(quán)利要求1所述的一種關(guān)鍵詞語(yǔ)音檢索系統(tǒng),其特征在于:所述語(yǔ)音解碼模塊具體實(shí)現(xiàn)如下: (1)語(yǔ)音的特征提取,目前采用的是39維mfcc特征; (2)將提取的語(yǔ)音特征送入解碼器中; (3)在多個(gè)filler以及sil中計(jì)算得到最大得分; (4)在多個(gè)關(guān)鍵詞路徑上進(jìn)行viterbi解碼,同時(shí)根據(jù)第(3)步得到的最大filler得分計(jì)算每個(gè)狀態(tài)的CM得分; (5)如果關(guān)鍵詞上的得分大于filler上的最大得分,進(jìn)行判斷是否解碼到關(guān)鍵詞末尾,否則返回第(I)步; (6)如果已經(jīng)到關(guān)鍵詞末尾,計(jì)算整個(gè)詞的CM得分,否則返回第(I)步; (7)判斷CM得分是否大于門限值,大于門限則喚醒,同時(shí)判斷是從哪條關(guān)鍵詞路徑得至IJ,從而區(qū)分喚醒詞,一次喚醒結(jié)束;不小于門限則返回第(2)步繼續(xù)根據(jù)送入特征,繼續(xù)解碼。
3.—種關(guān)鍵詞語(yǔ)音檢索方法,其特征在于實(shí)現(xiàn)步驟如下: (1)首先需要申請(qǐng)內(nèi)存需要運(yùn)行的內(nèi)存空間; (2)讀取多喚醒資源模型,初始化解碼模塊所需的網(wǎng)絡(luò),初始化數(shù)據(jù)預(yù)處理空間; (3)用戶實(shí)時(shí)輸入語(yǔ)音進(jìn)入引擎; (4)語(yǔ)音預(yù)處理模塊,對(duì)送入語(yǔ)音進(jìn)行預(yù)加重、分幀、加窗、FFT,一階差分、二階差分生成39維MFCC動(dòng)態(tài)特征; (5)將特征送入語(yǔ)音解碼模塊,特征在解碼網(wǎng)絡(luò)中對(duì)于每個(gè)聲學(xué)狀態(tài)都進(jìn)行計(jì)算比較,然后記錄狀態(tài); (6)當(dāng)關(guān)鍵詞語(yǔ)音的所有特征都送入解碼網(wǎng)絡(luò)中進(jìn)行解碼,如果網(wǎng)絡(luò)中關(guān)鍵詞網(wǎng)絡(luò)的計(jì)算相似度到達(dá)設(shè)定的門限,則認(rèn)為用戶說(shuō)出關(guān)鍵詞,并提示用戶。
【文檔編號(hào)】G06F17/30GK103886010SQ201310726833
【公開(kāi)日】2014年6月25日 申請(qǐng)日期:2013年12月25日 優(yōu)先權(quán)日:2013年12月25日
【發(fā)明者】張凱, 陳盛 申請(qǐng)人:安徽科大訊飛信息科技股份有限公司