語音是新一代人機(jī)交互的方式,語音識別是實現(xiàn)這一方式的關(guān)鍵環(huán)節(jié),也是實現(xiàn)人工智能的基本步驟之一。本書結(jié)合當(dāng)下使用廣泛的Kaldi工具,對語音識別的基本概念和流程進(jìn)行了詳細(xì)的講解,包括GMM-HMM、DNN-HMM、端到端等常用結(jié)構(gòu),并探討了語音識別在實際應(yīng)用中的問題,包括說話人自適應(yīng)、噪聲對抗與環(huán)境魯棒性、小語種語音識別、關(guān)鍵詞識別與嵌入式應(yīng)用等方面,也對語音技術(shù)的相關(guān)前沿課題進(jìn)行了介紹,包括說話人識別、語種識別、情緒識別、語音合成等方向。本書的寫作以讓讀者快速、直觀地理解概念為目標(biāo),只展示最基本的數(shù)學(xué)公式,同時本書注重理解與實踐相結(jié)合,在對語音技術(shù)各個概念的講解中都展示了相應(yīng)的Kaldi語音處理命令,以便讓讀者進(jìn)一步融會貫通。本書適用于語音識別及相關(guān)技術(shù)的初學(xué)者、在校學(xué)生,以及基于Kaldi進(jìn)行產(chǎn)品研發(fā)的同仁,也可以作為語音從業(yè)者的參考書目。
湯志遠(yuǎn),中國科學(xué)院大學(xué)與清華大學(xué)聯(lián)合培養(yǎng)博士,清華博士后。專注于語音技術(shù),研究領(lǐng)域涉及語音識別、聲紋識別、語種識別、口語測評等,在國際重要期刊或會議上累計發(fā)表論文數(shù)十篇。個人主頁:http://tangzy.cslt.org。李藍(lán)天,清華大學(xué)博士、博士后,專注于機(jī)器學(xué)習(xí)在語音信號處理中的方法研究,研究領(lǐng)域涉及說話人識別、語音識別、音頻事件檢測、語種識別、情感識別等,現(xiàn)已在國際期刊或會議上發(fā)表學(xué)術(shù)論文50余篇。個人主頁:http://lilt.cslt.org。王東,清華大學(xué)副研究員,清華大學(xué)語音和語言技術(shù)中心副主任,英國愛丁堡大學(xué)博士,歷任Oracle中國軟件工程師、IBM中國高級軟件工程師、英國愛丁堡大學(xué)Marie Curie研究員、法國EURECOM博士后研究員、美國Nuance公司高級研究科學(xué)家,在語音領(lǐng)域國際重要期刊或會議上發(fā)表論文150余篇,是IEEE高級會員,APSIPA(亞太信號與信息處理協(xié)會)SLA(服務(wù)等級協(xié)議)主席。個人主頁:http://wangd.cslt.org。石穎,哈爾濱工業(yè)大學(xué)在讀博士,曾任清華大學(xué)語音和語言技術(shù)中心語音算法工程師,專注于語音相關(guān)技術(shù),研究領(lǐng)域涉及語音識別、小語種語音識別、命令詞識別、語音增強。個人主頁:http://shiying.cslt.org。蔡云麒,中國科學(xué)院物理研究所與美國橡樹嶺國家實驗室聯(lián)合培養(yǎng)博士研究生,清華大學(xué)博士后,目前研究方向為語音領(lǐng)域的機(jī)器學(xué)習(xí)算法研究。在國際期刊和會議上發(fā)表論文十多篇。鄭方,清華大學(xué)研究員、博士生導(dǎo)師,清華大學(xué)語音和語言技術(shù)中心主任,清華大學(xué)人工智能研究院聽覺智能研究中心主任,北京信息科學(xué)與技術(shù)國家研究中心智能科學(xué)部常務(wù)副主任,得意音通公司創(chuàng)始人。個人主頁:http://cslt.riit.tsinghua.edu.cn/~fzheng。
目錄
1 語音是什么 2
1.1 大音希聲 2
1.2 產(chǎn)生語音 4
1.3 看見語音 5
1.4 小結(jié) 8
2 語音識別方法 9
2.1 總體思路 10
2.2 聲學(xué)模型GMM-HMM 12
2.2.1 HMM 12
2.2.2 GMM 14
2.2.3 訓(xùn)練 15
2.3 聲學(xué)模型DNN-HMM 16
2.4 語言模型 18
2.4.1 N-Gram 18
2.4.2 RNN語言模型 18
2.5 解碼器 20
2.6 端到端結(jié)構(gòu) 22
2.6.1 CTC 23
2.6.2 RNN-T 26
2.6.3 Attention 27
2.6.4 Self-Attention 29
2.6.5 CTC+Attension 31
2.7 開源工具和硬件平臺 32
2.7.1 深度學(xué)習(xí)平臺 32
2.7.2 語音識別工具 33
2.7.3 硬件加速 34
2.8 小結(jié) 36
3 完整的語音識別實驗 37
3.1 語音識別實驗的步驟 38
3.2 語音識別實驗的運行 46
3.3 其他語音任務(wù)案例 47
3.4 小結(jié) 47
4 前端處理 48
4.1 數(shù)據(jù)準(zhǔn)備 48
4.2 聲學(xué)特征提取 52
4.2.1 預(yù)加重(Pre-Emphasis) 54
4.2.2 加窗(Windowing) 54
4.2.3 離散傅里葉變換(DFT) 55
4.2.4 FBank特征 56
4.2.5 MFCC特征 57
4.3 小結(jié) 58
5 訓(xùn)練與解碼 59
5.1 GMM-HMM基本流程 60
5.1.1 訓(xùn)練 60
5.1.2 解碼 61
5.1.3 強制對齊 62
5.2 DNN-HMM基本流程 63
5.3 DNN配置詳解 64
5.3.1 component和component-node 65
5.3.2 屬性與描述符 66
5.3.3 不同組件的使用方法 66
5.3.4 LSTM配置范例 76
5.4 小結(jié) 81
6 說話人自適應(yīng) 84
6.1 什么是說話人自適應(yīng) 84
6.2 特征域自適應(yīng)與聲道長度規(guī)整 85
6.3 聲學(xué)模型自適應(yīng):HMM-GMM系統(tǒng) 87
6.3.1 基于MAP的自適應(yīng)方法 88
6.3.2 基于MLLR的自適應(yīng)方法 91
6.4 聲學(xué)模型自適應(yīng):DNN系統(tǒng) 93
6.4.1 模型參數(shù)自適應(yīng)學(xué)習(xí) 93
6.4.2 基于說話人向量的條件學(xué)習(xí) 94
6.5 領(lǐng)域自適應(yīng) 95
6.6 小結(jié) 95
7 噪聲對抗與環(huán)境魯棒性 97
7.1 環(huán)境魯棒性簡介 97
7.2 前端信號處理方法 98
7.2.1 語音增強方法 99
7.2.2 特征域補償方法 103
7.2.3 基于DNN的特征映射 106
7.3 后端模型增強方法 108
7.3.1 簡單模型增強方法 108
7.3.2 模型自適應(yīng)方法 109
7.3.3 多場景學(xué)習(xí)和數(shù)據(jù)增強方法 109
7.4 小結(jié) 110
8 小語種語音識別 111
8.1 小語種語音識別面臨的主要困難 112
8.2 基于音素共享的小語種語音識別 113
8.3 基于參數(shù)共享的小語種語音識別方法 118
8.4 其他小語種語音識別方法 121
8.4.1 Grapheme 建模 121
8.4.2 網(wǎng)絡(luò)結(jié)構(gòu)與訓(xùn)練方法 121
8.4.3 數(shù)據(jù)增強 122
8.5 小語種語音識別實踐 122
8.5.1 音頻數(shù)據(jù)采集 122
8.5.2 文本數(shù)據(jù)采集 122
8.5.3 文本正規(guī)化 123
8.5.4 發(fā)音詞典設(shè)計 123
8.6 小結(jié) 123
9 關(guān)鍵詞識別與嵌入式應(yīng)用 125
9.1 基本概念 125
9.2 評價指標(biāo) 126
9.3 實現(xiàn)方法 129
9.3.1 總體框架 129
9.3.2 基于LVCSR的KWS系統(tǒng) 130
9.3.3 基于示例的KWS 132
9.3.4 端到端KWS 133
9.3.5 滑動窗口 133
9.4 嵌入式應(yīng)用 134
9.4.1 模型壓縮 134
9.4.2 遷移學(xué)習(xí) 136
9.4.3 網(wǎng)絡(luò)結(jié)構(gòu)搜索與設(shè)計 137
9.5 小結(jié) 137
10 說話人識別 140
10.1 什么是說話人識別 140
10.1.1 基本概念 140
10.1.2 技術(shù)難點 143
10.1.3 發(fā)展歷史 143
10.2 基于知識驅(qū)動的特征設(shè)計 144
10.3 基于線性高斯的統(tǒng)計模型 147
10.3.1 高斯混合模型-通用背景模型 147
10.3.2 因子分析 150
10.4 基于數(shù)據(jù)驅(qū)動的特征學(xué)習(xí) 154
10.4.1 模型結(jié)構(gòu) 156
10.4.2 訓(xùn)練策略 157
10.4.3 多任務(wù)學(xué)習(xí) 157
10.5 基于端到端的識別模型 158
10.6 小結(jié) 160
11 語種識別 161
11.1 什么是語種識別 161
11.2 語言的區(qū)分性特征 163
11.3 統(tǒng)計模型方法 165
11.3.1 基于聲學(xué)特征的識別方法 165
11.3.2 基于發(fā)音單元的語種識別方法 167
11.4 深度學(xué)習(xí)方法 170
11.4.1 基于DNN的統(tǒng)計模型方法 170
11.4.2 基于DNN的端到端建模 172
11.4.3 基于DNN的語言嵌入 176
11.5 Kaldi中的語種識別 178
11.6 小結(jié) 180
12 語音情緒識別 182
12.1 什么是語音情緒識別 182
12.2 語音情緒模型 185
12.2.1 離散情緒模型 186
12.2.2 連續(xù)情緒模型 186
12.3 語音情緒特征提取 187
12.3.1 語音情緒識別中的典型特征 187
12.3.2 局部特征與全局特征 190
12.4 語音情緒建模 192
12.4.1 離散情緒模型 192
12.4.2 連續(xù)情緒模型 195
12.5 深度學(xué)習(xí)方法 196
12.5.1 基礎(chǔ)DNN方法 196
12.5.2 特征學(xué)習(xí) 198
12.5.3 遷移學(xué)習(xí) 200
12.5.4 多任務(wù)學(xué)習(xí) 200
12.6 小結(jié) 201
13 語音合成 203
13.1 激勵-響應(yīng)模型 204
13.2 參數(shù)合成 207
13.3 拼接合成 208
13.4 統(tǒng)計模型合成 210
13.5 神經(jīng)模型合成 212
13.6 基于注意力機(jī)制的合成系統(tǒng) 214
13.7 小結(jié) 216
參考文獻(xiàn) 217
索引 243