MATLAB语音信号分析与合成pdf下载pdf下载

MATLAB语音信号分析与合成百度网盘pdf下载

作者:
简介:本篇主要提供MATLAB语音信号分析与合成pdf下载
出版社:北京航空航天大学出版社
出版时间:2017-11
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

编辑推荐

MATLAB语言信号分析与合成(第2版)

本书是《MATLAB在语音信号分析和合成中的应用》(北京航空航天大学出版社出版)一书的升级版本,由MATLAB中文论坛的独立创始人张延亮(math)为其深情作序。书中所有程序代码均可通过扫描书中二维码免费获得。作者宋知用坚持每天在本书的作者-读者交流平台回答两个问题。至今已有4500多个回帖,1000多个答案。

内容简介

  MATLAB语言信号分析与合成(第2版) 

语音信号处理是数字信号处理的一个重要分支。本书含有许多数字信号处理的方法和 MATLAB函数。 全书共10章。第1~4章介绍语音信号处理的一些基本分析方法和手段,以及相应的MATLAB函数;第5~ 9章介绍语音信号预处理和特征的提取,包括消除趋势项和基本的减噪方法,以及端点检测、基音的提取和共 振峰的提取,并利用语音信号处理的基本方法,给出了多种提取方法和相应的 MATLAB程序;第10章结合 各种参数的检测介绍了语音信号的合成、语音信号的变速和变调处理,还介绍了时域基音同步叠加( TD PSOLA)的语音合成,并给出了相应的MATLAB程序。附录A中给出了调试复杂程序的方法和思路。 本书可作为从事语音信号处理的本科高年级学生、研究生或科研工程技术人员的辅助读物,也可作为从 事信号处理研究与应用的科研工程技术人员的参考用书。


作者简介

宋知用 曾在中国科学院声学研究所工作20多年,长期从事电声信号和数字信号处理工作。具有十余年的MATLAB编程经验,出版的图书有《MATLAB数字信号处理85个实用案例精讲——入门到进阶》和《MATLAB在语音信号分析和合成中的应用》。过去十余年中,宋知用一直活跃在MATLAB中文论坛及其他科技平台中,至今已回答并解决各种数字信号处理问题逾4500个。


内页插图

目录

第1章 语音的产生和感知……………………………………………………………………… 1

1.1 发声器官………………………………………………………………………………… 1

1.2 语音信号的数字模型…………………………………………………………………… 2

1.2.1 激励模型……………………………………………………………………………… 3

1.2.2 声道模型……………………………………………………………………………… 4

1.2.3 辐射模型……………………………………………………………………………… 7

1.3 语音的感知……………………………………………………………………………… 7

1.3.1 人耳的构造…………………………………………………………………………… 7

1.3.2 听觉感受性…………………………………………………………………………… 8

1.3.3 掩蔽效应……………………………………………………………………………… 8

1.3.4 响 度……………………………………………………………………………… 10

1.3.5 音 高……………………………………………………………………………… 11

参考文献……………………………………………………………………………………… 11

第2章 语音信号的时域、频域特性和短时分析技术………………………………………… 12

2.1 MATLAB中的语音信号分帧………………………………………………………… 12

2.2 语音分析中的窗函数…………………………………………………………………… 15

2.3 语音信号短时时域处理………………………………………………………………… 16

2.3.1 短时能量和短时平均幅度……………………………………………………………… 16

2.3.2 短时平均过零率……………………………………………………………………… 18

2.3.3 短时自相关函数……………………………………………………………………… 19

2.3.4 短时平均幅度差函数………………………………………………………………… 20

2.4 语音信号短时频域处理………………………………………………………………… 21

2.4.1 短时傅里叶变换的定义……………………………………………………………… 22

2.4.2 语谱图……………………………………………………………………………… 25

2.4.3 短时功率谱密度……………………………………………………………………… 27

参考文献……………………………………………………………………………………… 29

第3章 语音信号在其他变换域中的分析技术和特性……………………………………… 30

3.1 语音信号的同态处理和倒谱分析……………………………………………………… 30

3.1.1 同态处理的基本原理………………………………………………………………… 30

3.1.2 复倒谱和倒谱………………………………………………………………………… 31

3.2 离散余弦变换…………………………………………………………………………… 34

3.3 Mel频率倒谱系数的分析……………………………………………………………… 37

3.3.1 Mel滤波器组………………………………………………………………………… 37

