书籍详情
语音识别服务实战
作者:杨学锐,晏超,刘雪松 著
出版社:电子工业出版社
出版时间:2022-03-01
ISBN:9787121425905
定价:¥128.00
购买这本书可以去
内容简介
随着语音算法技术的不断发展与完善,如何进行工程落地成为语音商业应用中普遍面临的问题。工程落地不仅要考虑模型效果,还要考虑资源占用、模块联调且整个架构要具有可靠性、可扩展性和可维护性。 本书围绕如何从零构建一个完整的语音识别系统,深入浅出地介绍了语音识别前端算法、语音识别算法及说话人日志算法原理;基于Kaldi的模型训练;语音识别工程落地和服务搭建。 本书适合作为语音技术研究人员及对语音技术感兴趣的开发人员的参考用书。
作者简介
杨学锐 大疆创新语音交互算法负责人,复旦大学及Turku大学硕士,长期从事语音算法、深度学习、人工智能等领域的研究与商业落地,在相关领域发表多篇论文及专利。 晏超 北京邮电大学硕士,曾任职于HP Labs, Cisco, Technicolor等公司。现为云从科技语音算法负责人,从事语音识别、声纹识别、说话人日志、语音合成等方向的算法研发工作,构建了云从科技整套语音算法引擎与应用服务平台。 刘雪松 OPPO音频算法专家,复旦大学硕士,曾任职于美国国家仪器、声网、云从科技等公司。在信号处理、音频算法和语音算法等领域有丰富的实战经验,在相关领域发表多篇论文及专利。
目录
目 录
第1章 语音识别概述 1
1.1 语音识别发展历程 2
1.2 语音识别产业与应用 6
1.2.1 消费级市场 7
1.2.2 企业级市场 8
1.3 常用语音处理工具 10
1.3.1 WebRTC 10
1.3.2 Kaldi 12
1.3.3 端到端语音识别工具包 14
第2章 语音信号基础 16
2.1 语音信号的声学基础 17
2.1.1 语音产生机理 17
2.1.2 语音信号的产生模型 19
2.1.3 语音信号的感知 20
2.2 语音信号的数字化和时频变换 22
2.2.1 语音信号的采样、量化和编码 22
2.2.2 语音信号的时频变换 25
2.3 本章小结 31
第3章 语音前端算法 32
3.1 语音前端算法概述 33
3.2 VAD 35
3.2.1 基于门限判决的VAD 36
3.2.2 基于高斯混合模型的VAD 38
3.2.3 基于神经网络的VAD 40
3.3 单通道降噪 43
3.3.1 谱减法 44
3.3.2 维纳滤波法 46
3.3.3 音乐噪声和参数谱减法 48
3.3.4 贝叶斯准则下的MMSE 51
3.3.5 噪声估计 56
3.3.6 基于神经网络的单通道降噪 61
3.4 回声消除 65
3.4.1 回声消除概述 66
3.4.2 线性自适应滤波 69
3.4.3 分块频域自适应滤波器 70
3.4.4 双讲检测 72
3.4.5 延迟估计 75
3.4.6 残留回声消除 76
3.4.7 基于神经网络的回声消除 78
3.5 麦克风阵列与波束形成 79
3.5.1 麦克风阵列概述 80
3.5.2 延迟求和波束形成 86
3.5.3 最小方差无失真响应波束形成 89
3.5.4 广义旁瓣对消波束形成 92
3.5.5 后置滤波 98
3.5.6 基于神经网络的波束形成 101
3.6 声源定位 103
3.6.1 GCC-PHAT 104
3.6.2 基于自适应滤波的声源定位 105
3.6.3 SRP-PHAT 108
3.6.4 子空间声源定位算法 108
3.6.5 基于神经网络的声源定位 111
3.7 其他未尽话题 111
3.8 本章小结 113
第4章 语音识别原理 114
4.1 特征提取 116
4.1.1 特征预处理 116
4.1.2 常见的语音特征 119
4.2 传统声学模型 124
4.2.1 声学建模单元 124
4.2.2 GMM-HMM 126
4.2.3 强制对齐 131
4.3 DNN-HMM 131
4.3.1 语音识别中的神经网络基础 132
4.3.2 常见的神经网络结构 137
4.4 语言模型 145
4.4.1 n-gram语言模型 145
4.4.2 语言模型的评价指标 148
4.4.3 神经语言模型 148
4.5 WFST解码器 151
4.5.1 WFST原理 151
4.5.2 常见的WFST运算 152
4.5.3 语音识别中的WFST解码器 155
4.5.4 令牌传递算法 157
4.5.5 Beam Search 159
4.6 序列区分性训练 160
4.6.1 MMI和bMMI 161
4.6.2 MPE和sMBR 161
4.6.3 词图 161
4.6.4 LF-MMI 162
4.7 端到端语音识别 163
4.7.1 CTC 163
4.7.2 Seq2Seq 166
4.8 语音识别模型评估 169
4.9 本章小结 171
第5章 中文普通话模型训练——以multi_cn为例 172
5.1 Kaldi安装与环境配置 173
5.2 Kaldi中的数据格式与数据准备 174
5.3 语言模型训练 178
5.4 发音词典准备 180
5.5 特征提取 184
5.6 Kaldi中的Transition模型 186
5.7 预对齐模型训练 187
5.7.1 单音素模型训练 187
5.7.2 delta特征模型训练 190
5.7.3 lda_mllt特征变换模型训练 191
5.7.4 说话人自适应训练 192
5.8 数据增强 193
5.8.1 数据清洗及重分割 194
5.8.2 速度增强和音量增强 194
5.8.3 SpecAugment 196
5.9 I-Vector训练 197
5.9.1 对角UBM 197
5.9.2 I-Vector提取器 198
5.9.3 提取训练数据的I-Vector 199
5.10 神经网络训练 199
5.10.1 Chain模型 200
5.10.2 Chain模型数据准备 202
5.10.3 神经网络配置与训练 203
5.11 解码图生成 209
5.12 本章小结 210
5.13 附录 211
5.13.1 xconfig中的描述符及网络配置表 211
5.13.2 Chain模型中的egs 215
5.13.3 Kaldi nnet3中迭代次数和学习率调整 217
第6章 基于Kaldi的说话人日志 219
6.1 说话人日志概述 220
6.1.1 什么是说话人日志 220
6.1.2 说话人日志技术 220
6.1.3 说话人日志评价指标 227
6.2 声纹模型训练——以CNCeleb为例 229
6.2.1 声纹数据准备 230
6.2.2 I-Vector训练 240
6.2.3 X-Vector训练 243
6.2.4 LDA/PLDA后端模型训练 248
6.2.5 说话人日志后端模型训练 250
6.3 本章小结 253
第7章 基于Kaldi的语音SDK实现 254
7.1 语音特征提取 258
7.1.1 音频读取 258
7.1.2 音频特征提取 261
7.2 基于WebRTC的语音活动检测 268
7.3 说话人日志模块 273
7.3.1 I-Vector提取 275
7.3.2 X-Vector提取 287
7.3.3 说话人日志算法实现 299
7.4 语音识别解码 313
7.5 本章小结 324
第8章 基于gRPC的语音识别服务 325
8.1 gRPC语音服务 326
8.2 ProtoBuf协议定义 327
8.3 基于gRPC的语音服务实现 329
8.3.1 gRPC Server实现 330
8.3.2 gRPC Client实现 337
8.3.3 gRPC语音服务的编译与测试 343
8.4 本章小结 346
参考文献 347
第1章 语音识别概述 1
1.1 语音识别发展历程 2
1.2 语音识别产业与应用 6
1.2.1 消费级市场 7
1.2.2 企业级市场 8
1.3 常用语音处理工具 10
1.3.1 WebRTC 10
1.3.2 Kaldi 12
1.3.3 端到端语音识别工具包 14
第2章 语音信号基础 16
2.1 语音信号的声学基础 17
2.1.1 语音产生机理 17
2.1.2 语音信号的产生模型 19
2.1.3 语音信号的感知 20
2.2 语音信号的数字化和时频变换 22
2.2.1 语音信号的采样、量化和编码 22
2.2.2 语音信号的时频变换 25
2.3 本章小结 31
第3章 语音前端算法 32
3.1 语音前端算法概述 33
3.2 VAD 35
3.2.1 基于门限判决的VAD 36
3.2.2 基于高斯混合模型的VAD 38
3.2.3 基于神经网络的VAD 40
3.3 单通道降噪 43
3.3.1 谱减法 44
3.3.2 维纳滤波法 46
3.3.3 音乐噪声和参数谱减法 48
3.3.4 贝叶斯准则下的MMSE 51
3.3.5 噪声估计 56
3.3.6 基于神经网络的单通道降噪 61
3.4 回声消除 65
3.4.1 回声消除概述 66
3.4.2 线性自适应滤波 69
3.4.3 分块频域自适应滤波器 70
3.4.4 双讲检测 72
3.4.5 延迟估计 75
3.4.6 残留回声消除 76
3.4.7 基于神经网络的回声消除 78
3.5 麦克风阵列与波束形成 79
3.5.1 麦克风阵列概述 80
3.5.2 延迟求和波束形成 86
3.5.3 最小方差无失真响应波束形成 89
3.5.4 广义旁瓣对消波束形成 92
3.5.5 后置滤波 98
3.5.6 基于神经网络的波束形成 101
3.6 声源定位 103
3.6.1 GCC-PHAT 104
3.6.2 基于自适应滤波的声源定位 105
3.6.3 SRP-PHAT 108
3.6.4 子空间声源定位算法 108
3.6.5 基于神经网络的声源定位 111
3.7 其他未尽话题 111
3.8 本章小结 113
第4章 语音识别原理 114
4.1 特征提取 116
4.1.1 特征预处理 116
4.1.2 常见的语音特征 119
4.2 传统声学模型 124
4.2.1 声学建模单元 124
4.2.2 GMM-HMM 126
4.2.3 强制对齐 131
4.3 DNN-HMM 131
4.3.1 语音识别中的神经网络基础 132
4.3.2 常见的神经网络结构 137
4.4 语言模型 145
4.4.1 n-gram语言模型 145
4.4.2 语言模型的评价指标 148
4.4.3 神经语言模型 148
4.5 WFST解码器 151
4.5.1 WFST原理 151
4.5.2 常见的WFST运算 152
4.5.3 语音识别中的WFST解码器 155
4.5.4 令牌传递算法 157
4.5.5 Beam Search 159
4.6 序列区分性训练 160
4.6.1 MMI和bMMI 161
4.6.2 MPE和sMBR 161
4.6.3 词图 161
4.6.4 LF-MMI 162
4.7 端到端语音识别 163
4.7.1 CTC 163
4.7.2 Seq2Seq 166
4.8 语音识别模型评估 169
4.9 本章小结 171
第5章 中文普通话模型训练——以multi_cn为例 172
5.1 Kaldi安装与环境配置 173
5.2 Kaldi中的数据格式与数据准备 174
5.3 语言模型训练 178
5.4 发音词典准备 180
5.5 特征提取 184
5.6 Kaldi中的Transition模型 186
5.7 预对齐模型训练 187
5.7.1 单音素模型训练 187
5.7.2 delta特征模型训练 190
5.7.3 lda_mllt特征变换模型训练 191
5.7.4 说话人自适应训练 192
5.8 数据增强 193
5.8.1 数据清洗及重分割 194
5.8.2 速度增强和音量增强 194
5.8.3 SpecAugment 196
5.9 I-Vector训练 197
5.9.1 对角UBM 197
5.9.2 I-Vector提取器 198
5.9.3 提取训练数据的I-Vector 199
5.10 神经网络训练 199
5.10.1 Chain模型 200
5.10.2 Chain模型数据准备 202
5.10.3 神经网络配置与训练 203
5.11 解码图生成 209
5.12 本章小结 210
5.13 附录 211
5.13.1 xconfig中的描述符及网络配置表 211
5.13.2 Chain模型中的egs 215
5.13.3 Kaldi nnet3中迭代次数和学习率调整 217
第6章 基于Kaldi的说话人日志 219
6.1 说话人日志概述 220
6.1.1 什么是说话人日志 220
6.1.2 说话人日志技术 220
6.1.3 说话人日志评价指标 227
6.2 声纹模型训练——以CNCeleb为例 229
6.2.1 声纹数据准备 230
6.2.2 I-Vector训练 240
6.2.3 X-Vector训练 243
6.2.4 LDA/PLDA后端模型训练 248
6.2.5 说话人日志后端模型训练 250
6.3 本章小结 253
第7章 基于Kaldi的语音SDK实现 254
7.1 语音特征提取 258
7.1.1 音频读取 258
7.1.2 音频特征提取 261
7.2 基于WebRTC的语音活动检测 268
7.3 说话人日志模块 273
7.3.1 I-Vector提取 275
7.3.2 X-Vector提取 287
7.3.3 说话人日志算法实现 299
7.4 语音识别解码 313
7.5 本章小结 324
第8章 基于gRPC的语音识别服务 325
8.1 gRPC语音服务 326
8.2 ProtoBuf协议定义 327
8.3 基于gRPC的语音服务实现 329
8.3.1 gRPC Server实现 330
8.3.2 gRPC Client实现 337
8.3.3 gRPC语音服务的编译与测试 343
8.4 本章小结 346
参考文献 347
猜您喜欢