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

2015-02-27 05:10李世豪吴令浩
实验科学与技术 2015年6期
关键词:基音信号处理共振

赵 楠,李世豪,肖 雄,吴令浩

(湖北工业大学 电气与电子工程学院,武汉 430068)

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

赵 楠,李世豪,肖 雄,吴令浩

(湖北工业大学 电气与电子工程学院,武汉 430068)

针对语音信号处理课程教学的特点,提出一种基于Matlab的语音信号处理教学演示平台,可实现语音信号的采集、语音分析和处理等功能及图形显示。在阐述了系统总体设计思路的基础上,以多种语音信号分析和处理功能为例,介绍了使用Matlab辅助教学的情况。教学实践表明,该平台不仅使学生更好地理解和掌握课程的基本理论,而且有助于提高学生的分析问题能力和动手实践能力。

语音信号处理;Matlab软件;线性预测编码;基音检测;共振峰检测

语音信号处理是利用数字信号处理技术对语音信号进行分析和处理的一门学科,涉及语音学、信息论、随机过程、模式识别等许多学科领域。语音信号处理课程不仅是与通信技术和信息处理技术发展密切相关的一门专业基础课程,而且是一门理论性强、实用广、难度大的交叉学科课程[1-2]。

工科电子类专业语音信号处理课程的主要内容包括语音信号处理的基本知识、语音信号的各种分析和处理技术(时域频域分析、同态处理、线性预测分析、矢量量化)、语音信号处理及其应用(基音检测、共振峰检测、波形编码、语音识别及语音增强)等。该课程知识点比较多,理论性强,直观性差,抽象概念和数学推导多,传统板书或简单的PPT教学方式很难让学生理解和掌握[3]。

笔者所在教研组经过多年探索和尝试,将Matlab软件运用于语音信号处理课程理论教学中,通过编程将课程中较难掌握和理解的知识点进行演示,把语音信号的特点和分析手段以图表形式形象地显示出来,使学生能够深入地领会基本概念和设计思想,提高其学习课程的主动性。本文基于Matlab的GUI工具建立了一个语音信号处理教学演示平台,以常见的语音信号分析技术为例,来说明Matlab在语音信号处理课程教学中的应用。实际课堂教学应用表明,该平台加深了学生对语音信号处理技术的理解,也为学生进一步学习数字信号处理理论奠定了基础。

1 教学演示辅助平台的结构与设计

Matlab软件具有数值分析、矩阵运算、图形处理和仿真建模等强大功能,被广泛应用于数字信号处理课程的课堂及实验教学[4-5]。笔者基于Matlab软件开发了一个语音信号处理可视化教学演示平台。该平台充分利用计算机快速运算、文字、动态图形、声音及GUI人机交互界面的特点,将语音信号处理课程中较难掌握和理解的概念和理论以图形的方式动态地演示出来,从而使学生对所学知识理解得更加透彻。该平台用户界面如图1所示,下拉菜单和按钮分别实现不同功能和函数调用。

1)下拉菜单区

包括文件、编辑、设置、工具、帮助5个菜单。每个菜单下又有各级子菜单。

图1 语音信号处理教学演示平台

2)图形区

动态地显示信号分析和处理的图形曲线。

3)控制按钮区

由PushButton组成。这里展示出常见的语音信号分析技术,用于语音信号处理知识点的动态仿真。

该平台支持语音信号的时/频分析、LPC(linear predictive coding)分析、倒谱分析、基音检测、共振峰检测等常见技术,同时支持“软件仿真演示”和“硬件仿真演示”两种教学模式。其中,软件仿真通过编程实现一段语音信号的分析与显示;硬件仿真利用DSP技术实现语音信号的采集与分析。

2 语音信号线性预测编码技术

在语音信号处理技术中,线性预测编码技术(LPC)给出语音信号的基本模型。LPC的全极点模型反映了人体声道的频率响应和原始信号的谱包络特性[6],能较好地描述语音信号中的准稳态浊音部分。从本质上讲,LPC是一种谱估计方法,一个语音的采样能用过去若干个语音采样的线性组合来逼近。在最小均方误差意义上,通过使线性预测得到的采样逼近实际语音采样,从而获得一组唯一的预测系数,即线性组合中的加权系数。

(1)

对于p阶线性预测来说,有

(2)

在LPC分析中,如果阶数p低于某一合适阶数,那么该信号属于欠建模,此时估计的误差会很大,信号的相邻谱峰会发生重叠;反过来,如果阶数p大于某一合适阶数,那么该信号则属于过建模,此时会出现病态矩阵方程和伪峰。

本平台可实现不同阶次的LPC分析,图2和图3分别给出阶数p为8和24时,图1所示某帧语音信号的LPC频谱。通过该仿真结果,学生可直观看出语音的LPC特性以及峰值对应的共振峰频率。

图2 语音LPC频谱图(p=8)

3 语音信号基音检测技术

基音周期是语音信号处理中一个非常重要的参

数,能够准确地检测出基音周期,对语音信号的分析、合成、编码以及识别等有重要的意义。短时自相关法和倒谱分析是基音周期估计中比较常用的方法,下面以Matlab实现这两种基音检测方法为例,来说明Matlab在基音检测方面的应用。

图3 语音LPC频谱图(p=24)

3.1 基于短时自相关法的基音检测

对于时间离散的确定性信号来说,自相关函数定义为:

(3)

对于周期性信号来说,自相关函数定义为:

(4)

式中,k为延迟点数。

