重磅推荐
【编辑】

远程办公时,您的团队同时进行视频会议的语音通话质量是否还有待提高呢?
如果有这个疑惑,建议您看看这本书。
本书围绕视频会议和远场语音识别两个热门的领域展开,将音频算法和工程实践连成一体,从基础理论到实践方案,全面介绍业内主流的可商用的实时语音处理技术。语音算法开发中遇到的大部分问题均有涉及,并给出了比较专业的解法。


【内容简介】

本书主要介绍基于互联网场景的交互式实时语音处理流程,内容涉及智能语音助手、智能音箱、音/视频会议等,具体包括实时语音信号处理、数字音效、网络传输编/解码和语音唤醒识别四部分。在阐述各部分内容时,本书从基本概念和原理入手,将理论和实践相结合,并细致分析了极具商业价值的实例,以帮助读者了解相关算法在工程上是如何实现的。另外,为便于有兴趣的读者快速进行算法验证并将其改进和应用到实际的项目中,作者也开源了书中算法的源码。

对于语音技术零基础的读者,建议按照本书的编排顺序阅读;本书也适合有一定语音理论基础的高等院校相关专业本科生和研究生;对从事语音相关产品的非技术人员来说,可从本书了解语音处理的主要内容和技术难点,对从事语音工程开发的技术人员来说,本书开源了一些极具商业价值的源码工程,具有较高的参考价值。


【作者简介】

葛世超,硕士,毕业于西安电子科技大学雷达国防重点实验室,先后任职于阿里巴巴、rokid和Zoom,从事语音算法工作。

吕强,学士,吉林大学通信工程专业毕业,原微鲸电视系统软件音频专家。

钱思冲,武汉理工大学博士,2016年至2018年在rokid从事麦克风阵列信号研究,目前主要研究语音信号盲源分离。

张博伦,硕士研究生,毕业于中国海洋大学海底科学与探测技术重点实验室。毕业后先后从事水声、音频信号处理等工作。

张硕,毕业于西安电子科技大学和法国高等电力学院,先后任职于诺基亚和Rokid,从事语音算法相关工作。


【媒体评论】

*次看到这本书时,让我回想起了2016年*次接触回声消除的场景,感触颇多。受2020年新冠肺炎疫情的影响,大部分人都使用了远程办公软件,几十人同时进行视频会议的语音通话质量是不是还有待提高呢?刚好本书以webRTC音频引擎为例解惑了我多年来的疑问。

—— 大米科技未来有限公司 王中伟

本书围绕视频会议和远场语音识别两个热门的垂直领域展开,将音频算法和工程实践连成一体,将理论知识落地到代码中,让算法不再玄乎。可以说,本书是音频领域从业者不可多得的好资料。

—— 音频算法专家 月崖

我是在找webRTC beamforming的相关资料时找到了作者的电子书,当时我很惊讶居然有人把它分享出来了,因为语音信号处理领域相比于语音识别、图像和NLP一直是相对封闭的。书中语音增强部分的内容都是作者近几年在工作中的总结,对从事信号处理工作的人来说具有较大的参考价值。

—— 华为语音信号处理工程师 龙韬臣

本书干货满满,语音算法开发中遇到的大部分问题均有涉及,而且给出了比较专业的解法。本书附赠的大量开源代码能加深读者对理论公式的理解,加快上手速度,是一本比较实用的语音技术类书籍。

—— 珠海全志科技股份有限公司 张宇

得知作者要将他在网络上的系列文章完善成《实时语音处理实践指南》图书后,十分期待,该书囊括了语音处理从麦克风收音到语音识别整个链条的各个方面,新增了许多技术细节和软件实现。再次阅读,依然有很多收获,希望本书可以让更多的读者了解实时语音处理技术。

—— 小米AI Lab 语音工程师 庄伟基

我在网上搜索语音增强的相关资料时发现了作者的电子书,该书从原理、公式、代码的角度详细解释了语音增强的各种算法,使我受益匪浅。此外,本书还介绍了产生声音的器件以及深度学习和语音识别技术,涵盖了语音处理中从物理层、前端处理到后端应用的整个过程,值得一读。

—— 厦门快商通科技股份公司高级语音算法工程师 叶志坚

本人是从事导航抗干扰、雷达阵列天线设计等工作的,书中对麦克风阵列中的回声消除、维纳滤波、抗噪、波束形成等技术的介绍,有助于本人阵列信号理论水平的提升,同时对本人所从事的基于小孔径阵列天线的导航抗干扰技术提供了新的思路。

—— 航天五院503所 徐振兴


【目录】

绪论1

第1章 信号处理 7

1.1 数字和模拟频率 7

1.2 离散傅里叶变换8

1.2.1 实数DFT 9

1.2.2 复数DFT 10

1.2.3 负频分量 10

1.2.4 DFT变换性质 10

1.3 FFT 11

1.3.1 FFT 结果举例 12

1.3.2 实信号FFT 13

1.3.3 短时傅里叶变换 14

