新書推薦:
《
金托邦:江湖中的沉重正义
》
售價:NT$
275.0
《
易经今解:释疑·解惑·见微
》
售價:NT$
403.0
《
东欧史(全二册)-“中间地带”的困境
》
售價:NT$
1010.0
《
虚拟资本:金融怎样挪用我们的未来
》
售價:NT$
352.0
《
刻意练习不生气
》
售價:NT$
179.0
《
大宋理财:青苗法与王安石的金融帝国(全彩插图本)
》
售價:NT$
500.0
《
安全感是内心长出的盔甲
》
售價:NT$
305.0
《
快人一步:系统性能提高之道
》
售價:NT$
505.0
|
編輯推薦: |
本书获得国内最大的MATLABSimulink技术交流平台——MATLAB中文论坛的鼎力推荐。MATLAB中文论坛的“MATLAB读书频道”为本书提供了专门版块供作者-读者交流之用。作者宋知用老师自2008年以来一直保持着每天到论坛解答会员提问的习惯,风雨无阻,至今在线时间已有1万多小时,回答帖子至2013.10月已经1700多贴,其专业、敬业和对信号处理的高度驾驭能力已经征服了国内外的众多网友。书中所有实例都有详细的注释说明,绝对让你学习途中事半功倍。
|
內容簡介: |
语音信号处理是数字信号处理的一个重要分支。本书含有许多数字信号处理的方法和MATLAB函数。全书共10章。第1~4章介绍语音信号处理的一些基本分析方法和手段,以及相应的MATLAB函数;第5~9章介绍语音信号预处理和特征的提取,包括消除趋势项和基本的减噪方法,以及端点检测、基音的提取和共振峰的提取,并利用语音信号处理的基本方法,给出了多种提取方法和相应的MATLAB程序;第10章结合各种参数的检测介绍了语音信号的合成、语音信号的变速和变调处理,还介绍了时域基音同步叠加TDPSOLA的语音合成,并给出了相应的MATLAB程序。附录A中给出了调试复杂程序的方法和思路。
本书可作为从事语音信号处理的本科高年级学生、研究生或科研工程技术人员的辅助读物,也可作为从事信号处理研究与应用的科研工程技术人员的参考用书。
|
關於作者: |
宋知用
1963年毕业于上海同济大学数理系,1963-1967年毕业于中国科学院声学研究所(研究生),1967-1984年工作在中国科学院声学研究所,1984-1997年工作在中国科学院科理高技术公司,1997年至退休前一直工作在吉隆机电有限公司。现为MATLAB中文论坛信号处理版块的资深版主,多年来一直在帮来自国内外的网友们解决他们遇到的实际信号处理方面的问题,在线时间1万多小时,回帖将近2000个。
|
目錄:
|
第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
第2章语音信号的时域、频域特性和短时分析技术12
2.1MATLAB中的语音信号分帧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
第3章语音信号在其他变换域中的分析技术和特性30
3.1语音信号的同态处理和倒谱分析30
3.1.1同态处理的基本原理30
3.1.2复倒谱和倒谱31
3.2离散余弦变换34
3.3Mel频率倒谱系数的分析37
3.3.1Mel滤波器组37
3.3.2MFCC特征参数提取38
3.4小波和小波包变换43
3.4.1小波变换43
3.4.2小波包变换44
3.4.3小波包算法45
3.4.4MATLAB中一维小波和小波包变换函数46
3.4.5MATLAB语音信号小波和小波包变换的例子49
3.5EMD的基本理论和算法53
3.5.1EMD的基本概念53
3.5.2EMD 的基本原理55
3.5.3EMD法的完备性和正交性57
3.5.4基于EMD的Hilbert变换的基本原理和算法59
3.5.5EMD法的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线性预测的频谱和预测误差滤波器Az多项式的根81
4.4.4线性预测倒谱83
4.5线谱对的分析法86
4.5.1LSP的定义和特点87
4.5.2LPC到LSP参数的转换89
4.5.3LSP参数到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.1IIR低通、高通、带通和带阻滤波器的设计105
5.5.2FIR低通、高通、带通和带阻滤波器的设计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.3MFCC倒谱距离的端点检测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.2EMD分解在端点检测中的应用164
6.9低信噪比时的端点检测167
6.9.1噪声的估算168
6.9.2基本谱减法和方差法的端点检测170
6.9.3多窗谱估计谱减法和能熵比法的端点检测172
参考文献174
第7章语音信号的减噪176
7.1自适应滤波器减噪176
7.1.1LMS算法基本原理176
7.1.2基本LMS自适应算法178
7.1.3LMS的自适应陷波器181
7.2谱减法减噪184
7.2.1基本谱减法184
7.2.2改进的谱减法187
7.3维纳滤波法减噪195
7.3.1维纳滤波的基本原理195
7.3.2维纳滤波减噪的具体步骤和函数WienerScalart96197
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.3LPC法对共振峰的估算262
9.3.1LPC法共振峰估算的原理262
9.3.2LPC内插法共振峰的估算263
9.3.3LPC求根法共振峰的估算266
9.4连续语音LPC法共振峰的检测268
9.4.1简单LPC共振峰检测268
9.4.2改进的LPC共振峰检测270
9.5基于HilbertHuang变换HHT的共振峰检测274
9.5.1希尔伯特变换275
9.5.2语音信号的另一种模型——AMFM模型278
9.5.3对AMFM模型的分析279
9.5.4语音信号共振峰特征参数提取的HHT方法279
9.5.5基于HilbertHuang变换的共振峰检测步骤和MATLAB程序280
参考文献283
第10章语音信号的合成算法284
10.1语音合成中数据叠接的三种方法285
10.1.1重叠相加法285
10.1.2重叠存储法290
10.1.3线性比例重叠相加法293
10.2用频谱参数合成语音信号296
10.3线性预测系数和预测误差的语音信号合成298
10.4线性预测系数和基音参数的语音信号合成300
10.4.1预测系数和基音参数语音合成的模型300
10.4.2基音检测函数301
10.4.3激励脉冲的产生303
10.4.4预测系数和基音参数语音合成的程序清单304
10.5基音和共振峰合成语音信号308
10.5.1共振峰和基音参数语音合成的模型308
10.5.2线性预测共振峰检测和基音参数的语音合成程序315
10.5.3倒谱法与内插法结合的共振峰检测和基音参数的语音合成程序319
10.6语音信号的变速和变调算法322
10.6.1语音信号的变速322
10.6.2语音信号的变调327
10.6.3语音信号变速又变调331
10.7波形拼接合成技术和时域基音同步叠加334
10.7.1波形拼接合成技术334
10.7.2时域基音同步叠加TDPSOLA合成技术335
10.7.3时域基音同步叠加TDPSOLA的 MATLAB工具箱339
参考文献344
附录A程序的调试和修改345
A.1准备工作345
A.2元音主体中的基音检测与调试350
A.3元音主体前后向延伸中的基音检测与调试359
A.4更多中间数据的检测370
A.5参数的调整373
附录B本书自编函数速查表375
附录C本书应用的MATLAB函数速查表378
|
內容試閱:
|
作者与计算机打交道已有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章介绍语音信号的合成算法。首先介绍了数据接叠的三种方法,在此基础上介绍了频谱参数的语音
合成、线性预测系数和预测误差的语音合成、线性预测系数和基音参数的语音合成、基音和共振峰的语音合
成。通过合成技术又介绍了语音信号的变速和变调算法,最后介绍了波形拼接合成技术以及时域基音同步叠
加TDPSOLA的合成方法。
在附录A中以主体延伸基音检测法为例,说明了程序的调试和修改方法,以帮助读者调试和修改程序使
之成为适合自已的应用函数和程序。
本书中除第1章外其余各章均附有函数和程序。书中经常会调用的一些函数(自编函数或取自其他应用
工具箱中的函数),已集中在basic_tbx工具箱中,在运行本书的程序前请把该工具箱设置(用set path设
置)在工作路径下。当要运行EMD处理时,要把emd工具箱设置在工作路径下;当要运行主体延伸基音检测时
,要把Pitch_ztlib工具箱设置在工作路径下;当要进行时域基音同步叠加语音合成时,要把psola_lib工具
箱设置在工作路径下;当要应用本书提供的语音数据时,最好把speech_signal设置在工作路径下。本书的
所有函数和程序都在MATLAB R2009a版本下调试通过。
本书所有源程序以及测试语音数据将放到MATLAB中文论坛的读者作者在线交流平台
及北京航空航天大学出版社网站的“下载专区”,供读者
免费下载。本书作者将通过该平台与广大读者交流,解决大家在阅读本书过程中遇到的问题,分享彼此的学
习经验,从而达到共同进步。
在编写本书的过程中,作者得到了MATLAB中文论坛创始人张延亮math博士的指导和帮助,也得到了北
京航空航天大学出版社陈守平编辑的支持与鼓励,中国语音学会会长、中国社会科学院人类学与民族学研究
所鲍怀翘教授对本书的编写提出了不少宝贵意见,在此向他们表示衷心的感谢。
由于编写时间仓促,加之作者学识所限,书中如有错误和疏漏之处,恳请广大读者和各位专家批评指正
。
宋知用
2013.6
|
|