5.2.2 語音交互的智能家居系統(tǒng)實(shí)現(xiàn)....................................................................... 63
5.3 小結(jié)............................................................................................................................ 65
第 6 章 總結(jié)與展望 ....................................................................................................... 67
6.1 本文總結(jié).................................................................................................................... 67
6.2 展望............................................................................................................................ 67 參考文獻(xiàn).............................................................................................................................. 69 致 謝..................................................................................................................................... 73 攻讀學(xué)位期間的研究成果........................................................................................... 75
第 1 章緒論
1.1 課題的提出
1.1.1 語音識(shí)別系統(tǒng)發(fā)展
語音識(shí)別的研究工作起步于上個(gè)世紀(jì) 50 年代。90 年代開始,語音識(shí)別技術(shù)逐漸從 實(shí)驗(yàn)室走向應(yīng)用。根據(jù)其實(shí)用化的需要,人耳聽覺模型的研究逐漸為學(xué)者所重視,出現(xiàn) 了不同類型的基于聽覺模型的參數(shù):感知加權(quán)線性預(yù)測參數(shù)(Perceptual Linear Predictive, PLP)、梅爾頻率倒譜系數(shù)(Mel Frequency Cepstrun Coefficient,MFCC)、Gammatone 濾 波器參數(shù)、Gammachirp 濾波器參數(shù)[1][2]。同時(shí)出現(xiàn)了一批比較成功的語音識(shí)別軟件:IBM 的 ViaVioce,Microsoft 的 SpeechSDK,Google 的 Google Speech API,Nuance 的 Naturally Speaking 以及開源語音識(shí)別系統(tǒng)HTK,Sphinx[3]和 Julius。
進(jìn)入 21 世紀(jì)后隨著電子產(chǎn)品的普及,嵌入式語音處理技術(shù)迅速發(fā)展。語音識(shí)別技 術(shù)也順勢進(jìn)入該領(lǐng)域,其表現(xiàn)形式為出現(xiàn)獨(dú)立的語音識(shí)別芯片如 Sensory 公司的 Rsc 系 列語音識(shí)別芯片、 公司的 Unispeech 和 Unilite 語音芯片等;或者為語音識(shí)別軟 件出現(xiàn)嵌入式版本分支,例如 SpeechSDK,Google Speech API,Sphinx 等先后實(shí)現(xiàn)對(duì)嵌 入式設(shè)備的支持。我國語音識(shí)別研究工作一直緊跟國際水平,國內(nèi)的語音識(shí)別始于七十 年代,國家也很重視,并把大詞匯量語音識(shí)別的研究列入“863”計(jì)劃,由中科院聲學(xué) 所、自動(dòng)化所及清華大學(xué)等單位研究開發(fā)[4]。經(jīng)過四十余年的發(fā)展,漢語語音識(shí)別領(lǐng)域 取得了豐碩的成果。在實(shí)用方面,也涌現(xiàn)出不少以語音識(shí)別技術(shù)為核心的公司,例如語 音識(shí)別芯片提供商 ICRoute,語音識(shí)別引擎提供商科大訊飛。
語音識(shí)別技術(shù)以其極具誘惑力的發(fā)展?jié)摿,吸引了國?nèi)外一批又一批學(xué)者投入其中, 并且取得了很大的成就,部分技術(shù)已經(jīng)走出實(shí)驗(yàn)室進(jìn)入實(shí)用化階段,很大的鼓舞了研究 人員的熱情,然而其發(fā)展并非一帆風(fēng)順,現(xiàn)在還有許多困難需要解決:
1.噪聲環(huán)境:由于環(huán)境復(fù)雜、噪聲源較多,使得在實(shí)驗(yàn)室環(huán)境下可以輕松識(shí)別的 系統(tǒng)應(yīng)用在實(shí)際環(huán)境中識(shí)別率明顯下降[5];
2.連續(xù)語音:漢語連續(xù)語音的連續(xù)程度高,協(xié)同發(fā)音現(xiàn)象嚴(yán)重,表現(xiàn)為孤立詞匯 識(shí)別率很高,而在連續(xù)語音條件下識(shí)別率下降[6];
3.非特定人:系統(tǒng)對(duì)用戶具有“選擇性”,目前商業(yè)化的軟件大多需要進(jìn)行繁瑣的
“訓(xùn)練”,使語音識(shí)別系統(tǒng)可以針對(duì)性的對(duì)用戶語音進(jìn)行識(shí)別,一旦更換系統(tǒng)或用戶, 則需要重新“訓(xùn)練”,為用戶使用帶來諸多不便[7]。
1.1.2 語音識(shí)別關(guān)鍵技術(shù)
目前大多數(shù)語音識(shí)別技術(shù)是基于統(tǒng)計(jì)模式的。從語音產(chǎn)生機(jī)理來看,語音識(shí)別可以 分為語音層和語言層兩部分,基于這種模式的語音識(shí)別系統(tǒng)包括四個(gè)部分:特征提取, 聲學(xué)模型訓(xùn)練,語言模型訓(xùn)練和搜索算法[7]。嘗試解決當(dāng)前語音識(shí)別技術(shù)所面臨的的困 難,可以從以下幾個(gè)方面入手:
(1) 語音特征:聲學(xué)模型是語音識(shí)別最底層的模型,代表著語音學(xué)信息,是系統(tǒng)中 的關(guān)鍵部分。聲學(xué)模型建模時(shí)訓(xùn)練單元的區(qū)分能力,直接取決于特征提取方法的優(yōu)劣。 特征提取要求提取的特征不但能夠有效的降低數(shù)字語音信號(hào)的數(shù)據(jù)量,還要保證包含原 始語音的全部有效信息。另外,特征提取最好還能夠具有抗噪性,這樣就可以從源頭上 保證語音識(shí)別系統(tǒng)的魯棒性[7]。
(2) 說話人適應(yīng)性:每個(gè)人的語音中不但包含語言信息,還包含個(gè)人特征信息,目 前的語音識(shí)別系統(tǒng)無法將兩者有效區(qū)分。對(duì)于特定人的語音識(shí)別系統(tǒng),它采集特定人的 語音,進(jìn)行訓(xùn)練、識(shí)別,其識(shí)別率一般可以達(dá)到 以上。然而對(duì)于非特定人識(shí)別,由 于語音中個(gè)人特征的影響,造成訓(xùn)練語音庫和測試語音庫總會(huì)存在差異,訓(xùn)練語音庫不
能全面覆蓋和反映測試語音庫的語音[5]。通常通過下面的方法解決此類問題:其一,深 入研究語音發(fā)音機(jī)理,從中找出與說話人無關(guān)的反映語音—文本對(duì)應(yīng)關(guān)系的參數(shù)序列, 本質(zhì)上是尋找一種語音特征參數(shù),可以包含原始語音的全部語音學(xué)信息,而剔除說話人 的個(gè)性信息[4][8]。其二,增大訓(xùn)練集的規(guī)模,使之涵蓋盡可能多的發(fā)音人的聲學(xué)特征, 從而減小個(gè)性信息的影響,由于這需要很大的語料庫而且訓(xùn)練時(shí)間太長,影響實(shí)用性, 故這種方式不予推薦[7]。
(3) 語法知識(shí)的利用。選擇合適的語法知識(shí)可以明顯的糾正音素序列的錯(cuò)誤判別, 降低最終語句的錯(cuò)誤識(shí)別數(shù)。實(shí)際上,連續(xù)語音識(shí)別系統(tǒng)或多或少結(jié)合了某種語法知識(shí)。 語法知識(shí)定義越清楚、應(yīng)用越充分,系統(tǒng)的識(shí)別率就會(huì)越高。目前典型的用于描述語法 規(guī)則結(jié)構(gòu)的方法是使用狀態(tài)樹轉(zhuǎn)移結(jié)構(gòu)的統(tǒng)計(jì)模式[6][9]。
1.1.3 語音識(shí)別在物聯(lián)網(wǎng)上應(yīng)用
1999 年美國麻省理工學(xué)院的 Auto-ID 實(shí)驗(yàn)室首次提出物聯(lián)網(wǎng)(Internet of Things,IoT)
的概念。在物聯(lián)網(wǎng)的發(fā)展過程中其內(nèi)涵幾經(jīng)變化,目前認(rèn)為物聯(lián)網(wǎng)指將所有物體通過信 息傳感設(shè)備如射頻識(shí)別、全球定位系統(tǒng)、紅外感應(yīng)器等與互聯(lián)網(wǎng)相結(jié)合,形成一個(gè)智能 化識(shí)別和管理的網(wǎng)絡(luò)。其目的是讓所有的物品都與網(wǎng)絡(luò)連接在一起,方便識(shí)別和管理。 物聯(lián)網(wǎng)的核心是實(shí)現(xiàn)物體(包含人)之間的互連,從而能夠?qū)崿F(xiàn)物體與物體之間的信息交 換和通信。物體信息通過網(wǎng)絡(luò)傳輸?shù)叫畔⑻幚碇行暮罂蓪?shí)現(xiàn)各種信息服務(wù)和應(yīng)用。物聯(lián) 網(wǎng)被預(yù)言為繼互聯(lián)網(wǎng)之后全球信息產(chǎn)業(yè)的又一次科技與經(jīng)濟(jì)浪潮,受到各國政府、企業(yè) 和學(xué)術(shù)界的重視[10][11]。
物聯(lián)網(wǎng)的應(yīng)用領(lǐng)域主要包括物流監(jiān)控、污染監(jiān)控、遠(yuǎn)程醫(yī)療、智能交通和智能家居 等。其中,智能家居是以住宅為平臺(tái),兼?zhèn)浣ㄖ、網(wǎng)絡(luò)通信、信息家電、設(shè)備自動(dòng)化, 集系統(tǒng)、結(jié)構(gòu)、服務(wù)、管理為一體的高效、舒適、安全、便利、環(huán)保的居住環(huán)境。智能 家居因其應(yīng)用前景廣闊、潛在市場需求巨大且發(fā)展迅猛而受到廠商的廣泛關(guān)注[12]。
目前,大多數(shù)智能家居系統(tǒng)的人機(jī)交互是通過鍵盤、觸摸屏和 LCD 來完成[13][14]。 對(duì)用戶的操作地點(diǎn)、交互方式有很大的限制。本文中,嘗試將語音識(shí)別系統(tǒng)應(yīng)用到智能 家居系統(tǒng)中,使用戶可以通過語音來完成和智能家居系統(tǒng)的交互,即構(gòu)建人機(jī)語音交互 的智能家居系統(tǒng)。該系統(tǒng)將用戶從傳統(tǒng)的利用手和眼的交互方式中解放出來,可以在不 固定的地點(diǎn),不中斷用戶當(dāng)前行為的情況下利用語音信號(hào)以非接觸式完成對(duì)系統(tǒng)的操作。
1.2 研究內(nèi)容
本文主要內(nèi)容集中在三個(gè)方面,如圖 1.1 所示:
Fig. 1.1 The main research content in this article
第一:目前基于 MFCC 和 GFCC(Gammatone Frequency Cepstrum Coefficient)的語音 識(shí)別系統(tǒng)噪聲魯棒性較差。本文將深入學(xué)習(xí)基于聽覺模型的耳蝸倒譜系數(shù)(Cochlea Feature Cepstral Coeffieients,CFCC)的定義及各個(gè)環(huán)節(jié)的意義,在 MATLAB 環(huán)境下對(duì)該 參數(shù)進(jìn)行仿真研究,分步論述 CFCC 的提取方法及實(shí)現(xiàn)過程。然后在不同信噪比條件下, 與 MFCC 和 GFCC 進(jìn)行對(duì)比,觀察其抗噪性是否優(yōu)于他們。
第二:語音識(shí)別系統(tǒng)是一個(gè)完整的語音到文本的處理過程,不但包含特征提取環(huán)節(jié), 還包含預(yù)處理、模式匹配等環(huán)節(jié),實(shí)現(xiàn)語音識(shí)別系統(tǒng)每個(gè)環(huán)節(jié)都必不可少。Sphinx 是一 個(gè)開源的、完整的語音識(shí)別系統(tǒng),并且擁有完善的工具。本文中,首先學(xué)習(xí) Sphinx 的 使用,掌握聲學(xué)模型和語言模型的訓(xùn)練方法,掌握 Sphinx 語音識(shí)別系統(tǒng)的構(gòu)建方法。 然后深入閱讀 Sphinx 源代碼,了解其組織架構(gòu),找出其中默認(rèn)參數(shù)MFCC 的提取部分, 并修改為提取 CFCC 參數(shù),實(shí)現(xiàn)基于 CFCC 的 Sphinx 語音識(shí)別系統(tǒng)。
第三:本文以物聯(lián)網(wǎng)的典型應(yīng)用——智能家居系統(tǒng)為應(yīng)用環(huán)境,學(xué)習(xí) Linux 操作系 統(tǒng)知識(shí),掌握基本的操作方法及程序開發(fā)流程,在以O(shè)MAP3530 為核心的嵌入式開發(fā) 平臺(tái)上構(gòu)建嵌入式 Linux 操作系統(tǒng),并添加 QT 圖形界面庫、ALSA(Advanced Linux Sound Architecture)音頻驅(qū)動(dòng)庫、NRF24L01 無線模塊及驅(qū)動(dòng)等必要支持。然后將基于 CFCC 的 Sphinx 語音識(shí)別系統(tǒng)移植到該開發(fā)平臺(tái),并以此為核心,構(gòu)建語音交互的智能家居系統(tǒng)。
1.3 論文安排
本文的結(jié)構(gòu)安排如下: 第一章:介紹語音識(shí)別技術(shù)的現(xiàn)狀,語音識(shí)別的關(guān)鍵技術(shù),并概括了本文的主要研
究內(nèi)容。 第二章:詳細(xì)介紹典型語音識(shí)別系統(tǒng)的各個(gè)組成部分,對(duì)理解語音識(shí)別各個(gè)環(huán)節(jié)如
何工作有很大的指導(dǎo)作用。介紹了目前幾種主流的基于人耳聽覺模型的特征參數(shù)提取方 法以及隱馬爾科夫模型應(yīng)用于語音識(shí)別領(lǐng)域的基本原理和方法。另外,還介紹了 Sphinx 的原理及使用方法。
第三章:首先闡述 CFCC 的數(shù)學(xué)定義,然后詳細(xì)介紹其在 MATLAB 環(huán)境下的提取 方法及仿真實(shí)現(xiàn),并將此特征參數(shù)與傳統(tǒng)特征參數(shù)進(jìn)行比較,實(shí)驗(yàn)表明該參數(shù)在噪聲環(huán) 境下魯棒性更好。最后,介紹如何將該參數(shù)整合到 Sphinx 系統(tǒng)中。
第四章:首先介紹系統(tǒng)硬件平臺(tái),然后介紹軟件開發(fā)平臺(tái)建立過程。這為后續(xù)應(yīng)用 系統(tǒng)開發(fā)做好必要準(zhǔn)備。
第五章:主要介紹基于 CFCC 的語音識(shí)別系統(tǒng)在物聯(lián)網(wǎng)的應(yīng)用實(shí)現(xiàn),包括設(shè)備驅(qū)動(dòng) 實(shí)現(xiàn)及應(yīng)用系統(tǒng)實(shí)現(xiàn)兩部分。最終實(shí)現(xiàn)語音交互的智能家居系統(tǒng)。
第六章:總結(jié)本論文所做工作,針對(duì)系統(tǒng)中不完善的地方提出可能的改善方案,對(duì) 后續(xù)研究做簡明交待。
第 2 章語音識(shí)別基礎(chǔ)
2.1 典型語音識(shí)別系統(tǒng)構(gòu)成
典型語音識(shí)別系統(tǒng)主要由三部分構(gòu)成,系統(tǒng)示意圖如下:
2.1.1 預(yù)處理
人類的語音信號(hào)是由肺部的收縮,壓迫氣流由支氣管經(jīng)過聲門和聲道引起音頻振蕩 而產(chǎn)生的一種聲波。通常認(rèn)為語音信號(hào)的信息主要集中在40-4kHz的范圍內(nèi)[15]。
聲波是機(jī)械波,數(shù)字電路系統(tǒng)對(duì)語音進(jìn)行處理,首先需要將其轉(zhuǎn)換為數(shù)字信號(hào),并 確定有效語音數(shù)據(jù)段,該過程即預(yù)處理,一般包括預(yù)濾波(抗混疊濾波)、量化、預(yù)加重 和端點(diǎn)檢測。
(一) 預(yù)濾波 根據(jù)奈奎斯特采樣定律可知,采樣頻率應(yīng)為輸入帶限信號(hào)最高頻率的二倍以上?
慮到在噪音環(huán)境中寬帶隨機(jī)噪聲疊加的結(jié)果,使得語音信號(hào)可能包含4kHz以上頻率成分, 為了防止頻譜混疊,必須在采樣前進(jìn)行一次預(yù)濾波去掉有效信號(hào)之外的高頻噪音。預(yù)濾 波還有一個(gè)目的是避免50Hz的工頻干擾,因此預(yù)濾波是一個(gè)帶通濾波器,其下截止頻率
fL=50Hz,上截止頻率 fH則根據(jù)需要定義。本中采樣頻率為16kHz,上截止頻率為fH=4k
Hz。
(二) 采樣及量化 采樣是將連續(xù)時(shí)間的語音信號(hào)轉(zhuǎn)換成離散時(shí)間信號(hào),采樣之后的語音數(shù)據(jù)是離散時(shí)
間的模擬數(shù)據(jù),利用計(jì)算機(jī)進(jìn)行存儲(chǔ)和處理則要經(jīng)過量化,即AD轉(zhuǎn)換。原信號(hào)和量化 后的信號(hào)的差值稱為量化誤差。量化時(shí),采用較大的量化級(jí)數(shù)來記錄采樣點(diǎn)的幅度,則 量化誤差越小,但相應(yīng)的就會(huì)增加存儲(chǔ)容量和處理時(shí)的計(jì)算量,因此要根據(jù)需求選擇合 理的量化級(jí)數(shù)[15]。本文中量化級(jí)數(shù)為16,即每個(gè)采樣點(diǎn)為16bit。
(三) 預(yù)加重
由于語音信號(hào)的平均功率譜受聲門激勵(lì)和嘴唇輻射的影響,高頻端在 800Hz 以上按
6dB 倍頻程跌落。預(yù)加重的目的是提升高頻部分,使信號(hào)的頻譜變得平坦,保證可以在 低頻到高頻的整個(gè)頻帶中用同樣的信噪比求頻譜,以便進(jìn)行頻譜分析或聲道參數(shù)分析[15]。 預(yù)加重可以使用一階數(shù)字濾波器來實(shí)現(xiàn):
系數(shù)μ常在0.9至0.95之間。該范圍所確定的加重曲線與人中耳的靈敏度相適應(yīng),本
文選取μ=0.9375。 (四) 端點(diǎn)檢測 語音信號(hào)的端點(diǎn)檢測是語音處理中常常涉及的問題。實(shí)驗(yàn)表明,準(zhǔn)確地檢測出語音
信號(hào)的端點(diǎn)不但可以減少后續(xù)處理的計(jì)算量,而且一定程度上影響整個(gè)系統(tǒng)的性能。目 前常用的端點(diǎn)檢測方法是基于短時(shí)能量和短時(shí)平均過零率的檢測方法(也稱作雙門限比 較法)。