1.3.4 STFT语音窗函数选择 14

1.4 重叠相加法和重叠保留法 16

1.4.1 OLA 17

1.4.2 OLS 19

1.5 加权重叠相加法 21

1.5.1 WOLA 计算过程 22

1.5.2 WOLA 窗函数选择 22

1.6 滤波器组 23

1.7 语音预加重 27

1.8 高斯分布 27

1.8.1 单高斯分布 27

1.8.2 多维高斯分布 29

1.9 HMM模型 31

1.10 卡尔曼滤波 32

第2章 发音机理和器件 34

2.1 语音的产生和接收 34

2.1.1 语音产生机理 34

2.1.2 发声模型 36

2.1.3 发音单位 36

2.1.4 发音分类 37

2.1.5 声音接收 37

2.1.6 声音传播 38

2.2 扬声器 38

2.2.1 电学性能 38

2.2.2 声学性能 39

2.2.3 底噪 40

2.2.4 频响特性 41

2.2.5 THD N POUT 41

2.2.6 电压(功率)和失真 42

2.3 麦克风 42

2.3.1 麦克风性能指标 42

2.3.2 麦克风的选择 43

2.4 结构设计 45

2.5 音频设备 46

2.6 声学测试 49

第3章 语音端点检测 59

3.1 特征选取 59

3.2 判决准则 61

3.2.1 门限 61

3.3 VAD 实例 63

3.4 语音/非语音帧的初始参数 75

第4章 单通道降噪 79

4.1 谱减法 79

4.2 维纳滤波 84

4.3 子空间降噪 86

4.4 WebRTC 单通道降噪实现 87

4.5 深度学习降噪 101

第5章 声学回声消除 106

5.1 回声消除原理 106

5.2 自适应滤波器 108

5.3 WebRTC 回声消除算法 113

5.4 Speex 回声消除算法 128

第6章 声源定位 147

6.1 GCC算法 147

6.2 SRP-PHAT算法 149

6.3 MUSIC算法 150

6.4 TOPS 算法 152

6.5 FRIDA算法 154

6.6 后处理抗噪 155

第7章 波束形成技术 162

7.1 麦克风阵列 163

7.2 常见波束形成方法 168

7.3 WebRTC 波束形成实例 174

7.4 后置滤波(Post-filtering) 187

第8章 盲源分离 196

8.1 基本概念及数学预备知识 196

8.2 盲语音分离预处理——PCA 199

8.3 频域独立成分分析法——FDICA 200

8.4 后置滤波处理 205

8.5 GSC 与ICA联合估计 209

第9章 音效处理 214

9.1 声道的分类 214

9.2 后端音效处理 217

第10章 语音编/解码 227

10.1 LPC 编码 230

10.2 SILK编/解码 231

10.3 opus 编/解码概览 239

10.4 语音质量评估 247

第11章 语音网络传输 251

11.1 拥塞控制 252

11.2 NetEQ 266

第12章 语音唤醒 278

12.1 语音唤醒技术简介 278

12.2 特征提取 279

12.3 模型结构 284

12.4 计算加速 292

第13章 语音识别 301

13.1 语音特征提取 303

13.2 声学模型 306

13.3 语言模型 310

13.4 YES 和NO识别实例 312

13.5 Kaldi 中文语音识别 321

13.6 DeepSpeech 语音识别 324

附录A 本书涉及的专业术语 331


【前言】

前言

