目 录
第1章 语音识别技术 1
1.1 总体结构 1
1.2 Linux基础 2
1.3 安装Micro编辑器 4
1.4 安装Kaldi 5
1.5 yesno例子 6
1.5.1 数据准备 7
1.5.2 词典准备 8
1.6 构建一个简单的ASR 12
1.7 Voxforge例子 21
1.8 数据准备 23
1.9 加权有限状态转换 34
1.9.1 FSA 35
1.9.2 FST 35
1.9.3 WFST 37
1.9.4 Kaldi对OpenFst的改进 38
1.10 语音识别语料库 39
1.10.1 TIMIT语料库 39
1.10.2 LibriSpeech语料库 40
1.10.3 中文语料库 40
1.11 Linux shell脚本基础 40
1.11.1 Bash 41
1.11.2 AWK 44
第2章 C#开发语音识别 46
2.1 准备开发环境 46
2.2 计算卷积 47
2.3 记录语音 48
2.4 读入语音信号 52
2.5 离散傅里叶变换 53
2.6 移除静音 54
第3章 Perl开发语音识别 58
3.1 变量 58
3.1.1 数字 58
3.1.2 字符串 59
3.1.3 数组 60
3.1.4 散列表 60
3.2 多维数组 62
3.3 常量 62
3.4 操作符 63
3.5 控制流 66
3.6 文件与目录 67
3.7 例程 68
3.8 执行命令 69
3.9 正则表达式 69
3.9.1 基本类型 69
3.9.2 正则表达式模式 70
3.10 命令行参数 72
第4章 Python开发语音识别 73
4.1 Windows操作系统下安装Python 73
4.2 Linux操作系统下安装Python 75
4.3 选择版本 76
4.4 开发环境 76
4.5 注释 77
4.6 变量 77
4.6.1 数值 77
4.6.2 字符串 79
4.7 数组 80
4.8 列表 80
4.9 元组 80
4.10 字典 81
4.11 控制流 81
4.11.1 条件判断 81
4.11.2 循环 82
4.12 模块 83
4.13 函数 84
4.14 读写文件 86
4.15 面向对象编程 87
4.16 命令行参数 88
4.17 数据库 90
4.18 日志记录 90
4.19 异常处理 92
4.20 测试 92
4.21 语音活动检测 93
4.22 使用numpy 93
第5章 Java开发语音识别 94
5.1 实现卷积 95
5.2 KaldiJava 96
5.2.1 使用Ant 97
5.2.2 使用Maven 99
5.2.3 使用Gradle 100
5.2.4 概率分布函数 102
5.3 TensorFlow的Java接口 104
5.3.1 在Windows操作系统下使用TensorFlow 104
5.3.2 在Linux操作系统下使用TensorFlow 106
第6章 语音信号处理 109
6.1 使用FFmpeg 109
6.2 标注语音 110
6.3 时间序列 112
6.4 端点检测 113
6.5 动态时间规整 114
6.6 傅里叶变换 117
6.6.1 离散傅里叶变换 117
6.6.2 快速傅里叶变换 120
6.7 MFCC特征 124
6.8 说话者识别 125
6.9 解码 125
第7章 深度学习 132
7.1 神经网络基础 132
7.1.1 实现多层感知器 135
7.1.2 计算过程 143
7.2 卷积神经网络 150
7.3 搭建深度学习开发环境 156
7.3.1 使用Cygwin模拟环境 156
7.3.2 使用CMake 157
7.3.3 使用Keras 158
7.3.4 安装TensorFlow 161
7.3.5 安装TensorFlow的Docker容器 162
7.3.6 使用TensorFlow 164
7.3.7 一维卷积 208
7.3.8 二维卷积 210
7.3.9 扩张卷积 213
7.3.10 TensorFlow实现简单的语音识别 214
7.4 nnet3实现代码 216
7.4.1 数据类型 217
7.4.2 基本数据结构 219
7.5 编译Kaldi 230
7.6 端到端深度学习 232
7.7 Dropout解决过度拟合问题 232
7.8 矩阵运算 235
第8章 语言模型 238
8.1 概率语言模型 238
8.1.1 一元模型 240
8.1.2 数据基础 240
8.1.3 改进一元模型 249
8.1.4 二元词典 251
8.1.5 完全二叉树数组 257
8.1.6 三元词典 261
8.1.7 N元模型 262
8.1.8 生成语言模型 264
8.1.9 评估语言模型 265
8.1.10 平滑算法 266
8.2 KenLM语言模型工具包 271
8.3 ARPA文件格式 275
8.4 依存语言模型 278