找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 8718|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

基于CFCC的語音識(shí)別系統(tǒng)設(shè)計(jì)及在物聯(lián)網(wǎng)上的應(yīng)用 包含matlab程序 論文

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
adai_CFCC是本文所使用到的代碼,論文中的圖是在該代碼基礎(chǔ)上修改相關(guān)參數(shù)得到的。
參考論文文件夾為本文主要參考論文。
基于CFCC的語音識(shí)別系統(tǒng)設(shè)計(jì)及在物聯(lián)網(wǎng)上的應(yīng)用為本人畢業(yè)論文。

版權(quán)所有,盜版請(qǐng)注明出處。
阿呆-talon56@163.com

語音特征參數(shù)CFCC的提取代碼,原創(chuàng)作品。matlab程序,含參考文獻(xiàn)及畢業(yè)論文,參考價(jià)值比較大吧


所有文件及其完整版本的論文下載 CFCC.rar (6.49 MB, 下載次數(shù): 42)


下面是論文預(yù)覽(無圖版):
Northeastern University


獨(dú)創(chuàng)性聲明


本人聲明,所呈交的學(xué)位論文是在導(dǎo)師的指導(dǎo)下完成的。論文中取得 的研究成果除加以標(biāo)注和致謝的地方外,不包含其他人己經(jīng)發(fā)表或撰寫過 的研究成果,也不包括本人為獲得其他學(xué)位而使用過的材料。與我一同工 作的同志對(duì)本研究所做的任何貢獻(xiàn)均己在論文中作了明確的說明并表示謝意。


學(xué)位論文作者簽名: 日期:


學(xué)位論文版權(quán)使用授權(quán)書


本學(xué)位論文作者和指導(dǎo)教師完全了解東北大學(xué)有關(guān)保留、使用學(xué)位論 文的規(guī)定:即學(xué)校有權(quán)保留并向國家有關(guān)部門或機(jī)構(gòu)送交論文的復(fù)印件和 磁盤,允許論文被查閱和借閱。本人同意東北大學(xué)可以將學(xué)位論文的全部 或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進(jìn)行檢索、交流。





作者和導(dǎo)師同意網(wǎng)上交流的時(shí)間為作者獲得學(xué)位后: 半年□一年□    一年半□              兩年□


學(xué)位論文作者簽名:導(dǎo)師簽名: 簽字日期:簽字日期:


東北大學(xué)碩士學(xué)位論文摘要
基于 CFCC 的語音識(shí)別系統(tǒng)設(shè)計(jì)及在物聯(lián)網(wǎng)上的應(yīng)用


摘要


語音特征參數(shù)提取是影響語音識(shí)別系統(tǒng)的關(guān)鍵技術(shù)之一,近年來結(jié)合聽覺特性的語 音特征參數(shù)提取是語音識(shí)別領(lǐng)域的研究熱點(diǎn)。而隨著物聯(lián)網(wǎng)技術(shù)的廣泛推廣,設(shè)計(jì)并實(shí) 現(xiàn)面向應(yīng)用的語音識(shí)別系統(tǒng)引起越來越多科研人員的關(guān)注。

本文在綜述了語音識(shí)別技術(shù)中語音特征參數(shù)提取的研究發(fā)展及其在物聯(lián)網(wǎng)應(yīng)用的 基礎(chǔ)上,實(shí)現(xiàn)了一種基于聽覺模型的特征參數(shù):耳蝸基底膜倒譜系數(shù)(CFCC),并將其應(yīng) 用于物聯(lián)網(wǎng)重要分支智能家居系統(tǒng)中,以實(shí)現(xiàn)非特定人、語音交互的智能家居系統(tǒng)。本 文的主要工作如下:

首先,研究基于聽覺模型的 CFCC,介紹其數(shù)學(xué)定義、實(shí)現(xiàn)方法,并在 MATLAB 環(huán)境下進(jìn)行仿真研究。仿真實(shí)驗(yàn)中還提取了 MFCC 和GFCC,和 CFCC 進(jìn)行對(duì)比試驗(yàn), 實(shí)驗(yàn)室安靜環(huán)境下錄制的音頻測試文件信噪比高,所有特征參數(shù)的識(shí)別率都可以達(dá)到 90% 以上,對(duì)該音頻文件添加白噪聲,令信噪比為 6dB 時(shí),MFCC 的識(shí)別率下降為 67.5%, GFCC 和 CFCC 的稍有下降,分別為 86.8%和 90.4%。當(dāng)信噪比為0dB 時(shí),MFCC 的識(shí) 別率下降到 20%以下,GFCC 和 CFCC 的亦有下降趨勢,分別為 45.0%和 65.2%,但 CFCC 的表現(xiàn)要優(yōu)于 。實(shí)驗(yàn)說明              具有更好的抗噪性。

然后,將 CFCC 整合到 Sphinx 語音識(shí)別系統(tǒng)中,以替換其默認(rèn)的特征參數(shù) MFCC, 實(shí)現(xiàn)基于 CFCC 的語音識(shí)別系統(tǒng),并將該系統(tǒng)移植到嵌入式開發(fā)平臺(tái)。其中,嵌入式開 發(fā)平臺(tái)以 OMAP3530 為核心處理控制芯片,搭載嵌入式 Linux 操作系統(tǒng),并添加了 QT 圖形界面庫、ALSA 音頻庫、NRF24L01 無線模塊及驅(qū)動(dòng)等支持,有效保證語音識(shí)別系 統(tǒng)實(shí)現(xiàn)。

最后將實(shí)現(xiàn)的基于 CFCC 的語音識(shí)別系統(tǒng),應(yīng)用到物聯(lián)網(wǎng)分支智能家居系統(tǒng)中。該 系統(tǒng)將用戶從傳統(tǒng)的利用手和眼的交互方式解放出來,可以在不固定的地點(diǎn),不中斷用 戶當(dāng)前行為的情況下利用語音信號(hào)以非接觸方式完成對(duì)智能家居系統(tǒng)的操作。



關(guān)鍵詞:物聯(lián)網(wǎng);智能家居;CFCC;Sphinx;linux;OMAP3530



Design of speech recognitionsystem based on CFCC and application in the Internet ofThings




Abstract


Feature extraction is one of the key technology in Automatic Speech Recognition(ASR). In recent years, feature extraction combined with auditorycharacteristics is a hotspot. With the extensive popularization of the Internet of Things (IoT), the design and realization of ASR for IoT is attracting more and moreattention from researchers.

This paper summarizes the research and development of feature extraction and its appli- cation on IoT. And a feature based on auditory model called CochleaFeature Cepstral Coeff- ieients(CFCC) is implemented. The CFCC is applied to the speaker-independent and voice interactive smart home system which isone of the important branch of IoT. The main work are as follow:First, the mathematical definition and realization method of CFCC is introduced in this paper, and the simulation study in MATLAB is implemented. MFCCand GFCC are also extracted to compared with CFCC under different level of Signal to Noise Ratio(SNR). The clean testing condition recorded under a quietenvironment in the laboratory has a high SNR, the accuracy of all features are more than 90%. After adding white noise, the SNR of the testing conditiondrops to 6dB, the performance of MFCC drops to 67.5%, GFCC is 86.8%, and CFCC is 90.4%. If the SNR is 0dB, the MFCC accuracy is less than 20%,GFCC is

45.0%, and CFCC is 65.2%, but it is still higher than the other two. The experiments shows that CFCC has better noise immunity.

Second, design an ASR based on CFCC which is integrating CFCC into the Sphinx to replace its default feature MFCC. Then ported it to embedded platform. The embedded plat- form based on OMAP3530 and installed Linux. What’s more, the QT graphical library, ALSA library, NRF24L01 wireless moduleand its driver are added which can guarantee the imple- mentation of ASR effectively.

Finally, applied the ASR based on CFCC into smart home system. This system liberate users from the traditional way of hands and eyes interaction. Userscould operate the smart home system in non-contact way without fixd place and interrupting their current behavior






Keywords:Internet of Things; smart home; CFCC; Sphinx; linux; OMAP3530



目錄


獨(dú)創(chuàng)性聲明............................................................................................................................ I

摘 要 ...................................................................................................................................... II Abstract............................................................................................................................... III 第1章 緒論........................................................................................................................ 1

1.1  課題的提出.................................................................................................................. 1

1.1.1  語音識(shí)別系統(tǒng)發(fā)展............................................................................................ 1
1.1.2  語音識(shí)別關(guān)鍵技術(shù)............................................................................................ 2
1.1.3  語音識(shí)別在物聯(lián)網(wǎng)上應(yīng)用................................................................................ 2
1.2  研究內(nèi)容...................................................................................................................... 3
1.3  論文安排...................................................................................................................... 4

第 2 章 語音識(shí)別基礎(chǔ) .................................................................................................... 5

2.1  典型語音識(shí)別系統(tǒng)構(gòu)成.............................................................................................. 5

2.1.1  預(yù)處理................................................................................................................ 5
2.1.2  特征提取............................................................................................................ 7
2.1.3  模式匹配.......................................................................................................... 14
2.2 Sphinx 語音識(shí)別系統(tǒng) ................................................................................................ 20

2.2.1  聲學(xué)模型及其訓(xùn)練.......................................................................................... 21
2.2.2  語言模型及其訓(xùn)練.......................................................................................... 23
2.3  小結(jié)............................................................................................................................ 25

第3章 CFCC 提取及應(yīng)用研究 ............................................................................... 27

3.1 CFCC 的數(shù)學(xué)定義...................................................................................................... 27

3.1.1  聽覺變換.......................................................................................................... 27
3.1.2  毛細(xì)胞窗口...................................................................................................... 29


3.1.3  非線性響度變換和離散余弦變換.................................................................. 29
3.2 CFCC 的仿真實(shí)現(xiàn)...................................................................................................... 30

3.2.1  耳蝸濾波器系數(shù)的實(shí)現(xiàn).................................................................................. 30
3.2.2  聽覺變換系數(shù)提取的實(shí)現(xiàn).............................................................................. 35
3.2.3  毛細(xì)胞窗口實(shí)現(xiàn).............................................................................................. 39
3.2.4  非線性響度變換和 DCT 變換實(shí)現(xiàn)................................................................ 39
3.3  實(shí)驗(yàn)結(jié)果與分析........................................................................................................ 41

3.3.1  實(shí)驗(yàn)數(shù)據(jù)準(zhǔn)備.................................................................................................. 41
3.3.2  基準(zhǔn)系統(tǒng).......................................................................................................... 41
3.3.3  實(shí)驗(yàn)結(jié)果.......................................................................................................... 41
3.4 CFCC 在 sphinx 系統(tǒng)的應(yīng)用實(shí)現(xiàn)............................................................................. 43

3.4.1 SphinxTrain 中 CFCC 特征參數(shù)提取.............................................................. 43
3.4.2 Pocketsphinx 中 CFCC 特征參數(shù)提取............................................................ 45
3.5  小結(jié)............................................................................................................................ 47