3.3.2 MFCC特征参数提取………………………………………………………………… 38

3.4 小波和小波包变换……………………………………………………………………… 43

3.4.1 小波变换……………………………………………………………………………… 43

3.4.2 小波包变换…………………………………………………………………………… 44

3.4.3 小波包算法…………………………………………………………………………… 45

3.4.4 MATLAB中一维小波和小波包变换函数……………………………………………… 46

3.4.5 MATLAB语音信号小波和小波包变换的例子………………………………………… 49

3.5 EMD的基本理论和算法……………………………………………………………… 53

3.5.1 EMD的基本概念……………………………………………………………………… 53

3.5.2 EMD 的基本原理……………………………………………………………………… 55

3.5.3 EMD法的完备性和正交性…………………………………………………………… 57

3.5.4 基于EMD的Hilbert变换的基本原理和算法………………………………………… 59

3.5.5 EMD法的MATLAB函数…………………………………………………………… 60

参考文献……………………………………………………………………………………… 61

第4章 语音信号的线性预测分析…………………………………………………………… 62

4.1 线性预测分析的基本原理……………………………………………………………… 62

4.1.1 信号模型……………………………………………………………………………… 62

4.1.2 线性预测方程的建立………………………………………………………………… 64

4.1.3 语音信号的线性预测分析……………………………………………………………… 65

4.2 线性预测分析自相关和自协方差的解法……………………………………………… 66

4.2.1 自相关法……………………………………………………………………………… 66

4.2.2 协方差法……………………………………………………………………………… 71

4.3 线性预测分析格型法的解法…………………………………………………………… 72

4.3.1 格型法的基本原理…………………………………………………………………… 72

4.3.2 格型法的求解………………………………………………………………………… 74

4.4 线性预测导出的其他参数……………………………………………………………… 78

4.4.1 预测误差及其自相关函数……………………………………………………………… 79

4.4.2 反射系数和声道面积………………………………………………………………… 79

4.4.3 线性预测的频谱和预测误差滤波器A(z)多项式的根…………………………………… 81

4.4.4 线性预测倒谱………………………………………………………………………… 83

4.5 线谱对的分析法………………………………………………………………………… 86

4.5.1 LSP的定义和特点…………………………………………………………………… 87

4.5.2 LPC到LSP参数的转换……………………………………………………………… 89

4.5.3 LSP参数到LPC的转换……………………………………………………………… 91

参考文献……………………………………………………………………………………… 95

第5章 带噪语音和预处理…………………………………………………………………… 96

5.1 纯语音和带噪语音……………………………………………………………………… 96

5.2 信噪比…………………………………………………………………………………… 96

5.3 带噪语音的产生………………………………………………………………………… 97

5.4 语音信号的预处理一———消除趋势项和直流分量………………………………… 101

5.4.1 最小二乘法拟合趋势项的原理……………………………………………………… 102

5.4.2 最小二乘法拟合消除趋势项的函数…………………………………………………… 103

5.5 语音信号的预处理二———数字滤波器……………………………………………… 105

5.5.1 IIR低通、高通、带通和带阻滤波器的设计…………………………………………… 105

5.5.2 FIR低通、高通、带通和带阻滤波器的设计…………………………………………… 109

参考文献……………………………………………………………………………………… 116

第6章 语音端点的检测……………………………………………………………………… 117

6.1 双门限法……………………………………………………………………………… 117

6.2 双门限法的改进和推广……………………………………………………………… 123

6.2.1 噪声的影响………………………………………………………………………… 123

6.2.2 平滑处理…………………………………………………………………………… 125

6.2.3 双参数的双门限检测法……………………………………………………………… 127

6.2.4 单参数的双门限检测法……………………………………………………………… 129

6.3 相关法的端点检测…………………………………………………………………… 131

6.3.1 自/互相关函数最大值的端点检测…………………………………………………… 131

6.3.2 归一化自相关函数的端点检测……………………………………………………… 134

6.3.3 自相关函数主副峰比值的端点检测…………………………………………………… 136

6.3.4 自相关函数余弦角值的端点检测…………………………………………………… 138

6.4 方差法的语音端点检测……………………………………………………………… 141

6.4.1 频带方差的端点检测………………………………………………………………… 141

6.4.2 均匀子带分离频带方差的端点检测…………………………………………………… 142

6.4.3 频域BARK子带方差的端点检测…………………………………………………… 143

