Matlab在语音信号处理教学中的应用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Matlab在语音信号处理教学中的应用
林琴;郭玉堂;刘路路;刘亚楠
【摘要】《语音信号处理》作为一门理论性和实践性很强的课程,具有概念抽象、计算量大等特点.针对语音信号处理课程特点,将Matlab引入该课程教学,以端点检测和语音识别为例,阐述了Matlab在语音信号处理教学中的应用.该方法增强了学生对语音信号处理的理解,促进了学生学习的主动性,提高了课堂教学质量.
【期刊名称】《合肥师范学院学报》
【年(卷),期】2015(033)003
【总页数】3页(P99-101)
【关键词】语音信号处理;Matlab;端点检测;语音识别
【作者】林琴;郭玉堂;刘路路;刘亚楠
【作者单位】合肥师范学院计算机学院,安徽合肥230061;合肥师范学院计算机学院,安徽合肥230061;合肥师范学院计算机学院,安徽合肥230061;合肥师范学院计算机学院,安徽合肥230061
【正文语种】中文
【中图分类】G61
1 引言
《语音信号处理》课程[1]是高等学校计算机科学与技术、电子信息工程、通信工程等专业选修的课程,目的是使学生了解语音信号处理学科的原理、方法、应用
及目前的学科发展趋势与方向,介绍智能信息处理技术,现代信号处理技术及其他一些前沿和新兴技术在语音信号处理中的应用,以及最新的研究成果与进展。

该课程内容较多,涉及大量的数学运算和公式推导,由于概念抽象,使得学生难以理解。

因此,淡化理论的推导过程,使概念直观化,将是帮助学生理解教学内容的关键之一。

本研究基于Matlab平台,将教学内容中的一些难以理解的要点或者抽象的概念用 Matlab语言开发成可执行的程序,从而将“语音信号处理”课程中较难掌握和理解的重点理论和方法通过编程演示出来,使学生对所学知识的理解更加透彻。

2 Matlab简介
Matlab(Matrix Laboratory,矩阵实验室)是[2]由美国TheMathWorks公司于1982年推出的一个完整的并可扩展的高性能的数值计算和可视化软件,是一种进行科学和工程计算的交互式程序语言。

Matlab功能强大、简单易学、编程效率高,且具有信号分析工具箱,不需很强的编程能力,就可以很方便地进行信号分析、处理和设计。

它还是一种有力的教学工具,在线性代数、自动控制理论、数理统计、数字信号处理、动态系统仿真等课程的教学中,已成为标准的教学工具。

3 Matlab在课堂教学中的应用
“语音信号处理”课程中的理论和结论大都是经过数学推导得来的,比较抽象、也较难理解。

Matlab语言对如语音预处理,端点检测,特征提取,基音检测,语音识别等一系列问题都可通过图形建模使之可视化。

Matlab在课堂教学中的应用主要体现在两个方面,一是在课堂上将理论教学与Matlab图形演示结合起来,使学生在接受枯燥理论知识的同时,可以看到相应知识点的验证演示,从而使课堂教学更加直观、生动。

二是针对课堂教学中涉及的重点、难点适当布置课后练习,让学生利用Matlab软件完成平时以书面形式难以完成的作业,加深对所学知识的理解,提高学习兴趣。

以下列举几个例子加以说明。

3.1 语音信号端点检测
端点检测算法[3]的作用是对语音信号中的有声片段和无声片段进行分割,从而可以找出语音段的起始点和终止点,才有可能使采集到的数据是真正要分析的语音信号,这样不但减少了数据量、运算量和处理时间,同时也有利于语音识别系统识别率的提高。

端点检测常用的方法是双门限法,一般利用短时能量和短时平均过零率来实现。

3.1.1 短时能量和短时平均过零率
短时能量可以区分浊音段和清音段,因为浊音时的En值比清音时大的多,可大致判定清音和浊音的变化时刻。

对于高信噪比的语音信号,可以用来区分有无语音。

此时,无语音信号的噪声能量很小,而有语音信号时短时能量值显著地增大到某一个数值,由此可以区分语音信号的起点与终点。

