孫曉杰
(伊犁師范學(xué)院電子與信息工程分院 新疆 伊寧 835000)
語(yǔ)音識(shí)別技術(shù)是一種多維模式的識(shí)別技術(shù),它能夠嵌入到計(jì)算機(jī)或移動(dòng)設(shè)備中,進(jìn)而使計(jì)算機(jī)或移動(dòng)設(shè)備能夠?qū)θ说恼Z(yǔ)音進(jìn)行識(shí)別。語(yǔ)音識(shí)別技術(shù)在嵌入過(guò)程中會(huì)對(duì)特定的人或詞建立語(yǔ)音特征庫(kù),通過(guò)特征庫(kù)來(lái)對(duì)人的語(yǔ)音控制數(shù)據(jù)進(jìn)行匹配,進(jìn)而使人在發(fā)出語(yǔ)音時(shí)能夠?qū)⑾鄳?yīng)的信號(hào)向著具體的命令或文本進(jìn)行轉(zhuǎn)化。當(dāng)前,在智能手機(jī)、智能機(jī)器人等領(lǐng)域中,語(yǔ)音識(shí)別技術(shù)都表現(xiàn)出極高的應(yīng)用價(jià)值。目前比較常見(jiàn)的語(yǔ)音識(shí)別技術(shù)有許多,比如矢量量化、動(dòng)態(tài)時(shí)間歸整以及隱馬爾可夫、人工神經(jīng)元網(wǎng)絡(luò)等。動(dòng)態(tài)時(shí)間歸整技術(shù)又被稱(chēng)之為DTW技術(shù),它的出現(xiàn)時(shí)間較早,其屬于一種能夠?qū)δP瓦M(jìn)行訓(xùn)練與模式匹配的技術(shù),其以動(dòng)態(tài)規(guī)劃思想突破了以往語(yǔ)音出現(xiàn)不同時(shí)長(zhǎng)的難題,并在孤立詞語(yǔ)音識(shí)別中有著較為良好的應(yīng)用。隱馬爾可夫模型與人工神經(jīng)元網(wǎng)絡(luò)在連續(xù)性較強(qiáng)的語(yǔ)音識(shí)別中要優(yōu)于動(dòng)態(tài)時(shí)間歸整技術(shù),不過(guò)其計(jì)算量較多,前期需要進(jìn)行長(zhǎng)期的識(shí)練,并且不易被移值,因此難以滿(mǎn)足語(yǔ)音識(shí)別的實(shí)時(shí)性要求。相比之下,動(dòng)態(tài)時(shí)間歸整技術(shù)則兼具上述優(yōu)點(diǎn),為此,以下便以這項(xiàng)技術(shù)來(lái)對(duì)語(yǔ)音識(shí)別技術(shù)的具體實(shí)現(xiàn)進(jìn)行探討。
一般來(lái)說(shuō),語(yǔ)音識(shí)別技術(shù)的實(shí)現(xiàn)步驟可以劃分為兩步,分別是系統(tǒng)的訓(xùn)練與系統(tǒng)的識(shí)別,在這兩個(gè)步驟中有著不同的任務(wù)重點(diǎn)。在系統(tǒng)訓(xùn)練步驟中,語(yǔ)音識(shí)別技術(shù)主要是對(duì)聲學(xué)模型和文法分析語(yǔ)言模型進(jìn)行識(shí)別。而在系統(tǒng)識(shí)別步驟中,則主要是依據(jù)相應(yīng)的識(shí)別算法來(lái)對(duì)語(yǔ)音信號(hào)中的特征參數(shù)進(jìn)行分析,并依據(jù)相應(yīng)的判別標(biāo)準(zhǔn)來(lái)與系統(tǒng)模型相比較,以此獲得最終的識(shí)別結(jié)果。語(yǔ)音識(shí)別技術(shù)的核心在于其模式識(shí)別,它的關(guān)鍵是對(duì)語(yǔ)音信號(hào)的特征進(jìn)行提取并進(jìn)行查勘式匹配。語(yǔ)音識(shí)別技術(shù)在對(duì)語(yǔ)音信號(hào)進(jìn)行處理時(shí)包含有許多個(gè)環(huán)節(jié),如預(yù)處理環(huán)節(jié)、提取特征參數(shù)環(huán)節(jié)、模型的匹配及其對(duì)比環(huán)節(jié)等。在預(yù)處理過(guò)程中,語(yǔ)音識(shí)別技術(shù)會(huì)剔除語(yǔ)音信號(hào)中含有的噪聲及呼吸氣流等非平穩(wěn)信號(hào),預(yù)處理過(guò)程中包含有諸多環(huán)節(jié),如預(yù)濾波、分幀、預(yù)加重、采樣及量化、加窗等,在預(yù)處理完畢后,語(yǔ)音識(shí)別技術(shù)會(huì)利用相應(yīng)的算法來(lái)分析語(yǔ)音信號(hào),并對(duì)語(yǔ)音信號(hào)中所具備的特征值進(jìn)行提取。對(duì)語(yǔ)音信號(hào)參數(shù)特征進(jìn)行提取的算法主要有短時(shí)平均過(guò)零率算法、梅爾倒譜系數(shù)算法、短時(shí)平均能量算法及線(xiàn)性預(yù)測(cè)系數(shù)算法等。最后再對(duì)語(yǔ)音特征參數(shù)進(jìn)行選擇,并依據(jù)時(shí)間的先后順序來(lái)對(duì)特征參數(shù)進(jìn)行排列,進(jìn)而使其成為特征參數(shù)序列模式表,并將該表和參考模式進(jìn)行逐一的對(duì)比,在對(duì)比過(guò)程中依據(jù)判決規(guī)則來(lái)獲得最佳的參考模式,進(jìn)而得出最終的識(shí)別結(jié)果。
孤立詞識(shí)別是語(yǔ)音識(shí)別中的重要內(nèi)容,因此語(yǔ)音識(shí)別技術(shù)采用的是動(dòng)態(tài)時(shí)間歸整算法,該技術(shù)又被稱(chēng)之為DTW算法,DTW算法能夠?qū)铝⒃~語(yǔ)音進(jìn)行良好的識(shí)別,它在前期不需要進(jìn)行長(zhǎng)期訓(xùn)練,而且算法的計(jì)算量也較少,可以非常容易的移植到設(shè)備當(dāng)中,具有良好的實(shí)時(shí)性。該算法共包括兩個(gè)概念,概念1是將模板庫(kù)中所包含的詞句當(dāng)作參考模板,其可通過(guò){R(1),R(2),R(3),R(4),…,R(n),…,R(N)}表示,在第n幀中的語(yǔ)音特征矢量可以用R(m)表示。定義2是將待識(shí)別的語(yǔ)句當(dāng)作測(cè)試模板,其可通過(guò){T(1),T(2),T(3),T(4),…,T(m),…,T(M)},在第m幀中所具有的語(yǔ)音特征矢量應(yīng)由T(m)進(jìn)行表示。而DTW算法便是將參考模板與待測(cè)模板中包含的語(yǔ)音特征矢量進(jìn)行結(jié)合,并通過(guò)非線(xiàn)性的優(yōu)化策略來(lái)對(duì)語(yǔ)音特征矢量中最佳的規(guī)整函行尋找,待測(cè)試模板中的語(yǔ)音特征矢量位于Y軸,而參考模板中的語(yǔ)音特征矢量則位于X軸,利用非線(xiàn)性映射來(lái)使這兩個(gè)模板中的語(yǔ)音特征矢量在匹配的過(guò)程中實(shí)現(xiàn)最小的累積距離。
3.2.1 系統(tǒng)架構(gòu) 該系統(tǒng)中的總體架構(gòu)共包括三個(gè)部分,分別是計(jì)算機(jī)客戶(hù)端、嵌入式開(kāi)發(fā)板及電源控制板。將語(yǔ)音識(shí)別技術(shù)嵌入到開(kāi)發(fā)板中,開(kāi)發(fā)板與計(jì)算機(jī)和電源控制板進(jìn)行連接,在電源控制板中設(shè)置有三個(gè)電源模塊。在計(jì)算機(jī)PC端中,其系統(tǒng)為Ubuntu10.10,所使用的開(kāi)發(fā)軟件為Co-deblocks,該軟件為集成式開(kāi)發(fā)工具,能夠?qū)φZ(yǔ)音識(shí)別系統(tǒng)進(jìn)行集成開(kāi)發(fā)。在嵌入式開(kāi)發(fā)板中,其內(nèi)核為L(zhǎng)inux2.6.32,該開(kāi)發(fā)板中的圖形軟件為Qtopia2.2,該軟件共包括兩種操作方式,分別是觸摸屏操作方式與鼠標(biāo)操作方式。在嵌入式開(kāi)發(fā)板中運(yùn)行的語(yǔ)音識(shí)別程序共由三大主要組成部分構(gòu)成,即語(yǔ)音識(shí)別、采集及其網(wǎng)絡(luò)傳輸,其中,網(wǎng)絡(luò)傳輸主要是根據(jù)特定的程序把識(shí)別出來(lái)的結(jié)果傳輸至控制要反中,由控制板對(duì)PLCC單片機(jī)進(jìn)行操作,以此實(shí)現(xiàn)對(duì)語(yǔ)音識(shí)別系統(tǒng)的控制,嵌入式控制板會(huì)通過(guò)網(wǎng)絡(luò)來(lái)下發(fā)控制命令,網(wǎng)絡(luò)則會(huì)對(duì)控制人命令進(jìn)行接收與讀取,然后依據(jù)控制命令中的具體內(nèi)容來(lái)實(shí)施各個(gè)電源模塊的通斷控制。
3.2.2 系統(tǒng)編程實(shí)現(xiàn) 在該嵌入式語(yǔ)音識(shí)別系統(tǒng)中,主要由三個(gè)模塊組成,分別是語(yǔ)音采集模塊、特征提取模塊及模式匹配模塊。在語(yǔ)音采集模塊中,其開(kāi)發(fā)平臺(tái)為L(zhǎng)inux系統(tǒng),在語(yǔ)音采集模塊中,其主要是對(duì)系統(tǒng)中的錄音設(shè)備實(shí)施控制,其控制環(huán)節(jié)為錄音設(shè)備的啟動(dòng)、設(shè)置緩沖區(qū)、I/O端口讀寫(xiě)、關(guān)閉錄音設(shè)備、釋放緩沖區(qū)等。在這些控制環(huán)節(jié),比較重要的便是設(shè)置聲卡,在對(duì)聲卡進(jìn)行設(shè)置時(shí),需要設(shè)置聲卡中的聲道數(shù)以及其對(duì)語(yǔ)音的采樣頻率等參數(shù),此外,還應(yīng)設(shè)置緩沖區(qū)空間尺寸、語(yǔ)音錄入時(shí)間等,在錄音設(shè)備的啟動(dòng)中,主要是利用I/O通道中所具有的API函數(shù)open()進(jìn)行操作來(lái)實(shí)現(xiàn)的,同樣還可以對(duì)API函數(shù)中的close()進(jìn)行操作來(lái)關(guān)閉錄音設(shè)備。在完成錄音設(shè)備讀寫(xiě)功能后,需要將錄入的語(yǔ)音文件進(jìn)行讀取,并存儲(chǔ)至wav文件當(dāng)中。
在特征提取模塊中,其對(duì)語(yǔ)音文件中的語(yǔ)音特征參數(shù)進(jìn)行提取主要是依據(jù)動(dòng)態(tài)時(shí)間規(guī)正算法來(lái)實(shí)現(xiàn)的,即DTW算法,該算法在進(jìn)行特征提取時(shí)主要包括以下基本過(guò)程:首先對(duì)錄入的語(yǔ)音文件進(jìn)行內(nèi)部解析,然后對(duì)語(yǔ)音文件中所包含的特征內(nèi)容進(jìn)行提取與量化,并依據(jù)量化后的內(nèi)容來(lái)對(duì)矩陣進(jìn)行構(gòu)建與篩選,進(jìn)而得到能夠符合識(shí)別標(biāo)準(zhǔn)的語(yǔ)音內(nèi)容,然后對(duì)數(shù)據(jù)庫(kù)中的空間進(jìn)行分配,并將聲音存入。DTW算法在編程實(shí)現(xiàn)中共包括五個(gè)詳細(xì)步驟,其一,將語(yǔ)音文件中的字符進(jìn)行讀取與解析,然后計(jì)算其聲音特征值,并根據(jù)相關(guān)函數(shù)來(lái)計(jì)算其特征向量,然后將其存儲(chǔ)到SAMPLE結(jié)構(gòu)當(dāng)中;其二,壓縮這些計(jì)算后得到的特征向量,并存儲(chǔ)至FRAME中去,F(xiàn)RAME中的各個(gè)結(jié)構(gòu)體便象征著聲音中的各幀,該步驟是進(jìn)行語(yǔ)音識(shí)別的關(guān)鍵環(huán)節(jié);其三,計(jì)算各幀的有效值,然后根據(jù)計(jì)算結(jié)果來(lái)得到這些幀的平均值,然后計(jì)算下一幀,并將其存儲(chǔ)到數(shù)據(jù)庫(kù)當(dāng)中;其四,對(duì)上述過(guò)程進(jìn)行循環(huán)執(zhí)行,直至聲音文件全部讀完為止;其五,對(duì)聲音模板的特征向量進(jìn)行全部計(jì)算完畢后,將這些特征向量全部存入到內(nèi)存當(dāng)中,在進(jìn)行存儲(chǔ)時(shí),需要確保各個(gè)模板都有相應(yīng)的標(biāo)簽名稱(chēng),并且要和聲音中的內(nèi)容相互對(duì)應(yīng),以此方便后續(xù)的聲音識(shí)別。
在模板匹配模塊中,其功能的實(shí)現(xiàn)便是進(jìn)行語(yǔ)音識(shí)別,它需要對(duì)待識(shí)別語(yǔ)音模板及參考模板中的DTW距離進(jìn)行計(jì)算,進(jìn)而獲得最終的語(yǔ)音識(shí)別結(jié)果。該模塊需要分析輸入的矢量序列,并提供識(shí)別結(jié)果或拒識(shí)標(biāo)志結(jié)果。模板匹配模塊的識(shí)別過(guò)程如下:首先運(yùn)行模板匹配模塊,由該模塊對(duì)模板的文件狀態(tài)進(jìn)行檢查,然后打開(kāi)模板文件,對(duì)當(dāng)前語(yǔ)音庫(kù)及算法參數(shù)的有效性進(jìn)行檢查,對(duì)部分變量進(jìn)行初始化,然后提出空間申請(qǐng),對(duì)每一次模板的匹配得分進(jìn)行依次計(jì)算,在計(jì)算完畢后根據(jù)模板的匹配得分對(duì)其進(jìn)行排序,進(jìn)而得出相應(yīng)的識(shí)別結(jié)果,然后向標(biāo)志變量賦值,并填寫(xiě)測(cè)試結(jié)構(gòu)表,釋放臨時(shí)申請(qǐng)空間進(jìn)行存儲(chǔ),最后關(guān)閉模式匹配模塊。
在得出最終的識(shí)別結(jié)果后,語(yǔ)音識(shí)別系統(tǒng)會(huì)利用TCP/IP網(wǎng)絡(luò),并采用Socket編程將識(shí)別出來(lái)的結(jié)果傳輸至系統(tǒng)中的電源控制板當(dāng)中。
為了對(duì)聲控系統(tǒng)的性能進(jìn)行測(cè)試,需要對(duì)相應(yīng)的測(cè)試平臺(tái)進(jìn)行構(gòu)建,測(cè)試平臺(tái)在上文中已有描述,因此不再贅述。對(duì)于遠(yuǎn)程聲控系統(tǒng)來(lái)說(shuō),其關(guān)鍵所在便是其能夠在不同環(huán)境中有一個(gè)良好的語(yǔ)音識(shí)別性能,并且系統(tǒng)的響應(yīng)速度應(yīng)較快。將測(cè)試環(huán)境分別設(shè)置在安靜環(huán)境與嘈雜環(huán)境中,以此測(cè)試該系統(tǒng)的語(yǔ)音識(shí)別率及其穩(wěn)定性。在上述環(huán)境中,分別對(duì)每條語(yǔ)音控制命令進(jìn)行40次測(cè)試,測(cè)試結(jié)果表明,在安靜與嘈雜環(huán)境中,特定人的語(yǔ)音平均識(shí)別率分別為96.25%與88.75%,I路斷電的有效識(shí)別次數(shù)分別為39次與36次,I路通電的有效識(shí)別次數(shù)分別為38次與35次;非特定人的語(yǔ)音平均識(shí)別率分別為91.25%與82.5%,I路斷電的有效識(shí)別次數(shù)分別為36次與32次,I路通電的有效識(shí)別次數(shù)分別為37次與34次。這些數(shù)據(jù)說(shuō)明,在充斥著大量噪聲的環(huán)境下,該系統(tǒng)的語(yǔ)音識(shí)別率會(huì)有所降低,這需要對(duì)語(yǔ)音樣本進(jìn)行重新訓(xùn)練來(lái)提高系統(tǒng)的抗噪性能。不過(guò)從總體來(lái)看,無(wú)論是特定人還是非特定人,該系統(tǒng)在不同環(huán)境中的語(yǔ)音識(shí)別率均在80%以上,因此能夠達(dá)到遠(yuǎn)程語(yǔ)音電源控制要求。
利用語(yǔ)音識(shí)別技術(shù)來(lái)對(duì)遠(yuǎn)程設(shè)備進(jìn)行控制,已經(jīng)成為未來(lái)智能設(shè)備的重要發(fā)展方向,探討嵌入式語(yǔ)音識(shí)別技術(shù)的實(shí)現(xiàn),對(duì)于提高語(yǔ)音識(shí)別系統(tǒng)的性能有著重要意義。當(dāng)然,由于噪聲環(huán)境、人的方言、語(yǔ)音輕重等因素都會(huì)影響語(yǔ)音識(shí)別效果,因此提高語(yǔ)音識(shí)別系統(tǒng)的魯棒性與抗噪性是確保語(yǔ)音識(shí)別技術(shù)得以順利實(shí)現(xiàn)的關(guān)鍵。此外,還要采取相應(yīng)措施來(lái)提高系統(tǒng)的安全性與靈活性,這樣才能使該系統(tǒng)為人們提供更好的服務(wù)。
[1]韋高梧,馮祖勇.基于去噪技術(shù)的DSP語(yǔ)音識(shí)別系統(tǒng)設(shè)計(jì)[J].傳感器與微系統(tǒng),2017,36(01):108-110+118.
[2]周曉武.嵌入式實(shí)時(shí)英語(yǔ)語(yǔ)音識(shí)別系統(tǒng)的設(shè)計(jì)與研究[J].電子設(shè)計(jì)工程,2017,25(08):187-190.
[3]董胡.基于嵌入式語(yǔ)音識(shí)別的家用服務(wù)機(jī)器人控制系統(tǒng)[J].微型電腦應(yīng)用,2017,33(04):15-19.
[4]嚴(yán)翔,張屯厚,鄧威.FPGA嵌入式語(yǔ)音識(shí)別控制系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)[J].計(jì)算機(jī)與網(wǎng)絡(luò),2017,43(19):65-67.