第 4 章 系統(tǒng)實(shí)現(xiàn)平臺(tái)建立 ........................................................................................ 49

4.1  系統(tǒng)硬件平臺(tái)介紹.................................................................................................... 49

4.1.1  主控平臺(tái)硬件構(gòu)成.......................................................................................... 49
4.1.2  設(shè)備節(jié)點(diǎn)硬件設(shè)計(jì).......................................................................................... 51
4.2  系統(tǒng)軟件開發(fā)平臺(tái)建立............................................................................................ 52

4.2.1  主控平臺(tái)軟件開發(fā)環(huán)境及工具...................................................................... 52
4.2.2  設(shè)備節(jié)點(diǎn)軟件開發(fā)環(huán)境.................................................................................. 54
4.3  小結(jié)............................................................................................................................ 56

第5章 基于 CFCC 的語音識(shí)別系統(tǒng)在物聯(lián)網(wǎng)的應(yīng)用實(shí)現(xiàn)....................... 57

5.1  主控平臺(tái)設(shè)備驅(qū)動(dòng)構(gòu)建............................................................................................ 57

5.1.1 NRF24L01 無線模塊驅(qū)動(dòng) ............................................................................... 58
5.1.2 ALSA 音頻驅(qū)動(dòng)庫的編譯安裝 ....................................................................... 59
5.2  語音交互的智能家居系統(tǒng)實(shí)現(xiàn)................................................................................ 62

5.2.1  智能家居系統(tǒng)和 Pocketsphinx 間通信實(shí)現(xiàn) .................................................. 62


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í)平均過零率的檢測方法(也稱作雙門限比 較法)。



2.1.2 特征提取


在完成對(duì)語音信號(hào)的預(yù)處理后,就得到了有效語音信號(hào)的時(shí)域采樣信號(hào)了。如果以 時(shí)域采樣信號(hào)直接進(jìn)行匹配運(yùn)算,無論從計(jì)算量還是計(jì)算效果來看都是不理想的。特征 提取則是將這些采樣信號(hào)轉(zhuǎn)換為能更好地表述該語音信號(hào)特性并且數(shù)據(jù)量較小的特征 幀。
人的聽覺系統(tǒng)在聽音辨物方面有獨(dú)特的優(yōu)越性,且具有優(yōu)良的抗噪聲性能,它能在 極低的信噪比下有效提取目標(biāo)語音特征,因此基于人耳聽覺模型的語音特征提取方法日 益受到重視[2]。其中MFCC、Gammatone濾波器特征參數(shù)、Gammachirp濾波器特征參數(shù) 都是典型的基于聽覺模型的特征參數(shù)[16]。下面簡要介紹一下他們的提取方法。

2.1.2.1 MFCC
物理上的頻率以 Hz 為單位,Mel 頻率根據(jù)人耳聽覺特性,將頻譜轉(zhuǎn)化為非線性頻 譜。它們之間的具體關(guān)系為:


Mel( f )  2595log(1 f / 700)

(2.6)


其中,f 為線性頻率,單位 Hz, Mel( f ) 為 Mel 頻率。
根據(jù) Mel 頻率與 Hz 的對(duì)應(yīng)關(guān)系,可以將語音頻率劃分為一系列三角形濾波器序列, 稱為 Mel 頻率濾波器組。該濾波器組中心頻率在以 Mel 為單位的頻率軸上是等距的,在
Hz 單位的頻率軸上是不等距的[1],如圖 2.2 所示。

(1)  對(duì)頻譜進(jìn)行平滑作用,消除諧波的影響并凸顯語音的共振峰。因此一段語音的
音調(diào)或音高,不會(huì)呈現(xiàn)在 MFCC 參數(shù)內(nèi),換句話說,以 MFCC 為特征的語音識(shí)別系統(tǒng),
并不會(huì)受到輸入語音的音調(diào)或音高的影響。
(2)  降低信息量。
MFCC 特征參數(shù)提取示意圖如圖 2.3 所示:


圖 2.3 MFCC 特征參數(shù)提取示意圖
Fig. 2.3 MFCC feature extraction diagram
MFCC 特征參數(shù)的提取過程如下:
(1) 預(yù)處理:預(yù)處理包括預(yù)加重、分幀、加窗。 預(yù)加重:計(jì)算公式為式(2.1)。
分幀:先將 N 個(gè)采樣點(diǎn)集合成一個(gè)觀測單位,稱為一幀。為了避免相鄰兩幀的變化 過大,所以兩個(gè)相鄰幀之間有一段重疊區(qū)域(幀移),此重疊區(qū)域包含 L 個(gè)采樣點(diǎn),L 的 值約是 N 的一半。
加窗:采用漢明窗,窗函數(shù)定義為式(2.3)。
(2) FFT 變換,公式如下:


由于信號(hào)在時(shí)域上的變化很難看出信號(hào)的特性,所以通常將它轉(zhuǎn)換成頻域上的能量
分布來觀察。所以信號(hào)經(jīng)漢明窗后,每幀語音信息再經(jīng)過 FFT 變換得到頻譜上的能量分 布。
(3) Mel 濾波器組及對(duì)數(shù)能量:
將能量譜乘上一組三角帶通濾波器(共計(jì) 24 個(gè),即 M=24)。這 24 個(gè)三角帶通濾波 器在 Mel 頻率上是平均分布的,如圖 2.2 所示。而 Mel 頻率和一般頻率的關(guān)系如式(2.6) 所示 [1]。
將線性譜 X(k)轉(zhuǎn)換到對(duì)數(shù)頻譜 S(m)的傳遞函數(shù)是:


(4) 離散余弦變換(Discrete cosine Transform,DCT)
將對(duì)數(shù)譜 S(m)做 DCT 變換,運(yùn)算公式如式(2.11):
東北大學(xué)


求取倒譜系數(shù)過程中將聲門激勵(lì)和聲道響應(yīng)分離開來,適當(dāng)選擇倒譜維數(shù)就可以提
取產(chǎn)生語音信號(hào)的語音信息,把它作為語音識(shí)別特征參數(shù),其各維參數(shù)之間相關(guān)性就很 小。此外,在求取倒譜系數(shù)中舍棄了對(duì)語音識(shí)別不重要的相位信息,起到進(jìn)一步壓縮特 征作用。經(jīng)過上述步驟得到 MFCC 特征參數(shù)。
2.1.2.2 Gammatone 濾波器參數(shù)
在聽覺特性的研究中,耳蝸基底膜行波和它的沖激響應(yīng)非常重要。模擬耳蝸基底 膜行波的 Gamatone 濾波器就是一個(gè)非常成功的例子,作為一個(gè)耳蝸模型將語音時(shí)域信 號(hào)分解成一系列頻帶信息。
Gamatone 濾波器最早應(yīng)用于表征生理學(xué)數(shù)據(jù),后被應(yīng)用于耳蝸聽覺模型用來模擬 人耳聽覺頻率響應(yīng)。單頻率聲音的發(fā)聲近似描述可由下面的幅度調(diào)制波形表示[17][18]:

其中 A 是振幅系數(shù),m(t)是調(diào)制器,ω 是角頻率, 是相位,其中調(diào)制器 m(t)可以
表示成:

其中 β 是時(shí)間寬度,γ 是波形因數(shù),歸一化常數(shù)
伽馬函數(shù)的積分形式。

Gammatone 濾波器是一個(gè)標(biāo)準(zhǔn)的耳蝸聽覺濾波器,該濾波器組沖激響應(yīng)的定義為:

其中,A 為濾波器增益,n 為濾波器階數(shù), fi 是中心頻率,i 是相位,其對(duì)功率譜
影響可以忽略,簡化模型中一般取 i  0 , ERB( fi ) 是等效矩形帶寬 (Equivalent Reetangular Bandwidth,ERB),它決定了脈沖響應(yīng)的衰減速度,與濾波器中心頻率有關(guān), 而每個(gè)濾波器帶寬與人耳聽覺臨界頻帶有關(guān),聽覺心理學(xué)中, ERB( fi ) 可以由式(2.15)
得到:

每個(gè)濾波器的帶寬由上式?jīng)Q定,其中,中心頻率 fi 與帶寬都是呈對(duì)數(shù)比例的,即具
有非線性的頻率特性,符合人耳聽覺特性。中心頻率 fi 可由式(2.16)得出:


其中, f  為濾波器的截止頻率, 是濾波器重疊因子,用來指定相鄰濾波器之間
重疊百分比。每個(gè)濾波器的中心頻率確定后,相應(yīng)的帶寬就由公式(2.15)得出來了。
Gammatone濾波器組的沖激響應(yīng)和頻率響應(yīng)如圖2.4所示。


(b)
圖 2.4 Gammatone 濾波器的沖激響應(yīng)和頻率響應(yīng)
Fig. 2.4 Gammatone filter’s impulse response and frequency respo nse


實(shí)踐表明:(1)Gammatone 濾波器只需要 3 個(gè)主要參數(shù)就能夠很好地模擬聽覺實(shí)驗(yàn)
中的生理數(shù)據(jù);(2)需要的階次較低,階數(shù)為 4 的 Gammatone 濾波器就能很好地模擬耳 蝸的聽覺濾波特性;(3)具有簡單的沖激響應(yīng)函數(shù),能夠由此推導(dǎo)出 Gammatone 函數(shù)的 傳遞函數(shù),進(jìn)行各種濾波器性能分析,同時(shí)沖激響應(yīng)函數(shù)有利于聽覺系統(tǒng)模擬電路的實(shí) 現(xiàn)[16]。
2.1.2.3 Gammachirp 濾波器參數(shù)
Gammachirp濾波器最早由Irino于1997年提出,同Gammatone濾波器一樣,它也是由 沖激響應(yīng)函數(shù)定義的,Gammachirp濾波器的沖激響應(yīng)函數(shù)為[20][21]:


與Gammatone函數(shù)相比,Gammachirp函數(shù)只是多了cInt這一項(xiàng),這里的c是一個(gè)額外
的頻率調(diào)制參數(shù),同時(shí)用非對(duì)稱的fr代替Gammatone函數(shù)中對(duì)稱的中心頻率f0,這里的fr 會(huì)隨著c值的改變而改變,并且某種程度上依賴參數(shù)b和階次n。對(duì)于參數(shù)b的定義,還是 采用與Gammatone函數(shù)相似的公式[21]。Irino和Patterson在用Gammachirp濾波器去擬合人 耳掩蔽實(shí)驗(yàn)數(shù)據(jù)的時(shí)候,發(fā)現(xiàn)在參數(shù)c隨刺激聲強(qiáng)度 PS (單位為dBSPL)成線性關(guān)系為
c  3.38  0.107 PS ,當(dāng) PS 大于30dBSPL時(shí),c變成負(fù)數(shù)。取Gammachirp濾波器參數(shù)c=1.0,
得到不同fr下Gammachirp濾波器的沖激響應(yīng)和幅頻響應(yīng)曲線分別如圖2.5所示。與Gamm- atone函數(shù)的對(duì)應(yīng)曲線比較:Gammachirp函數(shù)的沖激響應(yīng)波形差別不大,但是頻率響應(yīng) 曲線卻呈現(xiàn)了明顯的非對(duì)稱性,這是兩者最明顯的差別[23]。此外,相比Gammatone濾波 器,圖中Gammachirp濾波器的中心頻率由于clnt這一項(xiàng)影響而略向高頻移動(dòng)。


