彭熙 錢(qián)瑩晶 黃錦 龔蕭楠 陳雙婷 楊蕙先
摘? 要:隨著時(shí)代的發(fā)展和人工智能的邁進(jìn),語(yǔ)音識(shí)別技術(shù)也正在以驚人的速度向前推進(jìn),并且逐漸成為國(guó)內(nèi)外科研機(jī)構(gòu)所關(guān)注的焦點(diǎn)。該文對(duì)語(yǔ)音識(shí)別的整個(gè)過(guò)程,包括語(yǔ)音特征值提取、模型庫(kù)的建立、模型匹配算法,進(jìn)行了深入的研究,并提出了基于語(yǔ)音特征值統(tǒng)計(jì)學(xué)模型的語(yǔ)音識(shí)別算法,系統(tǒng)測(cè)試結(jié)果表明,該算法具有運(yùn)算量少、結(jié)構(gòu)簡(jiǎn)單、識(shí)別速度快和準(zhǔn)確度高等優(yōu)點(diǎn)。
關(guān)鍵詞:語(yǔ)音識(shí)別? 特征值統(tǒng)計(jì)學(xué)模型? 模型庫(kù)? 模型匹配算法
中圖分類(lèi)號(hào):TP38 ? ?文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2019)08(a)-0001-04
隨著生活水平的提高,人與人之間的溝通可以通過(guò)手機(jī)、電話等工具來(lái)實(shí)現(xiàn),而語(yǔ)言就是人與人之間交流的橋梁。伴隨著科技的進(jìn)步和發(fā)展,可以實(shí)現(xiàn)人類(lèi)和機(jī)器之間的交流和溝通,從而能夠更好地提高人們的生產(chǎn)和生活質(zhì)量,其中,語(yǔ)音識(shí)別是實(shí)現(xiàn)這種交流的核心技術(shù)[1]。
語(yǔ)音識(shí)別技術(shù)的指標(biāo)主要有識(shí)別速度和準(zhǔn)確度。該文深入研究了語(yǔ)音識(shí)別系統(tǒng)的原理組成部分和工作流程,在此基礎(chǔ)上,對(duì)國(guó)內(nèi)外研究的語(yǔ)音識(shí)別所采用的關(guān)鍵技術(shù):動(dòng)態(tài)時(shí)間規(guī)整算法(DTW)[2]、隱馬爾可夫模型(HMM)[3]和人工神經(jīng)網(wǎng)絡(luò)算法(ANN)[4]這3種方法進(jìn)行了比較和分析,并重點(diǎn)研究了動(dòng)態(tài)時(shí)間規(guī)整算法(DTW),針對(duì)其運(yùn)算量較多且復(fù)雜的問(wèn)題,提出了改進(jìn)的算法,即基于特征值統(tǒng)計(jì)學(xué)模型的語(yǔ)音識(shí)別算法。與此同時(shí),對(duì)于常用的語(yǔ)音信號(hào)的端點(diǎn)檢測(cè)技術(shù)存在的弊端進(jìn)行了改進(jìn),通過(guò)檢測(cè)不同環(huán)境噪聲的均值來(lái)設(shè)置閾值進(jìn)行語(yǔ)音輸入的判斷,進(jìn)而實(shí)現(xiàn)語(yǔ)音信號(hào)的端點(diǎn)檢測(cè),為后續(xù)的語(yǔ)音識(shí)別的準(zhǔn)確度提供了有力的保障。通過(guò)系統(tǒng)測(cè)試表明,該算法具有識(shí)別速度快、準(zhǔn)確度較高等優(yōu)點(diǎn)。
1? 算法的原理和工作過(guò)程
該文研究的基于特征值統(tǒng)計(jì)的語(yǔ)音識(shí)別算法的核心是語(yǔ)音特征值統(tǒng)計(jì)模型的建立。首先對(duì)輸入語(yǔ)音信號(hào)進(jìn)行采樣,其目的是提取部分語(yǔ)音信號(hào)進(jìn)行后續(xù)的處理,此時(shí)的語(yǔ)音信號(hào)為模擬信號(hào)則需要進(jìn)行模擬信號(hào)到數(shù)字信號(hào)的轉(zhuǎn)換處理,再進(jìn)行快速傅里葉變換成頻域信號(hào),然后通過(guò)DSP處理提取語(yǔ)音的特征值,對(duì)提取的語(yǔ)音特征值進(jìn)行統(tǒng)計(jì)學(xué)分析并建立相應(yīng)的統(tǒng)計(jì)模型,接著再進(jìn)行模型的匹配,輸出語(yǔ)音識(shí)別結(jié)果。語(yǔ)音識(shí)別的原理如圖1所示。
2? 語(yǔ)音信號(hào)的預(yù)處理
為了提高系統(tǒng)的語(yǔ)音識(shí)別效率,則需要對(duì)原始語(yǔ)音信號(hào)進(jìn)行相應(yīng)的預(yù)處理。語(yǔ)音信號(hào)的預(yù)處理,主要包括了A/D轉(zhuǎn)換、預(yù)加重、分幀和加窗等。
2.1 語(yǔ)音信號(hào)的采樣
語(yǔ)音信號(hào)的采樣是語(yǔ)音識(shí)別的開(kāi)始,主要目的是將采集到的模擬信號(hào)轉(zhuǎn)變成數(shù)字信號(hào),以便進(jìn)行后續(xù)的處理。過(guò)程是對(duì)語(yǔ)音信號(hào)采樣,按一定的周期進(jìn)行掃描,將原始連續(xù)的語(yǔ)音信號(hào)轉(zhuǎn)換成時(shí)間上離散的信號(hào),然后采用脈沖編碼調(diào)制(PCM)的方法將其振幅進(jìn)行量化,一般采用二進(jìn)制編碼表示,最后就轉(zhuǎn)換成了數(shù)字信號(hào)。
根據(jù)奈奎斯特抽樣定律,當(dāng)采樣頻率高于信號(hào)的最高頻率兩倍時(shí),才能夠不失真地還原出原始語(yǔ)音信號(hào)[5]。語(yǔ)音信號(hào)的頻率范圍是200~3400kHz,故而采用8000kHz的采樣頻率能還原出語(yǔ)音信號(hào)。
2.2 預(yù)濾波
在實(shí)際的生活中語(yǔ)音信號(hào)會(huì)存在噪聲,這將對(duì)語(yǔ)音識(shí)別的結(jié)果造成一定的誤差,所以在模數(shù)轉(zhuǎn)換之前,需要進(jìn)行預(yù)濾波處理,其主要目的是:(1)抑制50~60Hz的電源噪聲;(2)防止采樣信號(hào)產(chǎn)生混疊現(xiàn)象。
2.3 分幀和加窗
對(duì)語(yǔ)音信號(hào)進(jìn)行分幀,其實(shí)質(zhì)是對(duì)語(yǔ)音信號(hào)進(jìn)行加窗處理,使語(yǔ)音信號(hào)能夠被完整的收錄,從而有利于語(yǔ)音特征值的提取,提高識(shí)別準(zhǔn)確度。綜合考慮,該文的幀長(zhǎng)為4096個(gè)采樣點(diǎn)。語(yǔ)音信號(hào)分幀如圖2所示。
3? 語(yǔ)音信號(hào)的起點(diǎn)判斷
語(yǔ)音的起始判斷,主要作用是判斷語(yǔ)音信號(hào)的開(kāi)始點(diǎn)和結(jié)束點(diǎn)。有效的語(yǔ)音起始判斷不僅能縮短系統(tǒng)的處理時(shí)間,還能提高系統(tǒng)的識(shí)別效率。
該文所研究的語(yǔ)音起始判斷是基于STM32F4開(kāi)發(fā)平臺(tái)去采集語(yǔ)音信號(hào)所處環(huán)境的噪聲經(jīng)過(guò)采樣后的得到的值并收集起來(lái),然后通過(guò)計(jì)算和分析得出噪聲均值,并設(shè)置此噪聲均值為語(yǔ)音起始點(diǎn)的判斷閾值,從而進(jìn)行相應(yīng)的判斷,語(yǔ)音信號(hào)的起始判斷算法整體流程如圖3所示。
4? 語(yǔ)音特征值的提取
語(yǔ)音特征值的提取是對(duì)經(jīng)過(guò)預(yù)處理和起點(diǎn)判斷后的語(yǔ)音信號(hào)再次分析和處理,利用算法濾除掉與語(yǔ)音無(wú)關(guān)的信息,提取出語(yǔ)音中特有的特征信息的過(guò)程。提取的特征值的質(zhì)量,將大大影響語(yǔ)音識(shí)別系統(tǒng)性能的好壞。
目前,語(yǔ)音特征參數(shù)的提取方法主要有線性預(yù)測(cè)系數(shù)(LPC)、線性預(yù)測(cè)倒譜系數(shù)(LPCC)、梅爾頻率倒譜系數(shù)(MFCC)。通過(guò)實(shí)驗(yàn)測(cè)試的對(duì)比和分析,可得知3種方法的運(yùn)算量都較大,系統(tǒng)的識(shí)別速度較慢且準(zhǔn)確度不高,在此基礎(chǔ)上,該文通過(guò)總結(jié)3種方法上的缺陷和不足,提出基于語(yǔ)音特征值統(tǒng)計(jì)的語(yǔ)音識(shí)別算法,其過(guò)程主要有:語(yǔ)音信號(hào)的預(yù)處理、快速傅里葉變換(FFT)、數(shù)字信號(hào)處理(DSP)等。語(yǔ)音特征值提取的原理如圖4所示。
4.1 預(yù)處理
語(yǔ)音信號(hào)的預(yù)處理包括語(yǔ)音信號(hào)采樣、A/D轉(zhuǎn)換、分幀和加窗處理,主要作用是將模擬的語(yǔ)音信號(hào)轉(zhuǎn)換成數(shù)學(xué)信號(hào),以便于后續(xù)語(yǔ)音信號(hào)的處理和分析。
4.2 快速傅里葉變換(FFT)
在語(yǔ)音信號(hào)進(jìn)行預(yù)處理之后,原始模擬語(yǔ)音信號(hào)現(xiàn)在已變成數(shù)字信號(hào),然后再對(duì)其進(jìn)行頻域分析,對(duì)語(yǔ)音信號(hào)進(jìn)行頻域分析從而確定語(yǔ)音的頻譜特點(diǎn)。該研究的頻域分析采用的是快速傅里葉變換(FFT)的方法。該方法的計(jì)算量較少,運(yùn)算速度快,在一定程度上能提高系統(tǒng)的識(shí)別速度。
4.3 數(shù)字信號(hào)處理(DSP)
4.3.1 對(duì)FFT處理后的值取實(shí)部運(yùn)算
在原始數(shù)字語(yǔ)音信號(hào)經(jīng)過(guò)FFT處理之后的值由實(shí)部和虛部?jī)刹糠纸M成,因?yàn)閷?shí)部的值在一定程度上跟語(yǔ)音信號(hào)在頻譜上的值很接近,為了提高算法的運(yùn)算速度和減少運(yùn)算量,在該文研究中將虛部省略,直接取FFT處理后的實(shí)部值進(jìn)行下面的分析處理。
4.3.2 對(duì)每幀數(shù)據(jù)進(jìn)行從大到小排序
對(duì)FFT處理之后的值取出實(shí)部值運(yùn)用冒泡排序法,將每幀數(shù)據(jù)進(jìn)行從大到小的排序,主要作用是找出每幀語(yǔ)音信號(hào)值的最大值,并將每幀數(shù)值的最大值集中存在一個(gè)數(shù)組中,該數(shù)組里面的值為語(yǔ)音信號(hào)的特征值。
4.4 分析語(yǔ)音特征值并得出統(tǒng)計(jì)模型
在得到語(yǔ)音信號(hào)的特征值之后,再對(duì)特征值進(jìn)行統(tǒng)計(jì)學(xué)的分析和歸納,得到每一種語(yǔ)音信號(hào)的特征值統(tǒng)計(jì)規(guī)律,并且將這特征值統(tǒng)計(jì)規(guī)律封裝成函數(shù)模型,即語(yǔ)音特征值的統(tǒng)計(jì)模型。
5? 語(yǔ)音識(shí)別的匹配
該文所研究的語(yǔ)音識(shí)別匹配過(guò)程是:先將原始語(yǔ)音信號(hào)依次通過(guò)語(yǔ)音信號(hào)的預(yù)處理、快速傅里葉變換(FFT)和數(shù)字信號(hào)處理(DSP)處理建立每種語(yǔ)音的特征值統(tǒng)計(jì)模型并建成參考模型庫(kù);在進(jìn)行語(yǔ)音識(shí)別時(shí)通過(guò)測(cè)試模型和參考模型相匹配,即可輸出識(shí)別結(jié)果。部分識(shí)別匹配算法程序如下。
if((462.00<(double)fl_temp_data&&(double)fl_temp_data<464.00)||(630.00<(double)fl_temp_data&&(double)fl_temp_data<638.00)||(800.00<(double)fl_temp_data&&(double)fl_temp_data<810.00)||(438.00<(double)fl_temp_data&&(double)fl_temp_data<440.00)) //筆掉地上的聲音匹配算法
{
pen_exist ++;
if(pen_exist >= 6)
{
SOUND |= Pen_Sound;//識(shí)別語(yǔ)音為:筆掉地上的聲音 result = SET;
}
}
6? 基于特征值統(tǒng)計(jì)語(yǔ)音識(shí)別算法的系統(tǒng)研究和設(shè)計(jì)
6.1 系統(tǒng)的開(kāi)發(fā)環(huán)境
該系統(tǒng)的開(kāi)發(fā)環(huán)境是STM32F4開(kāi)發(fā)板,ST(意法半導(dǎo)體)推出了以基于ARM?Cortex?-M4為內(nèi)核的STM32F4系列高性能微控制器,其采用了90nm的NVM工藝和ART(自適應(yīng)實(shí)時(shí)存儲(chǔ)器加速器)。ART技術(shù)使得程序零等待執(zhí)行,提升了程序執(zhí)行的效率,將Cortext-M4的性能發(fā)揮到了極致,使得STM32F4系列可達(dá)到210DMIPS@168MHz。自適應(yīng)實(shí)時(shí)加速器能夠完全釋放Cortex-M4內(nèi)核的性能;當(dāng)CPU工作于所有允許的頻率(≤168MHz)時(shí),在閃存中運(yùn)行的程序,可以達(dá)到相當(dāng)于零等待周期的性能。STM32F4系列微控制器集成了單周期DSP指令和FPU(Floating Point Unit,浮點(diǎn)單元),提升了計(jì)算能力,可以進(jìn)行一些復(fù)雜的計(jì)算和控制。STM32F4系列引腳和軟件兼容于當(dāng)前的STM32 F2系列產(chǎn)品。
6.2 識(shí)別語(yǔ)音類(lèi)型
該系統(tǒng)所識(shí)別的語(yǔ)音類(lèi)型為低頻率的語(yǔ)音信號(hào),并且聲源播放時(shí)間持續(xù)10s以上。
6.3 系統(tǒng)測(cè)試
該系統(tǒng)的語(yǔ)音識(shí)別過(guò)程分為3個(gè)階段,分別是語(yǔ)音輸入判斷階段、識(shí)別進(jìn)行階段和識(shí)別結(jié)果輸出階段。
6.3.1 語(yǔ)音輸入判斷階段
在日常生活的環(huán)境中會(huì)存在噪聲,噪聲的存在將對(duì)語(yǔ)音識(shí)別的輸出結(jié)果會(huì)造成一定的不利影響。因此,該文研究了語(yǔ)音起點(diǎn)判斷的算法,主要作用是區(qū)分語(yǔ)音部分和環(huán)境噪聲,提高系統(tǒng)的語(yǔ)音識(shí)別效率。系統(tǒng)的測(cè)試結(jié)果如圖5所示。
6.3.2 識(shí)別進(jìn)行階段
識(shí)別的算法是匹配特征值模型。識(shí)別進(jìn)行測(cè)試如圖6所示。
6.3.3 識(shí)別結(jié)果輸出階段
在識(shí)別進(jìn)行階段,運(yùn)用特征值統(tǒng)計(jì)模型匹配算法來(lái)快速準(zhǔn)確地實(shí)現(xiàn)語(yǔ)音識(shí)別,并將識(shí)別結(jié)果通過(guò)TFT-LCD液晶屏顯示,與此同時(shí),可以顯示識(shí)別語(yǔ)音的頻譜,目的是為了分析識(shí)別結(jié)果。圖中的05為語(yǔ)音的編號(hào),頻譜顯示范圍是0~20kHz,識(shí)別結(jié)果輸出測(cè)試如圖7、圖8所示。
7? 結(jié)語(yǔ)
該文所研究的基于特征值統(tǒng)計(jì)的語(yǔ)音識(shí)別算法在以STM32F4開(kāi)發(fā)平臺(tái)構(gòu)建的系統(tǒng)中運(yùn)行,測(cè)試表明,該算法不僅具有識(shí)別單頻和混頻語(yǔ)音的能力,而且具有識(shí)別速度快、準(zhǔn)確度較高和界面友好等優(yōu)點(diǎn)。隨著人們對(duì)生活質(zhì)量的不斷追求,該文中研究的基于特征值統(tǒng)計(jì)的語(yǔ)音識(shí)別算法能廣泛應(yīng)用于安全監(jiān)控等領(lǐng)域,提高生產(chǎn)效率和生活質(zhì)量。
參考文獻(xiàn)
[1] 肖愛(ài)民.基于語(yǔ)音識(shí)別技術(shù)的智能家居控制系統(tǒng)的設(shè)計(jì)[D].南昌大學(xué),2018.
[2] 呂修任.基于改進(jìn)DTW的語(yǔ)音識(shí)別算法的設(shè)計(jì)與實(shí)現(xiàn)[D].東南大學(xué),2017.
[3] 陳士心.基于Android平臺(tái)的語(yǔ)音識(shí)別系統(tǒng)的設(shè)計(jì)[D].華南理工大學(xué),2017.
[4] 李燕萍.非特定人的語(yǔ)音識(shí)別系統(tǒng)研究[D].安徽工業(yè)大學(xué),2016.
[5] 張肅文.高頻電子線路[M].5版.北京:高等教育出版社,2009.