设经过加窗处理后的第n帧语音信号为xn(m),帧序列长度为N,则第n帧的短时能量En的定义如下:
短时平均过零率表示一帧语音中语音信号波形穿过横轴(零电平)的次数。

过零分析是语音时域中最简单的一种。

对于连续语音信号,过零即意味着时域波形通过时间轴;而对于离散信号,如果相邻的取样值改变符号则称为过零,过零率就是样本改变符号的次数。

定义语音信号xn(m)的短时平均过零率Zn,sgn[]是符号函数,
3.1.2 仿真实现
实验所用语音数据是在实验室环境下,在普通PC机上,用麦克风录制的。

语音信号采样率为8kHz,采样精度为16bit,单声道模式。

语音采用的文件格式为Windows的wav格式,录音软件为NGWave。

图1是一段语音的短时能量和短时平均过零率,对短时能量和短时平均过零率设定相应的门限参数,就可以把语音信号的有声段检测出来,图2是语音信号为数字“1”的双门限端点检测。

3.2 语音识别系统的仿真
3.2.1 原理简介
语音识别就是让机器能听懂人类的语音。

现阶段大部分语音识别系统[4]都采用的是模式匹配的原理,主要由预处理、特征提取、模型库及模式匹配几个主要部分组成。

预处理包括预加重、加窗、分帧和语音端点检测等。

其语音识别系统的原理框图如图3所示:
图1 一段语音的短时能量和短时平均过零率
图2 双门限的端点检测
图3 语音识别系统的原理图
在这个模式匹配过程中,首先是要对人的自然语言的语音信号进行预处理,将连续模拟信号变成离散数字信号,语音离散数字信号[5]包含大量冗余信息,能极大的影响语音识别的识别率,因此需要对语音数字信号进行特征参数提取,通常使用倒谱、Mel倒谱参数等抽取实际所需的语音特征参数,这些特征参数的时间序列
构成了语音识别模板,经过周复始的大量反复输入、提取,最终得到最优的语音识别模板,然后将不同词条的大量语音模板按一定数据结构构建模板库。

计算机在语音识别过程中要对计算机存放模板库中的语音模板与输入的语音数字信号的特征进行比较,通过识别决策如搜索、匹配等策略,获得最佳的匹配模板。

模式匹配是识别的核心,针对语音信号的特点选择和建立合适的识别模型和算法。

3.2.2 仿真实现
本实验中所提取的特征参数为Mel倒谱系数,模板匹配过程中采用的是DTW算法。

所录制的语音孤立词条为:0~9十个数字和“安徽”、“大学”、“后退”、“快速”、“慢速”、“启动”、“前进”、“停止”、“右转”、“左转”十个词组。

每个词分别录制了5遍,共100个语音样本。

图4是DTW的训练界面,
图5是DTW的识别界面。

图6是基于特定人的孤立词语音识别系统,基于
Matlab工具下的GUI编程界面。

图4 DTW的训练界面
图5 DTW的识别界面
图6 特定人语音识别系统
4 结束语
本文围绕语音信号的数字处理过程,以语音信号的端点检测和语音识别系统的仿真实现为例,将Matlab运用到语音信号处理课程的教学中,加深了学生对课堂抽象理论的理解,掌握了语音信号处理中的基本分析方法和理论应用,有效地提高学生学习的积极性和兴趣,达到事半功倍的效果。

[参考文献]
【相关文献】
[1]赵力.语音信号处理[M].北京:机械工业出版社,2003.
[2]张志涌.精通 MATLAB 6.0[M].北京:北京航空航天大学出版社,2003.
[3]胡航.语音信号处理[M].哈尔滨:哈尔滨工业大学出版,2005.
[4]刘卫东,孟晓静,王艳芬.语音信号处理实验教学研究探索[J].实验室研究与探索,2008,27(4):73-74.
[5]李爱平,李爱勤,王小娟.MATLAB在《语音信号处理》课程教学中的应用[J].科技教育创新,2010,(17):183-184.。

相关文档
最新文档