Fig. 2.5 Gammachirp filter’s impulse response and frequency respo nse
由以上討論可知,由于Gammachirp濾波器增加了額外的強(qiáng)度相關(guān)的參數(shù)c,并引入


了非對(duì)稱項(xiàng)clnt,克服了Gammatone函數(shù)不能模擬基底膜濾波器非對(duì)稱、強(qiáng)度依賴特性
的缺點(diǎn)[24]。在對(duì)實(shí)驗(yàn)數(shù)據(jù)進(jìn)行擬合時(shí),由于實(shí)驗(yàn)曲線是非對(duì)稱的,而Gammatone濾波器 曲線是對(duì)稱的,因而不論如何改變Gammatone濾波器的參數(shù)n、b和 ,都不能使Gamma- tone曲線和實(shí)驗(yàn)曲線之間的平方誤差顯著減小。而通過調(diào)整參數(shù),Gammachirp濾波器可 以達(dá)到比Gammatone濾波器更好的擬合效果。同時(shí)人們發(fā)現(xiàn),最初被Gammatone函數(shù)擬 合的實(shí)驗(yàn)數(shù)據(jù),也能被Gammachirp函數(shù)更精確地?cái)M合。因此Gammachirp濾波器大大改 進(jìn)了Gammatone濾波器的性能[23][24]。

2.1.3 模式匹配


語音識(shí)別的最后一個(gè)階段是建立參考模板并進(jìn)行模式匹配。實(shí)現(xiàn)模式匹配可以采用 不同的分類模型,語音識(shí)別技術(shù)中經(jīng)典且有效的分類模型當(dāng)屬隱馬爾科夫模型(Hidden Markov Models,HMM)[25],本節(jié)對(duì)該模型做簡要介紹。
2.1.3.1 HMM 應(yīng)用于語音識(shí)別的基本思想
(一)  馬爾科夫(Markov)鏈

,且它在 n+k 時(shí)刻所處

Markov 鏈?zhǔn)?Markov 隨機(jī)過程的特殊情況,是狀態(tài)和時(shí)間都離散的 Markov 過程,
是 HMM 的基礎(chǔ)。在數(shù)學(xué)上給出定義如下:


當(dāng) k=1 時(shí), pij (1) 稱為一步轉(zhuǎn)移概率,簡稱轉(zhuǎn)移概率,記為 aij。由于 k 步轉(zhuǎn)移概率
pij(k)可以由轉(zhuǎn)移概率 aij 得到,因此描述馬爾可夫鏈的最重要的參數(shù)就是轉(zhuǎn)移概率矩陣 A。


但 A 矩陣還決定不了初始分布,即由 A 求不出 q1  si 的概率,為了完全描述馬爾可夫鏈,
除 A 矩陣之外,還必須引入初始概率  1 , 2 ,, n  ,這樣 Markov 鏈的特性可以由 狀態(tài)轉(zhuǎn)移概率矩陣 A 和初始概率矢量 π 來描述。
(二) HMM 模型
HMM 是在 Markov 鏈的基礎(chǔ)上發(fā)展起來的。由于實(shí)際問題比 Markov 鏈模型所描述 的更為復(fù)雜,觀測到的觀察值并不是與狀態(tài)一一對(duì)應(yīng),而是通過一組概率分布相聯(lián)系的, 這樣的模型就稱為 HMM。它是一個(gè)雙重隨機(jī)過程,其一是 Markov 鏈,這是基本隨機(jī) 過程,它描述狀態(tài)的轉(zhuǎn)移,另一個(gè)隨機(jī)過程描述狀態(tài)和觀察值之間的統(tǒng)計(jì)對(duì)應(yīng)關(guān)系,這 樣,作為一個(gè)觀察者只能看到狀態(tài)關(guān)系,不像 Markov 鏈模型中的觀察值與狀態(tài)一一對(duì) 應(yīng),對(duì)于狀態(tài),是通過一個(gè)隨機(jī)過程去感知狀態(tài)的存在及其特性的[1]。
在語音識(shí)別中,所謂的觀測序列就是通過特征提取得到的一幀幀的語音參數(shù),而狀 態(tài)是在訓(xùn)練階段事先規(guī)定好的不同的語音單元。對(duì)于漢語來說,語音單元可以是一個(gè)完
整的音節(jié),也可以是聲母或韻母,還可以是更為精細(xì)的音素。


圖 2.6 單詞“識(shí)別”的 HMM 表示及其與特征參數(shù)的關(guān)系
Fig. 2.6 The HMM represent of word “shibie” and the relationship with features
如圖 2.6 所示,一個(gè) HMM 模型由若干個(gè)狀態(tài)組成,隨著時(shí)間的變化,各個(gè)狀態(tài)之 間可以發(fā)生轉(zhuǎn)移,也可以在一個(gè)狀態(tài)內(nèi)駐留。每個(gè)觀測向量對(duì)不同的狀態(tài)都有相應(yīng)的輸



2.1.3.2 HMM 的三個(gè)基本問題
隱馬爾可夫模型應(yīng)用于語音識(shí)別系統(tǒng)必須解決三個(gè)基本問題:
(1)  評(píng)估問題:給定觀察序列O  o1 , o2 ,, oT  和 HMM 模型   ( , A, C, ,U ) ,如 何有效計(jì)算在給定模型 λ 條件下產(chǎn)生觀測序列 O 的概率 P(O|λ)。即已知模型和一個(gè)觀測
序列,如何計(jì)算由該模型產(chǎn)生出該觀測序列的概率。評(píng)估問題的求解能夠選擇出與給定 觀測序列最匹配的模型,常用算法是前向—后向算法。
(2)  最佳狀態(tài)鏈的確定:在給定觀察序列O  o1 , o2 ,, oT  和 HMM 模型
  ( , A, C, ,U ) 后,如何選擇在某種意義上最佳的狀態(tài)序列Q  q1 , q2 ,, qT  ,以最好
地解釋觀測序列 O。常用算法是 Viterbi 算法。
(3)  模型參數(shù)優(yōu)化問題:如何調(diào)整模型參數(shù)   ( , A, C, ,U ) ,以使條件概率 P(O|λ) 最大。即如何調(diào)整模型參數(shù),以使模型能最好地描述一個(gè)給定觀測序列,最好地說明這 個(gè)觀測序列就是最優(yōu)模型產(chǎn)生出來的。常用算法是 Baum-welch 算法(或稱 EM 算法)。
(一)  評(píng)估問題
在語音識(shí)別中,可以通過計(jì)算、比較 P(O|λ),從多個(gè)模型參數(shù)中選擇出與觀察序列 匹配得最高的那個(gè)模型。
給定觀察序列O  o1 , o2 ,, oT  和 HMM 模型   ( , A, C, ,U ) ,如果己知狀態(tài)序列
Q  q1 , q2 ,, qT  ,則 HMM 模型 λ 以狀態(tài) Q 輸出觀察序列 O 的概率為:

(二)  最佳狀態(tài)鏈的確定
第二個(gè)問題是給定一個(gè) HMM 模型 λ 和觀察序列O  o1 , o2 ,, oT  ,如何有效地確 定與之對(duì)應(yīng)的最佳的狀態(tài)序列Q  q1 , q2 ,, qT  ,這可以用 Viterbi 算法來解決。Viterbi 算法不僅可以找到一條足夠好的狀態(tài)轉(zhuǎn)移路徑,還可以得到該路徑所對(duì)應(yīng)的輸出概率。
而且該算法比全概率公式的計(jì)算量小的多。定義 δt(i)為時(shí)刻 t 時(shí)沿一條路徑 q1 , q2 , , qT 產(chǎn) 生出 o , o ,, o 的最大概率,并且滿足 qt=si。求最佳狀態(tài)序列的過程為:

這里,δt(j)為 t 時(shí)刻第 j 狀態(tài)的累積輸出概率,ψt(j)為 t 時(shí)刻第 j 狀態(tài)的前向狀態(tài)號(hào),
用來跟蹤記錄 δt(j)在推導(dǎo)過程中的最佳路徑。qt*為最優(yōu)狀態(tài)序列中 t 時(shí)刻所處的狀態(tài),
P*為最終的輸出概率。
在 Viterbi 算法中需要計(jì)算前向變量 αt(i),它是通過遞歸運(yùn)算求得的,即由連續(xù)相乘 的概率值組成,比如計(jì)算前向變量所用的遞推公式為:


(三)  參數(shù)優(yōu)化
HMM 的參數(shù)優(yōu)化問題也就是通常所說的模型訓(xùn)練問題,即如何調(diào)整模型參數(shù) λ, 使觀察序列在給定模型條件下輸出概率最大,這可以用參數(shù)重估公式解決。
為了給出重估公式,先定義t (i, j) 為給定觀察序列 O 和模型 λ 時(shí),在時(shí)刻 t 模型處 于狀態(tài) si,在時(shí)刻 t+1 處于狀態(tài) sj 的概率,即:



上述討論了 EM 算法都是針對(duì)單個(gè)序列訓(xùn)練的,在很多時(shí)候單序列訓(xùn)練會(huì)使參數(shù)訓(xùn)
練不夠充分,而使識(shí)別率不高。因此在實(shí)際應(yīng)用中,都是有大量觀察序列參與訓(xùn)練的, 也就是對(duì)每個(gè) HMM 模型,都會(huì)收集大量的語音數(shù)據(jù),分別計(jì)算出各自的特征參數(shù)序列, 再用來對(duì)該 HMM 的參數(shù)進(jìn)行重估。

2.2 Sphinx 語音識(shí)別系統(tǒng)


Sphinx 是一個(gè)自動(dòng)語音識(shí)別引擎,它是由卡耐基梅隆大學(xué) (Carnegie Mellon University,CMU)的 Sphinx 研究組,Sun 微系統(tǒng)實(shí)驗(yàn)室,Mitsubishi 電子研究實(shí)驗(yàn)室和 Hewlett Packard 共同合作建立的,并得到了美國加州大學(xué),麻省理工大學(xué)的資助[26]。 Sphinx 是開放源代碼的語音識(shí)別軟件包,多數(shù)版本可支持 Linux,Unix、Windows XP 和 Andriod 多種操作系統(tǒng)。Sphinx 系統(tǒng)具有悠久的歷史,先后開發(fā)了四個(gè)重要版本: Sphinx1、Sphinx2、Sphinx3 和 Sphinx4[27]。其中被廣泛使用的是 Sphinx2,同時(shí)還有廣 泛應(yīng)用于嵌入式系統(tǒng)的 PocketSphinx[27][28]。
Pocketsphinx 是從 sphinx2 發(fā)展而來的嵌入式語音識(shí)別引擎,代碼針對(duì)嵌入式平臺(tái)


