前言

在过去的几年里,语音相关产业发展迅速,产品形态五花八门。在消费电子领域,随着语音输入、语音搜索、智能助手等产品的出现,一场人人交互和人机交互的变革正在我们身边发生。语音产业的上一次爆发出现在20世纪80年代至90年代:隐马尔可夫模型的应用,使大规模连续语音识别成为可能——这意味着用户在人机语音交互时,得以摆脱字正腔圆、一词一顿的刻板方式。在过去的十年间,随着深度学习技术的强势崛起和以GPU为代表的算力硬件的爆发,语音类产品(包括但不限于语音转文字、说话人识别、语种识别等)的使用体验又一次得到了显著的提升。更重要的是,深度学习技术带来的使用体验的提升,使语音技术更加接近商用,促成了语音产品和语音数据之间的良性循环:相比传统模型,基于深度神经网络的语音识别系统总是能更有效地利用持续增长的数据量,提升识别性能,而识别性能的提升,又会激发更多的产业应用,打通海量语音数据的获取渠道,进一步优化模型。

随着语音算法的逐代升级,语音技术链路的相关研发工具也逐步成型和完善,其中的代表是HTK和Sphinx工具集,这两个工具集都能够完成从模型的训练到产品原型的搭建等一系列工作,并催生了一批以语音识别为核心技术的公司。在20世纪90年代末,这两个工具集先后开源,再次降低了语音识别和相关领域的研发门槛与成本。

在最近的十年里,新一代的开源项目Kaldi逐步取代了HTK和Sphinx的统治地位,成为了流行的开源语音工具箱。Kaldi诞生之初就汲取了其他语音项目的经验,并以语音识别为核心进行全局的设计:包含自成一派的文件I/O及存储、数据处理流水线、模型训练流水线,以及采用高效且优雅的加权有限状态机(WFST)作为语音识别解码的统一框架,并提供了离线/在线识别原型等。

Kaldi项目发布不久,就吸引了国内外的大量用户,形成了一个活跃的开源社区。在社区中,有国际顶尖的语音科学家、探索新边界的博士研究生,也有初探语音识别的初学者、其他技术领域想使用语音技术的工程师,当然还有经历了HTK时代的老用户们。截至本书完稿时,Kaldi在GitHub上的官方项目中获得的星标和子仓库合计已超过一万个。

尽管Kaldi工具箱的出现在很大程度上降低了语音识别技术的研究门槛,但与其他AI技术相比,它的语音识别技术本身链路复杂、模块多样、领域知识点众多;此外,目前Kaldi社区的活跃开发者们更关注推进核心技术,因此在文档建设方面,还停留在项目早期的设计理念及核心概念阶段,文档稀缺;再加上市场上少有Kaldi相关的教程和书籍,尤其是中文书籍,更使得国内用户在入门语音识别技术及上手Kaldi工具箱时,面临比较陡峭的学习曲线。

本书的作者来自Kaldi的开发团队、开源社区和企业用户,具有多年的语音研发经验和Kaldi使用经验。笔者长期在各Kaldi社群中为普通用户答疑,交流的主题大致可以分为四类,即语音识别的基础理论、Kaldi中的具体算法实现、Kaldi工具箱的用法、搭建语音系统中经常遇到的实际问题。本书致力于系统梳理以上四类问题,深入浅出地介绍语音识别各个模块的原理,厘清Kaldi中各种实践技巧的来龙去脉,并结合示例解析,展示如何使用Kaldi构建语音识别、关键词检索、说话人识别和语种识别系统。

本书假定读者具备基础的编程知识和最基本的机器学习概念。笔者在行文中注重示例解析,尽量避免公式推导,注重阐述核心问题及对应算法的直观意义,力图帮助读者快速建立语音技术的宏观视角,并熟悉Kaldi工具箱的微观样貌。没有语音背景的读者,可以把本书当作快速上手语音研发的入门参考书。同时,对于一些没有详细展开的理论知识点,本书给出了相关的经典论文或参考文献,供有兴趣、有能力的读者进一步纵向深入掌握。

Kaldi是一个仍在持续演进并快速迭代的开源项目,在Kaldi发布10周年之际,藉以此书对其发展历史做一个回顾,对当前状态做一次汇总,愿与广大中文Kaldi用户一同展望语音行业的美好未来。

作者

2019年12月

读者服务

微信扫码回复:37874

· 获取博文视点学院20元优惠券

· 获取免费增值资源

· 加入读者交流群,与更多读者互动

· 获取精选书单推荐