6.4.4 小波包BARK子带方差的端点检测………………………………………………… 145

6.5 谱距离法的端点检测………………………………………………………………… 148

6.5.1 对数频谱距离的端点检测…………………………………………………………… 149

6.5.2 倒谱距离的端点检测………………………………………………………………… 151

6.5.3 MFCC倒谱距离的端点检测………………………………………………………… 153

6.6 谱熵在端点检测中的应用…………………………………………………………… 155

6.6.1 谱熵法的端点检测…………………………………………………………………… 155

6.6.2 谱熵法端点检测的改进……………………………………………………………… 156

6.7 能零比和能熵比的端点检测………………………………………………………… 159

6.7.1 能零比的端点检测…………………………………………………………………… 159

6.7.2 能熵比法的端点检测………………………………………………………………… 161

6.8 小波变换和EMD分解在端点检测中的应用……………………………………… 162

6.8.1 小波变换在端点检测中的应用……………………………………………………… 162

6.8.2 EMD分解在端点检测中的应用……………………………………………………… 164

6.9 低信噪比时的端点检测……………………………………………………………… 167

6.9.1 噪声的估算………………………………………………………………………… 168

6.9.2 基本谱减法和方差法的端点检测…………………………………………………… 170

6.9.3 多窗谱估计谱减法和能熵比法的端点检测…………………………………………… 172

参考文献……………………………………………………………………………………… 174

第7章 语音信号的减噪……………………………………………………………………… 176

7.1 自适应滤波器减噪…………………………………………………………………… 176

7.1.1 LMS算法基本原理………………………………………………………………… 176

7.1.2 基本LMS自适应算法……………………………………………………………… 178

7.1.3 LMS的自适应带陷滤波器…………………………………………………………… 181

7.2 谱减法减噪…………………………………………………………………………… 184

7.2.1 基本谱减法………………………………………………………………………… 184

7.2.2 改进的谱减法……………………………………………………………………… 187

7.3 维纳滤波法减噪……………………………………………………………………… 195

7.3.1 维纳滤波的基本原理………………………………………………………………… 195

7.3.2 维纳滤波减噪的具体步骤和函数WienerScalart96 …………………………………… 197

7.3.3 维纳滤波的MATLAB例子………………………………………………………… 199

参考文献……………………………………………………………………………………… 201

第8章 基音周期的估算方法………………………………………………………………… 202

8.1 基音周期提取的预处理……………………………………………………………… 203

8.1.1 基音检测中的端点检测……………………………………………………………… 203

8.1.2 基音检测中的带通滤波器…………………………………………………………… 204

8.2 倒谱法的基音检测…………………………………………………………………… 205

8.2.1 倒谱法基音检测原理………………………………………………………………… 205

8.2.2 倒谱法基音检测的MATLAB程序…………………………………………………… 206

8.2.3 简单的后处理方法…………………………………………………………………… 207

8.3 短时自相关法的基音检测…………………………………………………………… 209

8.3.1 短时自相关函数法…………………………………………………………………… 209

8.3.2 中心削波的自相关法………………………………………………………………… 211

8.3.3 三电平削波的互相关函数法………………………………………………………… 212

8.3.4 基于自相关函数法提取基音的MATLAB程序……………………………………… 214

8.4 短时平均幅度差函数的基音检测…………………………………………………… 215

8.4.1 短时平均幅度差函数法……………………………………………………………… 215

8.4.2 改进的短时平均幅度差函数法……………………………………………………… 217

8.4.3 循环平均幅度差函数法……………………………………………………………… 218

8.4.4 基于平均幅度差函数法提取基音的MATLAB程序…………………………………… 220

8.4.5 自相关函数法和平均幅度差函数法的结合…………………………………………… 221

8.5 线性预测的基音检测………………………………………………………………… 223

8.5.1 线性预测倒谱法…………………………………………………………………… 223

8.5.2 简化逆滤波法……………………………………………………………………… 225

8.6 基音检测的进一步完善……………………………………………………………… 227

8.6.1 主体延伸法的原理和方法…………………………………………………………… 228

8.6.2 主体延伸基音检测法的步骤………………………………………………………… 229

8.6.3 端点检测和元音主体的检测………………………………………………………… 230

8.6.4 元音主体的基音检测………………………………………………………………… 232

8.6.5 计算延伸区间和长度………………………………………………………………… 239

8.6.6 在延伸区间进行基音检测…………………………………………………………… 241