進(jìn)行了優(yōu)化,實(shí)時(shí)性更好。后來,Pocketsphinx 的功能逐漸完善,并整合 Sphinx3 部分
功能。由于近年來嵌入式領(lǐng)域發(fā)展迅速,Pocketsphinx 獲得了 CMU 的重點(diǎn)支持,不斷 有新版本推出。目前最新版本是 Pocketsphinx-0.8,也是本文中使用的版本[29][30]。


圖 2.8 Pocketsphinx 組織結(jié)構(gòu)示意圖
Fig. 2.8 Pocketsphinx structure diagram
該語音識(shí)別引擎主要有四部分組成:前端(FrontEnd,包括預(yù)處理,分幀、加窗、特 征提取等)、聲學(xué)字典(Pronuncation Dictionary)、語言模型(Language Model)和解碼器 (Decoder)。
使用的語音特征參數(shù)是 ,解碼器即解決  中最佳狀態(tài)鏈確定的問 題,前者在 2.1.2.1 節(jié)中介紹,后者在 2.1.3.2 節(jié)介紹,下面本文對(duì)聲學(xué)模型和語言模型 做簡要介紹。

2.2.1 聲學(xué)模型及其訓(xùn)練


聲學(xué)模型是語音識(shí)別系統(tǒng)最基本的組成單元和核心部分。聲學(xué)模型可以刻畫不同的 聲學(xué)特性,它表征了系統(tǒng)中出現(xiàn)的每個(gè)基本語音單元。若聲學(xué)模型精度不好,那么具有 再好的語言模型和解碼器也無法有好的識(shí)別率[7]。
在進(jìn)行漢語聲學(xué)模型建模時(shí),建模單元一般選用音素、音節(jié)或者詞。對(duì)于小詞匯量 的語音識(shí)別系統(tǒng)可以直接采用音節(jié)進(jìn)行建模。而對(duì)于詞匯量偏大的識(shí)別系統(tǒng),一般選取 音素進(jìn)行建模。識(shí)別規(guī)模越大識(shí)別單元選取的越小。
言語在實(shí)際中是一個(gè)連續(xù)的過程,語音會(huì)持續(xù)的受到臨近音的影響,這種同時(shí)或者 重合的發(fā)音,就被稱為協(xié)同發(fā)音。協(xié)同發(fā)音的存在會(huì)降低語音識(shí)別系統(tǒng)的性能。而上下


文相關(guān)音素模型的建立可以捕捉協(xié)同發(fā)音,從而提高系統(tǒng)的性能。綜合考慮模型精度和
運(yùn)算速度,可是使用上下文相關(guān)三元音素模型(triphone)。SphinxTrain 是 CMU 提供的聲 學(xué)模型訓(xùn)練工具,可以為 Sphinx 各個(gè)版本生成所需格式的聲學(xué)模型。本文采用聲母、 韻母為基本訓(xùn)練單元,上下文相關(guān)的三元音素方式進(jìn)行聲學(xué)模型的訓(xùn)練。以下以訓(xùn)練包 含:前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)和停止五條命令的語音識(shí)別系統(tǒng)聲學(xué)模型為例,講解訓(xùn)練 聲學(xué)模型的具體步驟[29][6]。
(1) 字典文件:在訓(xùn)練之前,要指明將每一個(gè)單詞發(fā)音如何拆解成聲學(xué)模型。本文 采用的識(shí)別單元為聲韻母,故每個(gè)漢字發(fā)音可拆解成兩部分。字典文件的內(nèi)容為:
前進(jìn) Q IAN J IN
后退 H OU T UI
左轉(zhuǎn) Z UO ZH UAN 右轉(zhuǎn) Y OU ZH UAN 停止 T ING ZH IB
如果上述發(fā)音中存在多音字,則多音字的所有可能發(fā)音必須全部列出,否則系統(tǒng)將 不能識(shí)別未列出的發(fā)音。除此文件外還需要建立一個(gè)過濾字典來表示語音中的停頓,當(dāng) 解碼器識(shí)別出該文件中的識(shí)別單元時(shí),將直接忽略,一般用于表示靜音(或停頓)。
(2)  音素文件:音素文件中保存著 HMM 的最小訓(xùn)練單元,可以從字典文件中提取。 本例的音素文件中包括 16 個(gè)單元:H、IAN、IB、IN、ING、J、OU、Q、SIL、T、UAN、 UI、UO、Y、Z、ZH。其中 SIL 表示句子的停頓或靜音,或者是錄音環(huán)境的背景噪聲。
(3)  控制文件:詳細(xì)列出語音文件的存放路徑,包括訓(xùn)練用和測試用語音。

my_db/wav/speaker1/qianjin_1 my_db/wav/speaker1/houtui_1 my_db/wav/speaker1/zuozhuan_1 my_db/wav/speaker1/youzhuan_1 my_db/wav/speaker1/tingzhi_1
my_db 文件夾表示訓(xùn)練聲學(xué)模型的臨時(shí)數(shù)據(jù)文件夾,wav 文件夾下存放所有語音文
件,speaker1 文件夾下保存某說話人的全部錄音,qianjin_1 即語音文件。
(4)  腳本文件:存放每個(gè)控制文件的路徑,并順序執(zhí)行聲學(xué)模型訓(xùn)練的各個(gè)環(huán)節(jié)。 根據(jù)以上步驟最終得到四個(gè)聲學(xué)模型參數(shù)文件:均值文件,方差文件,狀態(tài)轉(zhuǎn)移矩
陣和混合權(quán)重文件。


2.2.2 語言模型及其訓(xùn)練


語言建模能夠有效的結(jié)合漢語語法和語義的知識(shí),描述詞之間的內(nèi)在關(guān)系,從而提 高識(shí)別率,減少搜索范圍。語言模型分為三個(gè)層次:字典知識(shí),語法知識(shí),句法知識(shí)。 語言建模方法主要有基于規(guī)則模型和基于統(tǒng)計(jì)模型兩種方法。目前常用的是基于統(tǒng)計(jì)語 言模型,即采用 N-gram 進(jìn)行語言建模[4][28]。
統(tǒng)計(jì)語言模型從概率的角度來描述詞與詞之間的關(guān)系。從統(tǒng)計(jì)的角度來看,給定一
個(gè)詞序列 W=w1w2…wn,它的概率可以這樣表示:



表示詞 wi 跟其之前的 i-1 個(gè)詞相關(guān),即表示了在前面 i-1 個(gè)詞出現(xiàn)的條件下 wi 出現(xiàn)
的概率。這個(gè)想法的假設(shè)條件為馬爾可夫假設(shè)。滿足這個(gè)假設(shè)的模型成為 i-1 階馬爾可 夫模型;而在語言模型里,稱之為 i 元模型,即為常用的 N-gram 模型。N 表示了在這 句中出現(xiàn)的詞的個(gè)數(shù)。當(dāng) i 太大時(shí),參數(shù)空間變得非常巨大,需要的訓(xùn)練數(shù)據(jù)也相當(dāng)大, 所以一般假設(shè)當(dāng)前的這個(gè)詞只依賴于前面有限幾個(gè)詞,n 通常取值 1、2、3 分別對(duì)應(yīng)一 元文法: p(wi ) ,二元文法: p(wi  | wi 1 ) 和三元文法: p(wi | wi 1 , wi 2 ) 。其中三元文法是 非常有用的,幾乎所有的詞都跟前兩個(gè)詞有很大程度的依賴性,并且這個(gè)概率可以通過
一個(gè)大小可以接受的語料庫中估計(jì)得到[7]。
Cmuclmtk(Carnegie Mellon University Statistical Language Modeling toolkit)是 CMU 提供的語言模型訓(xùn)練工具,可以為 Sphinx 各個(gè)版本訓(xùn)練生成所需格式的語言模型,它 可以通過統(tǒng)計(jì)大量文本數(shù)據(jù)得到以單個(gè)詞建立的 N-gram 模型。由于 N 較大時(shí),需要的 存儲(chǔ)空間和運(yùn)算時(shí)間也會(huì)相應(yīng)的變大,所以本文主要采用 2-gram 和 3-gram 模型,即某 個(gè)詞出現(xiàn)的概率僅依賴于前兩個(gè)或者前三個(gè)詞。

圖 2.9 使用 CMUCLMTK 訓(xùn)練語言模型過程
Fig. 2.9 Use CMUCLMTK training language model process
本文以智能家居系統(tǒng)中的語音識(shí)別系統(tǒng)為例,介紹其語言模型訓(xùn)練過程。所使用的 命令在圖 2.9 中利用方框表示,需要準(zhǔn)備的文件或者工具生成的文件利用橢圓表示。訓(xùn) 練集和測試集文本是 text 格式,文件中列出訓(xùn)練和測試音頻數(shù)據(jù)所對(duì)應(yīng)的文本文件即


內(nèi)容示例為:

東北大學(xué)

test.txt。語言模型訓(xùn)練流程如下:
(1) text2wfreq:統(tǒng)計(jì)文本文件中每個(gè)詞出現(xiàn)的次數(shù),得到一個(gè)后綴為 wfreq 的文件,
打開 84 關(guān)閉 84 熱水器 21 前門電燈 21



</s> 118
即表示詞打開、關(guān)閉、熱水器、前門電燈和</s>在訓(xùn)練文本中出現(xiàn)的次數(shù)依次為 84、
84、21、21 和 118。
(2) wfreq2vocab:統(tǒng)計(jì)文本文件中含有多少個(gè)詞,即有哪些詞。系統(tǒng)應(yīng)用中中包含
21 個(gè)詞和兩個(gè)靜音,故共有 23 個(gè)詞,依次是:打開、關(guān)閉、提高、降低、切換頻道、 返回主菜單、熱水器、排風(fēng)扇、空調(diào)、電燈、臥室、前門、智能家電、智能控制、可視 對(duì)講、小區(qū)信息、安防監(jiān)控、音頻播放、系統(tǒng)狀態(tài)、系統(tǒng)設(shè)置、設(shè)置溫度、</s>、<s>。 (3) text2idngram:列舉文本中出現(xiàn)的每一個(gè) n 元語法。產(chǎn)生一個(gè)二進(jìn)制文件,該文