语音信号处理是利用数字信号处理技术对语音信号进行一系列处理,从而达到存储、传输、增强、识别和合成等目的的一门学科,早在一百多年前就被应用到了通信行业。近年来,传统的语音信号处理技术和人工智能技术的结合使得基于智能语音技术的应用呈现爆炸式增长。语音技术在电话、网络音/视频会议、音效、语音助手、实时翻译、智能音箱、智能接待、智能客服、安防监控、家庭休闲娱乐等方面都有着非常重要的应用,国内一些大型科技公司也相继组建了自己的语音开发团队,如阿里巴巴iDST实验室、腾讯音视频实验室等,同时,一些专业的语音技术服务公司,如科大讯飞、思必驰、云知声等也借着语音技术的风口迅猛发展。此外,从事语音研发的初创公司也如雨后春笋般破土而出,这就导致对语音技术人员的需求与日俱增。然而语音处理技术的门槛较高,它与信息处理科学、计算机科学、声学、语言学、生理学、认知科学、数学、统计学以及概率学等许多学科有着密切的联系。对从业者来说,要想在该领域达到高级工程师的级别,往往需要多年的行业经验积累,而市场上一些关于语音技术的书籍往往偏向于理论化,给人感觉晦涩难懂,注重实际应用、针对性强的相关技术书籍是这方面紧缺的资料,而针对交互式实时应用场景的语音处理书籍则更为稀缺。本书正是在这一背景下所写的。本书介绍了基于互联网传输的交互式实时语音处理技术栈,并开源了书中众多源码工程。
本书结构
根据交互式实时应用场景的语音处理流程,全书内容可划分为4 部分,第1 部分是语音增强处理,第2 部分是数字音效,第3 部分是网络传输编/解码,第4 部分是语音唤醒和识别。
第1~8章是第1部分,内容主要是语音增强处理,包括基于传统信号处理方法的语音检测、单通道降噪、自适应回声消除、声源定位、波束形成和盲源分离等。另外,随着深度学习技术的发展,深度学习模型的泛化能力已有大幅提升,因而特定场景下基于深度学习的语音增强方法已经达到商用要求,这部分也介绍了相关方法和实例。
第9 章是第2 部分,内容主要是数字音效。音效除了可以弥补音频器件的不足和声场的缺陷,还常用于实现各种混音效果,以提升听觉体验。手机、耳机、音箱、家庭影院等产品都会用到音效技术,当前绝大多数音频专用芯片中已经具备音效调节功能,但在一些场景中还需要使用软件算法以满足定制化音效需求。
第10 章和第11 章是第3 部分,主要是与网络相关的内容。这里不是介绍网络传输协议,如UDP实时语音处理实践指南和RTP等,而是介绍用于解决网络传输不利因素(带宽波动、丢包、抖动和延迟)而采用的技术,具体来说,是传输拥塞控制、编/解码和网络均衡,其目的是在充分利用网络带宽的前提下获得*的语音质量。这些技术在智能音箱、智能助手、音/视频会议等交互式实时应用场景中必不可少。
第12章 和第13 章是第4 部分,内容主要是唤醒和识别。有些交互实时应用场景需要唤醒词识别技术以实现设备唤醒和设备控制。本书基于深度学习技术实现了嵌入式设备的唤醒,并在GitHub官网上提供了可以直接编译运行的安卓应用程序源码。大规模自然语音识别常用于服务器端,本书基于Kaldi语音识别工具搭建了基于GMM-HMM的自然语言识别系统,并介绍了基于深度学习的端到端的语音识别开源工程DeepSpeech,还介绍了如何使用该工具定制特定场景的自然语音识别。
本书所述技术围绕交互式实时网络应用场景特点展开,如智能语音助手、智能翻译机、VoIP电话等,通常这类场景希望所有的语音响应在限定的时间内完成。如询问智能语音助手天气情况时,理想状态是语音增强、网络传输编/解码和识别结果回传在200 毫秒内完成,当延迟超过500毫秒时,用户便能明显感知这一延迟。而VoIP这类场景除了音频,通常还伴随着视频数据,因而留给音频的网络带宽更为有限,且这类场景语音的双向接收对象均为人耳,对实时性和音质要求更高。概括地说,本书所述语音技术就是在限定的条件下获得*短的传输延迟和*的语音品质。
学习建议
对于零基础读者,建议按本书编排顺序逐步阅读,本书中很多语音概念和语音信号处理方法在前两章有介绍;对于语音相关专业的在校学生,本书提供了众多理论和实际相结合的示例,动手操作这些示例有助于提升对算法工程应用的理解;对于工程技术和研发人员,由于本书的一些示例已经达到了商用水准,可以参考其中的一些处理方法和思路改进和优化相关算法。
由于语音处理基于一些数学和信号处理基础知识,所以本书在阐述相关算法原理和实现时不得不配以必要的数学公式。此外,限于篇幅,在阐述相关算法实现时以代码片段为主,详细代码可参见本书开源的众多源码。对于零基础且只想了解可以对语音进行哪些处理以及如何实现这些处理的读者,在阅读本书时可注重基本概念和原理并跳过相关公式推导内容。
致谢
本书得以出版,要感谢曾经帮助过我的同事和朋友们。这里要特别感谢我的前领导朱磊博士给予的帮助,感谢我的同事卢和春对本书第1 章的审阅和修改,还要感谢和我一起完成写作的几位作者,他们是吕强、钱思冲、张博伦和张硕,也十分感谢Zoom 公司的诸位同事。另外,要特别感谢我的妻子张卫洁,她在写作过程中给予了我无私的支持和帮助,也感谢电子工业出版社的李利健编辑和她的同事们,正是在他们的帮助下,本书才得以顺利出版。
*后,十分感谢各位网友在阅读我的博客和电子书时给予的反馈,感谢你们的支持,希望你们能从本书中获益。
本书由几位合作者合作完成,其中第5 章由张博伦整理完成,第8 章由钱思冲完成,第9 章由吕强完成,第13章由张硕完成,其他章节由葛世超完成。限于篇幅,诸如啸叫抑制、去混响、声纹识别、语音合成以及语义解析等算法在本书中并未涉及。另外,由于深度学习并不是本书重点,它只是作为一种工具在本书中使用,因而在语音增强、唤醒以及识别时只阐述了深度学习在这方面的具体使用,并未对深度学习这一工具做过多介绍,感兴趣的读者可进一步参考我在GitHub 官网上相关例子的完整源码。

葛世超


返回顶部