8.6.7 主体延伸基音检测法的MATLAB程序……………………………………………… 248

8.7 带噪语音中的基音检测……………………………………………………………… 251

8.7.1 小波自相关函数法………………………………………………………………… 251

8.7.2 谱减自相关函数法………………………………………………………………… 253

8.7.3 谱减法与主体延伸法相结合………………………………………………………… 255

参考文献……………………………………………………………………………………… 258

第9章 共振峰的估算方法…………………………………………………………………… 259

9.1 预加重和端点检测…………………………………………………………………… 259

9.1.1 预加重……………………………………………………………………………… 259

9.1.2 端点检测…………………………………………………………………………… 260

9.2 倒谱法对共振峰的估算……………………………………………………………… 260

9.2.1 倒谱法共振峰估算的原理…………………………………………………………… 260

9.2.2 倒谱法共振峰估算的MATLAB程序………………………………………………… 261

9.3 LPC法对共振峰的估算……………………………………………………………… 262

9.3.1 LPC法共振峰估算的原理…………………………………………………………… 262

9.3.2 LPC内插法共振峰的估算…………………………………………………………… 263

9.3.3 LPC求根法共振峰的估算…………………………………………………………… 266

9.4 连续语音LPC法共振峰的检测……………………………………………………… 268

9.4.1 简单的LPC共振峰检测……………………………………………………………… 268

9.4.2 改进的LPC共振峰检测……………………………………………………………… 270

9.5 基于Hilbert Huang变换(HHT)的共振峰检测………………………………… 274

9.5.1 希尔伯特变换……………………………………………………………………… 275

9.5.2 语音信号的另一种模型———AM FM 模型…………………………………………… 278

9.5.3 对AM FM 模型的分析…………………………………………………………… 279

9.5.4 语音信号共振峰特征参数提取的HHT方法………………………………………… 279

9.5.5 基于Hilbert Huang变换的共振峰检测步骤和MATLAB程序……………………… 280

参考文献……………………………………………………………………………………… 283

第10章 语音信号的合成算法……………………………………………………………… 284

附录A 程序的调试和修改…………………………………………………………………… 345

前言/序言

  

我与计算机打交道已有40多年。在20世纪70年代初开始接触计算机,最早使用的是晶体管的108乙机,用5孔电报纸带上机,用机器语言编程,调试一个小程序可能需要数周甚至数月。随着技术的发展,我曾使用过Nova1200、z80、Intel8086 / 80286 / 80386等,而编程使用的计算机语言也从汇编到BASIC、FORTRAN 等。数字信号处理最基础的是快速傅里叶变换和数字滤波器,但在不同的机种用不同的编程语言都需要编制相应的基础性处理程序,这些都极其耗费时间和精力。

21世纪初我偶然接触到MATLAB语言,立刻被它的功能所吸引。MATLAB除了编程简单外,还有强大的工具箱(全世界的精英都为工具箱做贡献)。一些基础性的处理程序都已包含在工具箱中,不需要用户去从事这方面的开发工作,这样节省了大量的重复性的工作。对于用户来说,只须考虑怎样利用工具箱来实现自己的想法和算法。MATLAB的程序大部分不需要编译、链接等一套烦琐的过程,输入程序后就能运行。MATLAB是一种方便、实用、高效的计算机语言。

互联网的发展形成了很多以MATLAB为基础的科技讨论社区。在这些论坛社区里集中了来自社会各界和高校各学科各专业的MATLAB使用者、爱好者。我从2002年开始在国内一些成立较早的论坛社区如研学论坛和振动论坛等的信号处理版块中参与各类问题的解答。MATLAB中文论坛成立后,同样在信号处理版块经常与各种程度的MATLAB使用者打交道,解答使用者通常会遇到的一些问题。我发现在对语音信号进行处理的过程中,有好多用户对于怎么把MATLAB应用于语音处理不甚熟悉,这些因素促使我萌生了编写本书的想法。

运用MATLAB处理语音信号至少需要掌握三方面的知识:语音信号处理的基础理论、数字信号处理的基础理论和MATLAB的编程技术。本书的目的是帮助本科高年级学生和硕士研究生尽快掌握怎么把MATALB应用于语音信号的分析和合成中去,因此书中介绍了语音信号处理的基础知识,介绍了语音分析和合成的基本方法,以及相应的MATLAB函数和程序,读者以这些方法、函数和程序为基础,进一步去解决自己的问题,可少走一些弯路。书中介绍的各种方法都还有继续改善和拓展的空间,使它们更加完善,取得更好的效果。本书也适合于从事数字信号处理的广大高校师生和科研工作人员作为参考用书。但阅读本书的读者应掌握数字信号处理的基本知识,以及MATLAB编程的基本技能。