件為含有 n 元數(shù)組的數(shù)值排序列表,對(duì)應(yīng)于與詞有關(guān)的 N-Gram。超出文本范圍的詞匯 映射值為 0。
(4) idngram2lm:輸入文件包括一個(gè) idngram 文件,一個(gè) vocab 文件和一個(gè) ccs 文件, 輸出是一個(gè)后綴為 binlm 的語言模型文件。其中 ccs 文件指句首和句尾的靜音<s>和</s>。
(5) binlm2arpa:是將 binlm 文件轉(zhuǎn)換為 arpa 格式語言模型文件。
(6) lm3g2dmp:將文件轉(zhuǎn)換為 DMP 轉(zhuǎn)儲(chǔ)文件。此文件為解碼器端所需要的文件格 式。這樣,就得到兩個(gè)語言模型文件:smart_home.arpa 和 smart_home.arpa.DMP。

2.3  小結(jié)


典型語音識(shí)別系統(tǒng)從語音輸入到結(jié)果輸出要經(jīng)過復(fù)雜的處理過程,包括:預(yù)處理、 特征提取、模式匹配三個(gè)主要環(huán)節(jié)。本章對(duì)各個(gè)環(huán)節(jié)做了簡要介紹,并對(duì)本文中所用到 的經(jīng)典特征參數(shù) MFCC、Gammatone 濾波器參數(shù)、Gammachirp 濾波器參數(shù)和 HMM 分 類模型做了詳細(xì)介紹,最后還介紹了 sphinx 語音識(shí)別系統(tǒng)原理、構(gòu)成及使用方法。
東北大學(xué)



第 3 章CFCC 提取及應(yīng)用研究


3.1 CFCC 的數(shù)學(xué)定義


3.1.1 聽覺變換


(一)  聽覺正變換 聲波從外耳傳入中耳轉(zhuǎn)化成機(jī)械能,當(dāng)中耳的最后一個(gè)聽小骨——鐙骨移動(dòng)時(shí),耳
蝸中的液體流動(dòng)在基底膜產(chǎn)生行波。耳蝸基底膜上的沖激響應(yīng)利用函數(shù) (t ) 表示,
 (t )  L2 ( R) ,函數(shù)還要滿足下面的條件[31]:
(1)  響應(yīng)積分為零:



(3.4)



(4)  形如聲學(xué)實(shí)驗(yàn)中在基底膜上觀察到的那樣,沖激函數(shù)兩端歸零。
(5)  沖激函數(shù)頻率響應(yīng)應(yīng)該為類似三角形的帶通濾波器。
f (t ) 可以是任意一個(gè)均方可積函數(shù)。對(duì) f (t ) 進(jìn)行關(guān)于基底膜上的沖激響應(yīng) (t ) 的變 換,聽覺正變換定義如下:



反變換的需求來源于對(duì)分解后的信號(hào)進(jìn)行重構(gòu),比如音樂合成或者去噪等。另外如 果反變換能夠恢復(fù)原始信號(hào)則證明正變換處理信號(hào)時(shí)沒有損失信息,這是傅里葉變換或 者聽覺變換實(shí)用性的一個(gè)重要原因。


如果滿足(3.3)式,則反變換存在:



(三)  離散時(shí)間算法
在實(shí)際應(yīng)用中,語音信號(hào)是以離散方式存儲(chǔ)的,故提供聽覺正變換和反變換的離散 時(shí)間計(jì)算方法是必須的,式(3.5)和式(3.10)的離散時(shí)間變換公式如下。
離散時(shí)間聽覺正變換:


其中, ai  fL / fci 是第 i 個(gè)頻帶中心的尺度因子,N 是語音信號(hào) f [n] 的長度。尺度
因子 a 可以是線性或非線性尺度。對(duì)于離散時(shí)間變換,a 還可以是 ERB 尺度,Bark,log
i i
或其他非線性尺度。
離散時(shí)間聽覺反變換:




內(nèi)耳毛細(xì)胞作用是將機(jī)械能轉(zhuǎn)變?yōu)樯窠?jīng)脈沖信號(hào);啄さ恼駝(dòng)引起了基底膜和耳 蝸覆膜之間的剪切運(yùn)動(dòng),使得基底膜和耳蝸覆膜之間的毛細(xì)胞上的絨毛發(fā)生彎曲。當(dāng)絨 毛向一個(gè)方向彎曲時(shí),會(huì)引起毛細(xì)胞的去極化,即開啟離子通道,產(chǎn)生向內(nèi)的離子流, 從而加強(qiáng)傳入神經(jīng)的作用;當(dāng)絨毛向一個(gè)方向彎曲時(shí),便不會(huì)有刺激或者神經(jīng)元輸出[31]。
用式(3.13)運(yùn)算即模擬毛細(xì)胞作用:



這里的T (a, b) 為濾波器輸出。外耳,中耳主要起到一個(gè)擴(kuò)音、傳導(dǎo)能量的作用,在
人耳聽覺系統(tǒng)中是不可或缺的,但是在計(jì)算機(jī)實(shí)現(xiàn)中此處可以忽略,所以可以將這兩部 分功能同內(nèi)耳基底膜響應(yīng)一起概括在聽覺濾波器響應(yīng)中。
下一步,每個(gè)毛細(xì)胞輸出 S(i, j) 就成為當(dāng)前濾波器中心頻率響應(yīng)相關(guān)神經(jīng)穗的代表, 用式(3.14)表示:



圖 3.1 CFCC 特征參數(shù)提取示意圖
Fig. 3.1 CFCC feature extract diagram
圖 3.1 為 CFCC 特征提取主要流程,提取過程主要依照了人耳聽覺過程模型:耳蝸 濾波器組(Cochiear FilterBank)用來仿真耳蝸基底膜的作用,濾波器的變換作用模擬了外 耳,中耳及內(nèi)耳的總體過程;毛細(xì)胞窗(Hair cell)是一個(gè)可變長度的窗函數(shù),非線性響度 變換(Loudness Noulinearity)將能量信息轉(zhuǎn)換為感知響度,DCT 變換去除信號(hào)間的相關(guān)性。 語音經(jīng)過上述過程得出的聽覺特征叫做耳蝸倒譜系數(shù)。下面本文介紹在 MATLAB 環(huán)境
下 CFCC 提取的詳細(xì)步驟[31][32]。
3.2.1 耳蝸濾波東器系數(shù)的實(shí)北現(xiàn)大學(xué)
語音信號(hào)通過耳蝸濾波器的過程用正聽覺變換表示,此變換包含了聲音能量從外
耳傳導(dǎo)到基底膜的全部過程,模擬出了不同頻率信號(hào)在基底膜上的頻率響應(yīng)[36]。


圖 3.2 耳蝸濾波器組沖激響應(yīng)系數(shù)提取流程圖
Fig. 3.2 Cochlear filter banks’ impulse response coefficient extraction flow
(一) α,β 及 θ 的取值
通常情況下取值為 , 的值根據(jù)實(shí)際應(yīng)用選擇。圖給出, 分別取值
和 0.06 時(shí)耳蝸濾波器組的頻率響應(yīng)圖。比較圖形發(fā)現(xiàn),當(dāng) β=0.2 時(shí)更接近人耳聽覺頻率
響應(yīng)曲線。圖中五個(gè)通道的中心頻率分別為:188.7Hz,487.5Hz,1000.0Hz,1879.2Hz,
3387.3Hz。



圖 3.3 耳蝸濾波器的頻率響應(yīng) (a) α=3,β=0.2; (b


α=3,β=0.03 5

Fig. 3.3 Cochlear filter frequency response (a) α=3,β=0.2; (b) α=3,β= 0.035
β 的值根據(jù)不同的應(yīng)用取值不同,在降噪方面 β=0.2 比較合適,而用于特征提取時(shí),


它的值一般偏小[35]。由上圖根據(jù) β 的不同值計(jì)算出的耳蝸濾波器頻率響應(yīng)曲線可以看出,
β=0.2 更符合人耳特性,故在本文實(shí)驗(yàn)中使用 β=0.2 來進(jìn)行特征提取。
θ 的值由式(3.1)決定,初始相位使沖激響應(yīng)函數(shù)積分為 0。經(jīng)計(jì)算得出其值大約為
-14°。由于在實(shí)驗(yàn)過程中,θ 取值為 0°或-14°對(duì)結(jié)果沒有影響,所以最終 θ 取 0°。 圖 3.4 給出耳蝸濾波器響應(yīng)在不同中心頻率下的沖激響應(yīng)波形。

圖 3.4

當(dāng) α=3,β=0.2, θ=0 時(shí),耳蝸濾波器的沖激響應(yīng)

Fig. 3.4 Cochlear filter bank impulse response when α=3,β=0.2,θ =0
(二) a,b 的取值
a 的值是由最低濾波器中心頻率 fL 和當(dāng)前所要實(shí)現(xiàn)濾波器中心頻率 fc 決定的,定 義如下:




a 就如同小波變換的尺度因子,中心頻率越大,a 值越小,反之越大。a 值決定著耳
蝸濾波器函數(shù)的伸縮特性。a 值不同的取值,將原語音信號(hào)按頻率信息在不同通道進(jìn)行 分析。
耳蝸濾波器的中心頻率分布可以用 ERB,Mel,Bark 尺度。ERB,Mel 頻率下中 心頻率選取已在第 2.1.3.1 節(jié)和 2.1.3.2 節(jié)介紹,Bark 尺度下頻率劃分如表 3.1 所示,由


于語音信息主要集中在 4kHz 頻率以下,故高于 4kHz 的部分本文未列出[37]。

表 3.1 Bark 尺度濾波器中心頻率劃分
Table 3.1 filter’s center frequency distribution by Bark scale

根據(jù)以上劃東分,則可以計(jì)北算出各濾波器大的尺度因子 a學(xué)。在計(jì)算耳蝸濾波器系數(shù)時(shí),
本文設(shè)置 b 的值始終為零,濾波器系數(shù)的平移通過其他方式實(shí)現(xiàn),將在 3.2.2 節(jié)詳細(xì)介
紹。

根據(jù)以上參數(shù),獲得 18 通道的耳蝸濾波器頻率響應(yīng)波形如圖 3.5 所示:


聽覺變換東系數(shù)提取的北實(shí)現(xiàn)大學(xué)

在 a,b = 0 (t) 中,b 稱為時(shí)移因子,b 的不同取值關(guān)系到耳蝸濾波器函數(shù)在原語音信號(hào)
的不同位置進(jìn)行內(nèi)積。每平移一個(gè)單位,進(jìn)行一次耳蝸基底膜濾波器函數(shù)與原信號(hào)的內(nèi) 積。然而,根據(jù)不同的 b,重復(fù)計(jì)算 a, b (t) 會(huì)耗費(fèi)大量的時(shí)間,嚴(yán)重影響程序執(zhí)行效率。 從式(3.27)可以看出,積分范圍是(-,+),但是由 a,b = 0 (t) 的定義可以看出,當(dāng) t<0 時(shí)
 a,b=0 (t)=0 ,而當(dāng) t 趨于 時(shí) a,b=0 (t)=0 ,所以在進(jìn)行計(jì)算時(shí),只需要計(jì)算 a,b = 0 (t) 的非零
部分即可。因此在計(jì)算過程中,令 b 始終為 0,即第 3.2.1 節(jié)計(jì)算出的 m 通道濾波器系 數(shù)始終不變,而對(duì)原始信號(hào)進(jìn)行平移,這樣就可以以較高的效率完成對(duì)語音的分解計(jì)算, 獲得聽覺變換系數(shù)[38]。程序流程圖如圖 3.6 所示:



圖 3.6 聽覺變換系數(shù)提取流程圖
Fig. 3.6 Auditory transform coefficient extraction flow
假設(shè)原始語音為 x(n) ,0  n  N ,則經(jīng)過聽覺變換后,將獲得 m 個(gè)通道 N 點(diǎn)的聽 覺變換系數(shù)T (a,b) ,1  a  m ,1  b  N ,其中 a 表示不同的通道,對(duì)應(yīng)著不同的中心 頻率,b 表示不同的位置,對(duì)應(yīng)著語音信號(hào)不同時(shí)間的處理結(jié)果。
本文首先以 487.5Hz 正弦信號(hào)分別通過中心頻率為 188.7Hz,487.5Hz,1000.0Hz
的耳蝸濾波器,觀察其輸出是否可以達(dá)到預(yù)期目標(biāo)。


圖 3.7 487.5Hz 正弦信號(hào)在耳蝸濾波器不同中心頻率下的響應(yīng)
Fig. 3.7 The cochlear filter response of 487.5Hz sinusoidal signal u der different center frequency
由圖 3.7 可以看出,當(dāng)信號(hào)頻率和耳蝸濾波器中心頻率相等時(shí),信號(hào)可以通過濾波 器且其輸出幅度最大,當(dāng)信號(hào)頻率和耳蝸濾波器中心頻率不等時(shí),輸出信號(hào)會(huì)很快衰減 為零,且中心頻率不同其衰減速率不一樣。因此,本文實(shí)現(xiàn)的耳蝸濾波器及聽覺變換算 法可以滿足需求。
下圖是發(fā)音‘a(chǎn)’的經(jīng)過五通道耳蝸濾波器后的聽覺變換結(jié)果如圖 3.8 所示:



(b)
發(fā)音’a’的 AT 變換系數(shù)

a) 5 個(gè)通道的對(duì)比結(jié)果 b) 單一通道細(xì)節(jié)波形
Fig. 3.8 AT transform coefficients of 'a'
a) Comparative results in 5 channels b) Details of a single chann el waveform