自相关特性描述信号与其自身作了一段延迟后的信号之间的相似程度。一般来说,周期信号的自相关函数也是周期的,且和原信号的周期相同。对于语音信号来说,浊音是声带的周期性开启/闭合产生的,具有周期性。因此,其自相关的周期就是浊音的周期,且在周期整数倍的位置上出现峰值,通常取最大峰值点作为基音频率。清音是不由声带振动产生的,因而不具周期性。短时自相关检测法就是通过这一性质来提取基音周期的[7]。

用自相关法估计图l所示语音信号的基音频率,其基音检测图如图4所示,标题显示该段语音的平均基音频率。

从图4中,学生可直观地看出,在发不同声音的过程中,浊音语音的基音频率随着声音的变化幅度波动很大,纵坐标值为零的语音段是清音。

图4 基音频率图(短时自相关法)

3.2 基于倒谱法的基音检测

从本质上讲,一个信号的倒谱即为该信号z变换的模的对数的逆z变换,即序列x(n)的倒谱c(n)定义为:

(5)

语音产生模型可看成是一个由周期脉冲序列(浊音)或白噪声序列(清音)激励的线性滤波器,在一帧内通常认为滤波器具有时不变特性。因此,语音信号序列是激励源和滤波器的冲激响应的卷积。通过求信号的倒谱,可以将卷积性语音信号变换为加性语音信号,从而分离出激励源和滤波器。

用倒谱法估计图l所示语音信号的基音频率,其基音检测图如图5所示,标题显示该段语音的平均基音频率。通过该仿真结果,学生可清晰地看出浊音和清音随着声音的变化规律,从而加深学生对语音信号基音频率等相关理论知识的理解。

图5 基音频率图(倒谱法)

4 语音信号共振峰检测技术

当准周期性脉冲激励声道时会产生共振特性,由此产生的一组共振频率被称为共振峰。共振峰参数包括共振峰频率和频带宽度。共振峰信息包含在语音频谱包络中,因此,共振峰检测的关键在于估计语音频谱包络,该谱包络中的谱峰值就是共振峰。

利用线性预测LPC可对语音信号进行解卷运算,即把激励分量归入预测误差中,可获得声道响应的全极点模型的分量,从而得到这个分量的预测系数ak。尽管计算结果的精度由于存在一定的逼近误差而有所降低,但可去除激励分量的影响,此时通过声道响应分量的谱峰,就可以获得共振峰频率[8]。通过对预测多项式系数的分解,可确定共振峰的中心频率和带宽。对浊音信号来说,利用上述方法可获得某一帧信号的共振峰估值(通常,只需取前三个共振峰),学生可通过图2的仿真实验加深对共振峰频率的理解。

图6 共振峰轨迹图

为了保证共振峰轨迹估计的连续,必须进行判决(将共振峰的估值判定为一个特定的共振峰),此时需要采用加标记技术[8]。用线性预测估计图l所示语音信号的共振峰(只取了前三个谐振频率)轨迹如图6所示。从图6的仿真实验,学生可直观地看出浊音和清音共振峰频率随着声音的变化情况。

5 结束语

语音信号处理课程理论性强、概念抽象。本文利用Matlab工具开发了一个语音信号处理仿真教学平台,采用人机交互的GUI界面进行仿真演示,以直观图形和数据方式展现,不仅能有效地提高课堂教学的质量,而且可作为课后辅助工具,加深学生对课堂内容的理解。

[1]胡航.语音信号处理[M].修订版.黑龙江: 哈尔滨工业大学出版社,2002.

[2]赵力.语音信号处理[M].北京: 机械工业出版社, 2003.

[3]刘卫东, 孟晓静, 王艳芬.语音信号处理实验教学研究探索[J].实验室研究与探索, 2008, 27(4): 72-74.

[4]李军, 亚训.基于Matlab和DSP的数字信号处理课程实验设计[J].实验室研究与探索, 2007, 26(1):27-30.

[5]杨毅, 邓北星, 马晓红.语音信号处理实验教学研究与实践[J].实验科学与技术,2012,10(6):112-116.

[6]姚天任.数字语音处理[M].武汉: 华中科技大学出版社, 2007.

[7]付青青, 吴爱平.基于Matlab的语音信号自相关基音检测[J].长江大学学报(自然科学版), 2006, 3(4): 99-10.

[8]马卡尔JD.语音信号线性预测[M].北京: 中国铁道出版社, 1987.

Study on Teaching of Speech Signal Processing Based on Matlab

ZHAO Nan,LI Shihao,XIAO Xiong,WU Linghao

(School of Electricaland Electronic Engineering, Hubei University of Technology, Wuhan 430068, China)

Aiming at the difficult points in the teaching of speech signal processing, a novel demonstration platform based on MATLAB is proposed.The platform can achieve signal acquisition, preprocessing, and many other basic speech signal processing functions.Based on the explanation of the overall design idea, several Matlab assisted teaching scenarios were discussed.The teaching practice proves that the demonstration platform does not only enhance the students’ understanding of the basic principles and knowledge of speech signal processing, but also improve their hands-on problem-solving and analysis ability.

speech signal processing; Matlab software; linear predictive coding; pitch detection; formant detection

2014-08-11

湖北工业大学博士科研启动基金(BSQD12029)。

赵 楠(1983-),女,博士,讲师,主要从事语音信号处理、通信信号处理方面的研究。

A

10.3969/j.issn.1672-4550.2015.06.018

猜你喜欢
基音信号处理共振
基于基音跟踪的语音增强研究
安然 与时代同频共振
《信号处理》征稿简则
《信号处理》第九届编委会
选硬人打硬仗——紫阳县党建与脱贫同频共振
《信号处理》征稿简则
《信号处理》第九届编委会
CTA 中纺院+ 化纤联盟 强强联合 科技共振
一种基音周期检测中减小中值平滑误差的方法
改革是决心和动力的共振