本书介绍语音信号分析和合成处理的基础、原理、方法和应用。全书共10章,具体内容如下:

第1章介绍语音信号处理的基础知识,如发音器官与听觉器官、语音信号的数学模型和语音信号感知特性等。

第2章和第3章介绍语音信号特征分析的基本处理技术,包括时域分析、频域分析、同态分析、DCT和MFCC分析、小波和小波包变换的分析以及EMD分析等方法。

第4章介绍线性预测分析方法。介绍了线性预测的模型、方程的建立、线性预测的自相关和自协方差解、线性预测的格型法解、由线性预测导出的其他参数和线谱对分析法等。

第5章介绍了带噪语音信号及预处理。介绍了信噪比的概念和带噪语音信号的产生,以及最小二乘法消除趋势项和数字滤波等。

第6章介绍语音端点的检测方法。首先从能量和过零率导出通用的双门限单参数和双参数的端点检测,接着介绍相关法、方差法、谱距离法、谱熵法、能零比和能熵比法、小波变换和EMD分解法等的端点检测,最后给出在低信噪比下端点检测的方法。

第7章介绍语音信号的减噪。介绍了利用自适应滤波器减噪、基本谱减法和改进谱减法的减噪,以及维纳滤波减噪等方法。

第8章介绍语音信号的基音检测技术。首先介绍了在基音检测中的端点检测和预滤波,接着分别介绍了倒谱法、自相关法、平均幅度差函数法和线性预测等方法的基音检测。这些方法中虽在基音检测后都进行了平滑处理,但在基音周期中都会有野点发生。这里提出了主体延伸的基音检测方法,并详细说明了该方法的原理和处理步骤,改善了基音检测的结果。本章的最后介绍了带噪语音的基音检测技术。

第9章介绍语音的共振峰检测。首先介绍了在共振峰检测中的预加重和端点检测,接着介绍了倒谱法和线性预测法的共振峰检测,并在线性预测的基础上进一步介绍了简单LPC和改进的LPC对连续语音的共振峰检测。本章最后介绍了HHT法的共振峰检测。

第10章介绍语音信号的合成算法。首先介绍了数据接叠的三种方法,在此基础上介绍了频谱参数的语音合成、线性预测系数和预测误差的语音合成、线性预测系数和基音参数的语音合成、基音和共振峰的语音合成。通过合成技术又介绍了语音信号的变速和变调算法,最后介绍了波形拼接合成技术以及时域基音同步叠加(TD PSOLA)的合成方法。

在附录A 中以主体延伸基音检测法为例,说明了程序的调试和修改方法,以帮助读者调试和修改程序使之成为适合自己的应用函数和程序。

本书中除第1章外的各章均附有函数和程序。书中经常会调用的一些函数(自编函数或取自其他应用工具箱中的函数),已集中在basic_tbx工具箱中,在运行本书的程序前请把该工具箱设置(用set path设置)在工作路径下。当要运行EMD处理时,要把emd工具箱设置在工作路径下;当要运行主体延伸基音检测时,要把Pitch_ztlib工具箱设置在工作路径下;当要进行时域基音同步叠加语音合成时,要把psola_lib工具箱设置在工作路径下;当要应用本书提供的语音数据时,最好把speech_signal设置在工作路径下。本书的所有函数和程序都在MATLAB R2009a版本下调试通过。

本书的读者作者在线交流平台为http://www.ilovematlab.cn/forum 173 1.html。本书作者将通过该平台与广大读者交流,解决大家在阅读本书过程中遇到的问题,分享彼此的学习经验,从而达到共同进步的目的。

在编写本书的过程中,作者得到了MATLAB中文论坛创始人张延亮(math)博士的指导和帮助,也得到了北京航空航天大学出版社陈守平编辑的支持与鼓励,中国语音学会会长、中国社会科学院人类学与民族学研究所鲍怀翘教授对本书的编写提出了不少宝贵意见,在此向他们表示衷心的感谢。

由于编写时间仓促,加之作者学识所限,书中如有错误和疏漏之处,恳请广大读者和各位专家批评指正。

宋知用