3.2.3 毛細(xì)胞窗口實(shí)現(xiàn)


對(duì)原始語音進(jìn)行聽覺變換后,要使用式(3.13)對(duì)數(shù)據(jù)進(jìn)行處理,來模擬人耳毛細(xì)胞 的去極化作用,由于處理方法簡單,本文不再給出仿真流程圖。
去極化后通過加窗,轉(zhuǎn)換為當(dāng)前濾波器中心頻率響應(yīng)相關(guān)神經(jīng)穗的代表,從式(3.14) 可以看出,對(duì)于不同頻率的濾波器輸出,可以采用不用不同長度的時(shí)間窗,較高頻率的 輸出,可以使用較短的時(shí)間窗,以保留更多的瞬時(shí)信息,對(duì)于較低頻率的輸出,可以使
用較長的時(shí)間窗,以最大限度的觀察信號(hào)的概況,其仿真實(shí)現(xiàn)流程圖如圖 3.9 所示:


Fig. 3.9 Achieve hair cell window flow chart
經(jīng)毛細(xì)胞窗口處理后,音頻數(shù)據(jù)得到壓縮,壓縮比率為 1/τ,有效減的小了數(shù)據(jù)長 度。

3.2.4 非線性響度變換和 DCT 變換實(shí)現(xiàn)


非線性的立方根響度函數(shù),將毛細(xì)胞的輸出由能量值變?yōu)楦兄懚,?jì)算方法根據(jù) 式(3.15)完成。
最后一步是將經(jīng)過非線性響度變換的輸出進(jìn)行 DCT 變換,可以有效去除通道間的


相關(guān)性,DCT 實(shí)現(xiàn)公式為式(3.16)。
完成以上計(jì)算,即實(shí)現(xiàn)了 CFCC 參數(shù)提取的整個(gè)過程,圖 3.10 為發(fā)音‘a(chǎn)’和‘o’ 的經(jīng)上述計(jì)算后的 CFCC 參數(shù)結(jié)果。


(b)
圖 3.10 原始語音提取的 CFCC 參數(shù)
(a)‘a(chǎn)’的 CFCC 參數(shù);(b)‘o’的 CFCC 參數(shù) Fig. 3.10 CFCC feature extracted from original voice (a) CFCC feature of ‘a(chǎn)’; (b) CFCC feature of ‘o’


3.3  實(shí)驗(yàn)結(jié)果與分析


3.3.1 實(shí)驗(yàn)數(shù)據(jù)準(zhǔn)備


本文實(shí)驗(yàn)所需的語音數(shù)據(jù)采集自 10 個(gè)人(6 個(gè)男性,4 個(gè)女性),語音內(nèi)容為本文中 用到的語音命令(共計(jì) 24 個(gè)),字?jǐn)?shù)從 4-6 不等,每條語句發(fā)音 5 次,保存為 5 個(gè)單獨(dú)的 語音文件。語音文件是在實(shí)驗(yàn)室安靜條件下采用 wavCN 軟件錄制的單聲道、16 位、16kHz 采樣率的 wav 格式文件。
實(shí)驗(yàn)中從每個(gè)人的 5 次發(fā)音中隨機(jī)抽取 3 次,作為訓(xùn)練數(shù)據(jù)庫。為測試特征參數(shù)的 抗噪能力,對(duì)剩余兩次發(fā)音進(jìn)行加燥處理,并將它們作為測試數(shù)據(jù)庫。加燥方法是將原 始語音和白噪聲線性相加,獲得信噪比為-12dB,-6dB,0dB,6dB 的加燥語音。這樣, 包括原始語音在內(nèi)共 5 個(gè)信噪比等級(jí)的測試數(shù)據(jù)庫。實(shí)驗(yàn)中,將首先利用訓(xùn)練數(shù)據(jù)庫訓(xùn) 練聲學(xué)模型,然后利用不同信噪比等級(jí)的測試數(shù)據(jù)庫分別計(jì)算其識(shí)別率[34]。

3.3.2 基準(zhǔn)系統(tǒng)


本文采用 SphinxTrain 對(duì)所有特征參數(shù)進(jìn)行聲學(xué)模型的訓(xùn)練和測試,SphinxTrain 是 CMU 提供的基于 HMM 的參數(shù)訓(xùn)練工具,HMM 原理在第 2.1.3 節(jié)已有詳細(xì)介紹。訓(xùn)練 及測試方法在第 2.2.1 節(jié)中已有詳細(xì)介紹。
本文按照 2.1.2.1 節(jié)中介紹的方法提取 MFCC 作為基準(zhǔn)特征參數(shù),MFCC 濾波器個(gè) 數(shù)選取 13 個(gè),合并一階、二階差分參數(shù),每幀獲得 39 個(gè)特征點(diǎn),幀長為 N=1024 點(diǎn), 幀移為 L=512 點(diǎn),窗函數(shù)采用漢明窗。
CFCC 參數(shù)的提取方式如第 3.2 節(jié)所述,頻域劃分準(zhǔn)則為 Bark 尺度,濾波器個(gè)數(shù)首 選為 18,參數(shù)  3 ,   0.2 ,  0 。
為了比較 CFCC 中耳蝸濾波器和 Gammatone 濾波器的區(qū)別,本文還提取了 GFCC 參數(shù),GFCC 的提取方法是使用 Gammatone 濾波器代替 CFCC 中的耳蝸濾波器,之后 的處理方式不變。同樣,頻域劃分準(zhǔn)則為 Bark 尺度,濾波器個(gè)數(shù)首選為 18 個(gè)。

3.3.3 實(shí)驗(yàn)結(jié)果


(一)  聽覺正變換與反變換 本文中,首先對(duì)語音進(jìn)行聽覺正變換和反變換實(shí)驗(yàn),并對(duì)聽覺正變換后的不同濾波
器輸出選擇性組合后進(jìn)行反變換處理,然后和原始語音對(duì)比。實(shí)驗(yàn)中,根據(jù) Bark 尺度


頻域劃分準(zhǔn)則計(jì)算所得 18 通道濾波器中心頻率為表 3.1 所示。
在對(duì)每個(gè)濾波器輸出單獨(dú)進(jìn)行聽覺反變換時(shí)發(fā)現(xiàn),第 1、2 濾波器反變換結(jié)果只能 聽到很大的“嗡嗡”的聲音而無法辨別信息內(nèi)容,故他們的輸出對(duì)語音識(shí)別任務(wù)不會(huì)有


幫助。將第 3-18

濾波器輸出進(jìn)行反變換后,除了聲音強(qiáng)度略有降低,可以重現(xiàn)原始語

音。因此在后續(xù)實(shí)驗(yàn)中,提取 CFCC 特征參數(shù)采用頻率中心為 3-18 的 16 通道方式提取。
(二) 加燥實(shí)驗(yàn)
在加燥實(shí)驗(yàn)中發(fā)現(xiàn),當(dāng) SNR 低于-6dB 時(shí),所有特征參數(shù)的識(shí)別率都不理想,討論

其差別已無意義,故本文中將注意力主要集中在

0dB、6d

和原始語音的實(shí)驗(yàn)結(jié)果上。

將對(duì)比結(jié)果以直觀的圖形呈現(xiàn),如圖 3.11

所示。原始語音條件下,CFCC

參數(shù)和


MFCC、GFCC 參數(shù)的都可獲得 90%上的識(shí)別率。當(dāng)信噪比下降時(shí),CFCC 參數(shù)的表現(xiàn) 明顯優(yōu)于 MFCC 和 GFCC 參數(shù)。例如:當(dāng)信噪比為 6dB 時(shí),MFCC 的識(shí)別率下降到 67.5%, 同等條件下,GFCC 的識(shí)別率為 86.8%,CFCC 的識(shí)別率為 90.4%。當(dāng)信噪比降到 0dB 時(shí),MFCC 的識(shí)別率將為 15.2%,GFCC 的識(shí)別率也將為 45.0%,而 CFCC 還能保持 65.2%
的識(shí)別率。

圖 3.11 不同信噪比下,CFCC、MFCC、GFCC 參數(shù)對(duì)比結(jié)果
Fig. 3.11 Comparing results of CFCC,MFCC,GFCC in different S NR


可見,GFCC 的識(shí)別率在各個(gè)噪聲水平下都要優(yōu)于 MFCC,這是由于 Gammatone
濾波器平滑的類三角形頻率響應(yīng)特性較 MFCC 的三角濾波器更接近人耳聽覺模型的真 實(shí)頻率響應(yīng)。而 CFCC 的識(shí)別率優(yōu)于 GFCC,則可以說明,基于耳蝸濾波器的聽覺變換 比基于 Gammatone 濾波器的變換方式在抗噪性方面更勝一籌。

3.4 CFCC 在 sphinx 系統(tǒng)的應(yīng)用實(shí)現(xiàn)


將 CFCC 參數(shù)整合到 Pocketsphinx 中需要做兩件事情:其一,訓(xùn)練該參數(shù)的聲學(xué)模 型,主要工作和 SphinxTrain 相關(guān);其二,在 Pocketsphinx 中添加 CFCC 提取算法并將 提取的 CFCC 參數(shù)作為解碼器的輸入,主要工作和 Sphinxbase 相關(guān)[30]。

3.4.1 SphinxTrain 中 CFCC 特征參數(shù)提取


SphinxTrain 進(jìn)行聲學(xué)模型訓(xùn)練,首先利用 wave2feat 對(duì)音頻文件進(jìn)行特征參數(shù)提取, 默認(rèn)情況下得到后綴為 mfc 的 MFCC 特征參數(shù)文件,將之作為聲學(xué)模型訓(xùn)練的輸入。
特征參數(shù)格式如表 3.3  所示。
表 3.3 MFCC 特征參數(shù)文件格式
Table 3.3 file format of MFCC feature
項(xiàng)目格式
文件頭int32 length 第一幀特征參數(shù)13 floats 或者 13*4 bytes 第二幀特征參數(shù)              13 floats 或者 13*4 bytes
…13 floats 或者 13*4 bytes
第 N 幀特征參數(shù)13 floats 或者 13*4 bytes
對(duì)于 MFCC 參數(shù),在訓(xùn)練和解碼過程中,不但用到了靜態(tài) Mel 參數(shù),還用到了一 階、二階差分參數(shù)。但在文件中,僅保存了 Mel 靜態(tài)參數(shù),動(dòng)態(tài)參數(shù)將在程序運(yùn)行時(shí)計(jì) 算。計(jì)算方式可以通過-feat 配置,例如:-feat 1s_c_d_dd  表示讀取向量,并計(jì)算一階、 二階參數(shù)然后將它們合并為 1 維特征向量。
對(duì)于 CFCC 參數(shù)的提取,按照以上格式保存為后綴為 cfcc 的文件即可。本文為了方 便后期實(shí)驗(yàn),本文編寫了一個(gè)批量提取 CFCC 特征參數(shù)的工具:general_CFCC。準(zhǔn)備好 單通道、采樣率為 16kHz 的 wav 格式音頻數(shù)據(jù),并在 txt 文件中將其文件名一一列出, 就可以批量提取特征參數(shù),生成相應(yīng)的 cfcc 文件。工具界面如圖 3.12 所示。



圖 3.12 General_CFCC 工具界面
Fig. 3.12 Interface of General_CFCC tool
需要注意的是,MFCC 每幀特征由 13 個(gè) Mel 濾波器輸出和一階、二階差分參數(shù)構(gòu) 成 39 維特征向量,而 CFCC 參數(shù)則是由 16 個(gè)濾波器輸出構(gòu)成的 16 維特征向量。在保 存特征文件時(shí),文件中并不包含每幀長度信息,需要在訓(xùn)練過程中通過參數(shù)控制本文中。
使用 SphinxTrain 可以生成默認(rèn)的訓(xùn)練參數(shù)配置文件 sphinx_train.cfg 和特征參數(shù)格 式配置文件 feat.param,根據(jù) CFCC 和 MFCC 參數(shù)的不同,做以下修改:
在 sphinx_train.cfg 文件中,將:



$CFG_VECTOR_LENGTH = 13;
$CFG_FEATFILE_EXTENSION = 'mfc';
$DEC_CFG_FEATFILE_EXTENSION = '.mfc'; 改為:
$CFG_FEATFILE_EXTENSION = 'cfcc';
$CFG_VECTOR_LENGTH = 16;
$DEC_CFG_FEATFILE_EXTENSION = '.cfcc'; 表示特征參數(shù)文件擴(kuò)展名為‘cfcc’,特征參數(shù)維度為 16,計(jì)算識(shí)別率時(shí)解碼器使用
的特征參數(shù)文件擴(kuò)展名為‘cfcc’。 在 feat.param 文件中,添加:

-ncep 16

-ceplen 16

-feat 1s_c
表示本文提取的是每幀 16 通道的 CFCC 特征參數(shù),僅讀取或者使用原始向量數(shù)據(jù), 不使用差分參數(shù)。


由 General_CFCC 獲得 CFCC 特征參數(shù)文件,并根據(jù)上面提示正確配置好參數(shù)格式
后,就可以參照第 2.2.1 節(jié)說明,完成 CFCC 參數(shù)的聲學(xué)模型訓(xùn)練。

3.4.2 Pocketsphinx 中 CFCC 特征參數(shù)提取


Pocketsphinx 包含兩個(gè)源碼包,分別是 Pocketsphinx 和 Sphinxbase,Sphinxbase 中包 含語音識(shí)別算法需要的基本 API 函數(shù),例如:語音信號(hào)的 I/O 接口操作、語音信號(hào)的前 端處理程序、MFCC 參數(shù)計(jì)算函數(shù)和字典搜索算法等;Pocketsphinx 則提供語音識(shí)別程 序的主函數(shù)和一些支撐函數(shù)的具體實(shí)現(xiàn)方法。利用 CFCC 參數(shù)替換 MFCC,主要工作在 Sphinxbase 中完成。
在 Pocketsphinx 中,包含數(shù)個(gè)可以獨(dú)立運(yùn)行的程序,用以完成不同的工作。例如: Pocketsphinx_batch 用于從文件讀取語音數(shù)據(jù),并進(jìn)行特征提取和語音識(shí)別;Pocketsphin- x_continuous 用于直接從麥克風(fēng)獲取音頻數(shù)據(jù),并進(jìn)行語音識(shí)別。本文采用實(shí)時(shí)語音識(shí)
別程序 Pocketsphinx_continuous。其偽代碼結(jié)構(gòu)示意圖如圖 3.13 所示。

continuous.c ->ad_open_dev();
->cont_ad_read();
->ps_process_raw();

Pocketsphinx

->ps_get_hyp();

acmod.c ->acmod_process_raw();
->acmod_process_feat();


fe_interface.c ->fe_process_frames();



Sphinxbas e

fe_sigproc.c ->fe_read_frame();
->fe_write_frame();
->fe_mel_spec();
->fe_mel_cep();



圖 3.13 Pocketsphinx_continuous 偽代碼示意圖
Fig. 3.13 Pocketsphinx_continuous pseudocode diagram
Pocketsphinx_continuous 程序可以實(shí)時(shí)從麥克風(fēng)獲取音頻數(shù)據(jù)、提取特征并進(jìn)行解 碼。本文根據(jù)圖 3.13 對(duì)代碼進(jìn)行分層講解。
第一:continuous.c 中包含四個(gè)主要函數(shù),分別完成打開音頻設(shè)備、讀取音頻數(shù)據(jù)、 特征參數(shù)提取、模式匹配功能。即語音特征參數(shù)提取主要由函數(shù) ps_process_raw()完成。 第二:acmod.c 中包含兩個(gè)主要函數(shù),將被 ps_process_raw()調(diào)用。第一個(gè)函數(shù)主要 用于確定獲取的語音中是否為有效語音,并將實(shí)時(shí)讀取的語音片段拼接成完整的語音數(shù) 據(jù)。第二個(gè)函數(shù)則進(jìn)行特征參數(shù)提取工作,它還將進(jìn)一步調(diào)用完成不同環(huán)節(jié)工作的子函


數(shù)。
第三:進(jìn)行特征提取時(shí),acmod.c 將調(diào)用 SphinxBase 軟件包中提供的基本 API 函數(shù), 例如 acmod_process_feat()將調(diào)用 fe_interface.c 中的 fe_process_frames()函數(shù)。
第四:fe_sigproc.c 文件則是 Pocketsphinx 的默認(rèn)特征 MFCC 提取的具體代碼實(shí)現(xiàn)。 要完成參數(shù)替換,不但要了解程序的組織結(jié)構(gòu)還要了解程序的數(shù)據(jù)傳遞過程。在 Sphinx 中封裝了大量的結(jié)構(gòu)體,以便于對(duì)不同類型、不同功能的數(shù)據(jù)進(jìn)行管理。本文中 的 fe_process_frames()函數(shù)將提取的語音特征參數(shù)保存到 acmod_s 結(jié)構(gòu)體中,并最終被
ps_process_raw()函數(shù)作為計(jì)算結(jié)果返回。acmod_s 結(jié)構(gòu)體的定義為:

struct acmod_s {

/* Global objects, not retained. */

cmd_ln_t *config;/**< Configuration. */

logmath_t *lmath;/**< Log-math computation. */

glist_t strings;/**< Temporary acoustic model filenames. */

/* Feature computation: */

fe_t *fe;/**< Acoustic feature computation. */

feat_t *東fcb;

北/**<大Dynamic feat學(xué)ure computation. */

/* Utterance processing: */

mfcc_t **mfc_buf;/**< Temporary buffer of acoustic features. */

mfcc_t ***feat_buf;/**< Temporary buffer of dynamic

matlab程序:
  1. %文件說明:計(jì)算CFCC參數(shù)
  2. %功能說明:由原始語音計(jì)算CFCC參數(shù),包括預(yù)處理,AT變換,后期計(jì)算等。
  3. %輸出參數(shù):Fys ->M個(gè)通道濾波器的FFT變換參數(shù)輸出,長度為N(不包括對(duì)稱部分長度)
  4. %輸入?yún)?shù):fL    ->濾波器組的最低頻率濾波器的中心頻率
  5. %         fc    ->當(dāng)前濾波器的中心頻率
  6. %         N     ->計(jì)算點(diǎn)數(shù)(不包括對(duì)稱部分長度)
  7. %         alf   ->參看CFCC論文
  8. %         bera  ->參看CFCC論文
  9. %         thyta ->相位
  10. %編寫作者:阿呆-東北大學(xué)-talon56@1163.com
  11. %編寫時(shí)間:2013-4-3
  12. %其他說明:版權(quán)所有,原創(chuàng)作品,分享大家,請(qǐng)尊重他人勞動(dòng)成果,參考標(biāo)明參考文獻(xiàn),謝謝

  13. function Y = adai_CFCC(sig,fL,N,alf,beta,thyta)
  14. sig_preemphasis = filter([1-0.9375],1,sig);              %預(yù)加重
  15. %sig_preemphasis = sig;
  16. coeff = adai_AT(sig_preemphasis,fL,N,alf,beta,thyta);   %提取AT變換后的參數(shù)


  17. cms = 0;    %倒譜均值減,本文只做實(shí)驗(yàn)對(duì)比使用
  18. if cms == 1
  19.     w=200;
  20.     n_length = size(coeff,2);
  21.     if n_length > w
  22.         c_frame=coeff(:,1:w);
  23.         c_average=mean(c_frame,2);
  24.         for i=1:(w/2)
  25.             coeff(:,i)=coeff(:,i)-c_average;
  26.         end
  27.         for i=(w/2+1):(n_length-w/2)
  28.             c_frame=c_frame(:,2:w);
  29.             c_frame=[c_frame,coeff(:,i+w/2)];
  30.             c_average=mean(c_frame,2);
  31.             coeff(:,i)=coeff(:,i)-c_average;
  32.         end
  33.         for i=(n_length-w/2+1):n_length
  34.             coeff(:,i)=coeff(:,i)-c_average;
  35.         end
  36.     end
  37. end

  38. h = abs(coeff).^ 2;

  39.                     
  40. for i = 1:size(h,1)         %模仿毛細(xì)胞窗口,本文為固定窗長
  41.     for j = 1: (floor(size(h,2)/320)-1)
  42.         s(i,j) = (1/320)*sum(h(i,(320*(j-1)+1):320*j+1));
  43.     end
  44. end

  45. y = s .^ (1/3); %取立方根

  46. select = 1;     %余弦變換,為什么可選則忘了怎么回事了
  47. if select==1
  48. n_channel=size(y,1);
  49. cfcc = [];
  50. x=(0:n_channel-1);

  51. for i = 1: size(y,2)
  52.     for u = 0:(n_channel-1)
  53.         cos_n = [];
  54.         cos_n = [cos_n,cos(2*(x+1)*pi*u/(2*n_channel))];
  55.         cfcc(i,u+1) = sqrt(2/size(y,1))*sum(y(:,i).*cos_n');
  56.     end
  57. end

  58. elseif select ==2
  59.     ii=(0:size(y,1)-1);
  60.     cfcc = [];
  61.     %cfcc_one_filter = [];
  62.     for i = 1: size(y,2)
  63.         for n = 1:17
  64.             cos_n = [];
  65.             cos_n = [cos_n,cos(pi*(n-1)*(ii-0.5)/size(y,1))];
  66.             cfcc(i,n) = sqrt(2/size(y,1))*sum(y(:,i).*cos_n');
  67.         end
  68.     %  cfcc = [cfcc;cfcc_one_filter];
  69.     end
  70. end

  71. sin_up =  1;        %升半正弦提升,可選,為0時(shí)略過此步,本文只做實(shí)驗(yàn)對(duì)比使用
  72. if sin_up == 1
  73.     w = [];
  74.     w = [w,0.5+0.5*sin(pi*(x)/n_channel)];
  75.     for i = 1:size(cfcc,1)
  76.         cfcc(i,:) = cfcc(i,:).*w;
  77.     end
  78. end

  79. Y = cfcc;

  80. debug = 1;
  81. if debug == 1
  82. figure;
  83. mesh(s);
  84. title('根據(jù)計(jì)算毛細(xì)窗口后的數(shù)據(jù)繪制所得');
  85. figure;
  86. mesh(y);
  87. title('根據(jù)進(jìn)行非線性響度變換后的數(shù)據(jù)繪制所得');
  88. figure;
  89. mesh(cfcc);
  90. title('根據(jù)最終獲得的CFCC參數(shù)繪制所得');
  91. end
復(fù)制代碼
  1. %文件說明:構(gòu)建AT變換濾波器
  2. %功能說明:用于構(gòu)建一個(gè)濾波器
  3. %輸出參數(shù):phy ->單通道濾波器的FFT變換參數(shù)輸出,長度為N(包括對(duì)稱部分長度)
  4. %輸入?yún)?shù):fL    ->濾波器組的最低頻率濾波器的中心頻率
  5. %         fc    ->當(dāng)前濾波器的中心頻率
  6. %         N     ->計(jì)算點(diǎn)數(shù)(包括對(duì)稱部分長度)
  7. %         alf   ->參看CFCC論文
  8. %         bera  ->參看CFCC論文
  9. %         thyta ->相位
  10. %編寫作者:阿呆-東北大學(xué)-talon56@163.com
  11. %編寫時(shí)間:2013-4-3
  12. %其他說明:版權(quán)所有,原創(chuàng)作品,分享大家,請(qǐng)尊重他人勞動(dòng)成果,參考標(biāo)明參考文獻(xiàn),謝謝

  13. function phy = adai_AT_one_filter(fL,fc,N,alf,beta,thyta)

  14. a = fL/fc;
  15. b = 0;

  16. filter=[];
  17. for i = 1:N;
  18.     t = i/16000;
  19.     if t>=0
  20.         u=1;
  21.     else
  22.         u=0;
  23.     end
  24.     fy1 = 1/sqrt(abs(a));
  25.     fy2 = ((t-b)/a)^alf;
  26.     fy3 = exp(-2*pi*fL*beta*((t-b)/a));
  27.     fy4 = cos(2*pi*fL*((t-b)/a)+thyta);
  28.     fy = fy1*fy2*fy3*fy4*u;
  29.     filter(i,:) = fy*100;
  30. end



  31. debug = 0;
  32. if debug == 1
  33. figure;
  34. plot(filter);   %輸出濾波器的沖激響應(yīng)波形
  35. axis([1 N min(filter) max(filter)]);

  36. elseif debug == 2
  37. figure;
  38. plot(20*log10(abs(fft(filter))));   %輸出濾波器的頻率響應(yīng)波形
  39. axis([1 N min(20*log10(abs(fft(filter)))) max(20*log10(abs(fft(filter))))]);

  40. end;

  41. phy = filter;
復(fù)制代碼
  1. %文件說明:構(gòu)建AT變換濾波器組
  2. %功能說明:用于構(gòu)建濾波器組
  3. %輸出參數(shù):Fys ->M個(gè)通道濾波器的FFT變換參數(shù)輸出,長度為N(不包括對(duì)稱部分長度)
  4. %輸入?yún)?shù):fL    ->濾波器組的最低頻率濾波器的中心頻率
  5. %         fc    ->當(dāng)前濾波器的中心頻率
  6. %         N     ->計(jì)算點(diǎn)數(shù)(不包括對(duì)稱部分長度)
  7. %         alf   ->參看CFCC論文
  8. %         bera  ->參看CFCC論文
  9. %         thyta ->相位
  10. %編寫作者:阿呆-東北大學(xué)-talon56@163.com
  11. %編寫時(shí)間:2013-4-3
  12. %其他說明:版權(quán)所有,原創(chuàng)作品,分享大家,請(qǐng)尊重他人勞動(dòng)成果,參考標(biāo)明參考文獻(xiàn),謝謝

  13. function Fys = adai_AT_filterbank(fL,N,alf,beta,thyta)
  14. %fL = 200;
  15. %fc = 200;
  16. %N = 1024;
  17. %alf = 3;
  18. %beta = 0.2;
  19. %thyta = 0;

  20. %200 250  
  21. %fc = [350 450 570 700 840 1000 1170 1370 1600 1850 2150 2500 2900 3400 4000];
  22. fc=[250 350 450 570 700 840 1000 1170 1370 1600 1850 2150 2500 2900 3400 4000];

  23. Fys = [];       %保存濾波器組的時(shí)域波形
  24. Fys_fft = [];   %保存濾波器組的頻域波形
  25. for i = 1:length(fc)
  26.     Fy = adai_AT_one_filter(fL,fc(i),N,alf,beta,thyta);
  27.     Fys = [Fys;Fy'];
  28.     Fy_fft = fft(Fy);
  29.     %Fy_fft = Fy_fft/max(abs(Fy_fft));   %歸一化
  30.     Fys_fft = [Fys_fft;Fy_fft'];
  31. end

  32. figure;
  33. plot(Fys(1,:));
  34. title('第一通道濾波器的沖激響應(yīng)');
  35. debug = 1;
  36. if debug ==1
  37. figure;
  38. disp_Fys_fft = 20*log10(abs(Fys_fft'));
  39. plot(disp_Fys_fft);
  40. title('濾波器組的頻率響應(yīng)');
  41. axis([1 N/2 -120 -60]);
  42. %axis([1 N/2 min(disp_Fys_fft(:)) max(disp_Fys_fft(:))]);
  43. end
復(fù)制代碼
  1. %文件說明:對(duì)輸入信號(hào)進(jìn)行AT變換
  2. %功能說明:計(jì)算各個(gè)濾波器的輸出系數(shù)
  3. %輸出參數(shù):coeff ->M個(gè)通道濾波器的輸出系數(shù)(總長度為sig長度減去N)
  4. %輸入?yún)?shù):sig  ->變換前的數(shù)據(jù)(一般認(rèn)為已經(jīng)過預(yù)處理)
  5. %         fL    ->濾波器組的最低頻率濾波器的中心頻率
  6. %         N     ->計(jì)算點(diǎn)數(shù)
  7. %         alf   ->參看CFCC論文
  8. %         bera  ->參看CFCC論文
  9. %         thyta ->相位
  10. %編寫作者:阿呆-東北大學(xué)-talon56@163.com
  11. %編寫時(shí)間:2013-4-30
  12. %其他說明:版權(quán)所有,原創(chuàng)作品,分享大家,請(qǐng)尊重他人勞動(dòng)成果,參考標(biāo)明參考文獻(xiàn),謝謝

  13. function coeff = adai_AT(sig,fL,N,alf,beta,thyta)


  14. phy = adai_AT_filterbank(fL,N,alf,beta,thyta);      %構(gòu)建聽覺變換濾波器組
  15. n_channel = size(phy,1);


  16. filters_output = [];            %本文根據(jù)卷積定義進(jìn)行小波變換運(yùn)算,運(yùn)算量較大,在利用C重寫時(shí),可進(jìn)行優(yōu)化
  17. for j = 1 : n_channel
  18.     one_filter_output = [];
  19.     for i = 1 : length(sig)-N
  20.         frame = sig(i:i+N-1);
  21.         bb = sum(frame'.*phy(j,:));
  22.         one_filter_output(i,:) = bb;
  23.     end
  24.     filters_output = [filters_output;one_filter_output'];
  25. end

  26. coeff = filters_output;
復(fù)制代碼

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:199382 發(fā)表于 2017-5-11 08:20 | 只看該作者
挺不錯(cuò)
回復(fù)

使用道具 舉報(bào)

板凳
ID:220823 發(fā)表于 2017-7-19 17:46 | 只看該作者
請(qǐng)問gammachirp部分的代碼能共享一下嗎
回復(fù)

使用道具 舉報(bào)

地板
ID:258863 發(fā)表于 2017-12-7 22:35 | 只看該作者
寫得不錯(cuò)
回復(fù)

使用道具 舉報(bào)

5#
ID:335182 發(fā)表于 2018-5-21 20:05 | 只看該作者
大神,gammatone濾波器的特征參數(shù)是怎么提取出來的呀
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表