搜档网
当前位置:搜档网 › 语音信号处理实验指导

语音信号处理实验指导

语音信号处理实验指导
语音信号处理实验指导

语音信号处理实验讲义

王艳芬李剑编

中国矿业大学信电学院

学生实验守则

一、学生进入实验室必须遵守实验室的规章制度,遵守课堂纪律,保持实验室的安静和整洁,爱护实验室的一切设施。

二、实验课前要认真预习实验指导书,写出实验预习报告,并经教师批阅后方可进行实验。

三、实验课中要遵守操作规程,不要带电连接、更改或拆除线路。线路接好后,经指导老师检查后,方可接通电源进行实验。对于软件上机实验,不得随意删改计算机中原有的文件。

四、学生实验前对实验所用仪器设备要了解其操作规程和使用方法,凡因不预习或不按使用方法进行操作而造成仪器设备损坏者,除书面检查外,按学校规定进行赔偿。

五、实验中主意安全,遇到事故应立即关断电源并报告教师检查处理。

六、实验完毕后要做好整理工作,实验数据必须经指导教师签阅后,才能拆除线路,并将仪器、设备、凳子等按规定放好,经同意后方可离开实验室。

七、因故缺课的学生可向实验室申请一次补做机会。无故缺课或无故迟到(15分钟以上)的不予补做,该次实验无成绩;累计三次者,该实验课以不及格论,并不得参加该门理论课程的考试。

八、实验室仪器设备不能擅自搬动调换,更不能擅自带出实验室。

信电学院专业实验中心

二零一一年九月

目录

实验一语音信号得基音参数提取 (1)

实验二语音信号的谱分析 (7)

实验三基于DTW算法的孤立字识别 (11)

《语音信号处理实验讲义》是为了配合“语音信号处理”课程教学而编写的,适用于信息工程、电子科学与技术等专业。前修课程为“数字信号处理”。该课程总学时数为40学时,其中实验学时为8学时。

实验内容及参考学时安排如下:

实验一语音信号的基音参数提取(3个学时)

实验二语音信号的谱分析(3个学时)

实验三基于DTW算法的孤立字识别(2个学时)

实验一 语音信号的基音参数提取

一、实验目的

1.了解基音的基本概念以及清音与浊音的区别。

2.掌握几种基本的基音提取方法,熟悉自相关法、倒谱法和简化逆滤波法进行基音提取的matlab 编程。

3.熟悉应用FFT 对典型信号进行频谱分析的方法。 二、实验原理与方法

1.自相关法

利用浊音和清音的自相关函数不同的特点,检测出浊音自相关函数波形的峰值位置,就可提取出基音。

为了提高相关法检测基音周期的可靠性,首先应对原始信号进行预处理。方法要点:语音信号的低幅度部分集中了大量的共振峰信息,而高幅度部分包含了大量的基音信息。一般采用中心削波处理法来进行:中心削波处理是使用中心削波函数进行处理的,用以削除语音信号的低幅度部分,它是一种非线性处理方法。

其输入输出函数为

()()()[()]0

()()()L L

L L L

x n C x n C y n C x n x n C x n C

x n C ->??

==≤??+<-?

(1.1)

其中削波电平C L 一般取最大信号幅度的60%~70%。

为减少自相关计算中的乘法计算 ,可对中心削波函数进行修正:采用三电平中心削波。其输入输出函数为

1()()[()]0

()1()L

L L

x n C y n C x n x n C x n C >??

==≤??-<-?

(1.2) 经过上述预处理,就可以用自相关法检测基音周期了。 自相关函数为:

10

()[()'()[()'()]N k

n m R k y n m w m y n m k w m k --==

++++∑ (1.3)

w(m)为窗函数。若采用直角窗,则自相关函数为:

10

()()()N k

n m R k y n m y n m k --==

+++∑

(1.4)

其中,y(n)为经过削波处理后的信号。

用自相关法进行基音提取的matlab 编程的流程图为:

2.倒谱法

浊音语音的复倒谱中存在峰值,其出现时间等于基音周期;而清音语音段的复倒谱则不出现这种峰值。利用这一性质可以进行清/浊音判断并估计浊音的基音周期。

这种方法的要点是计算出复倒谱后,进行解卷,提取出声门激励信息,在预期的基音周期附近寻找峰值。如果峰值超过了预先设定的门限,则语音段为浊音,而峰的位置就是基音周期的估计。如果不存在超过门限的峰值,则语音段定为清音。如果计算的是依赖于时间的复倒谱,则可估计出激励源模型及基音周期随时间的变化。

用倒谱法进行基音提取的matlab 编程的流程图如图2所示:

对原始信号进行分帧处理时,要注意帧长和偏移量的选取,这两个参数会直接影响到最后的仿真结果。

3.简化逆滤波法

简化逆滤波跟踪算法是相关处理法进行基音提取的一种现代化的版本,是检测基音周期的一种比较有效的方法。这种方法先对语音波形降低取样率,进行LPC 分析,抽取声道模型参数,然后利用这些参数用线性预测逆滤波器对原信号进行逆滤波,从预测误差中得到音源序列,再用自相关法求得基音周期。之所以用逆滤波,是因为它是将频谱包络逐渐平坦下去的过程。得到的线性预测误差信号只包含有激励

的信息,而去除了声道影响,所以它提供了一个简化的频谱平滑器。

用LPC误差信号提取基音的优点是e(n)的频谱较平(其梳齿效应是由基音的周期性造成的,因为周期信号的频谱是离散的),因而共振峰的影响已去除。

三、实验内容和步骤

要求同学在实验课前录制好声音。

(1) 使用录音软件或者Matlab 函数,分别采集一段浊音和清音语音信号(是你自己说的,如:a ,o ,s 等),采样率为8KHz ,量化精度为16比特线性码,存在自己指定的目录下,例如D 盘根目录下叫sound 的文件夹中,录音文件名为yourfilename_a.wav ,yourfilename_s.wav 等。录音的软件和Matlab 函数的使用见随后的附录。

(2) 根据语音信号的短时平稳特性,分析帧长取30ms (或10ms ~50ms );

(3) 利用上述基音提取的三种方法(任选两种方法)的编程流程图(图1、图2和图3)编制浊音语音基音提取的matlab 程序,上机调试给出相应波形,并根据图形,分析计算出基音周期。所用公式为:

/*p p s p s N T T T f == (1.5)

其中p N 是基音脉冲处所对应的位置,s f 是抽样频率,p T 是基音周期。

(4) 将语音信号换为清音语音,运行程序,与浊音语音的运行结果进行比较,并得出结论。

四、实验报告

(1) 简述实验目的和原理。

(2) 任选两种方法,按实验步骤附上自己编制的实验程序和运行结果,分析所得到的图形,计算

出基音频率。

(3) 分别将两种基音提取方法得到的清音语音与浊音语音的运行结果进行比较,写出结论。 (4) 写出自己的收获与建议。

附1:录音软件GoldWave 的使用

使用步骤如下:

(1) 双击桌面上的GoldWave 图标,打开GoldWave 软件后,点击工具栏上的新建图标。 (2) 在新建声音对话框中选择声道数为单声道,采样速率为16000,初始化长度为4,点击“确

定”。

(3) 随后出现的蓝色工作区为声音波形显示区,工具栏上红色圆形图标为“开始录音”按钮。点

击红色圆形图标开始录制。

(4) 录制过程中要求环境噪声比较小,同时有效语音段声音的幅值不要小于0.2,也不要大于1。 (5) 录制完毕后,保存。

附2:Matlab录音程序示例

clear;clc;close all; %清理命令窗口记录、清除工作空间变量、关闭图形

Fs=10000; N=1:3*Fs; %采样速率为10KHz,采样长度为3秒

Sd=wavrecord(3*Fs,Fs,’double’); %录制采样精度为16位的声音,参见matlab的help文档wavwrite(Sd,Fs,’yourname_a.wav’); %将数据存储到当前目录下,文件名为yourname_a.wav

附3:Matlab调用wav文件的方法示例:

s=wavread(‘yourname_a.wav’); %读取录音文件,参见matlab的help文档

figure; plot(s); grid on; %画出这段语音信号的波形

x=s(10000:10511): %根据波形位置,截取有效语音段中的51.2ms的数据

三种基音提取方法所需的有效语音长度不相同,学生需自行选择合适的语音长度,然后再进行处理。附4:主要的matlab语句:

Sd=wavrecord(3*Fs,Fs,'double'); % 采样率Fs,采样长度3倍,16位采样精度

wavwrite(Sd,Fs,'d:\a.wav'); % 将数据存储到D盘根目录下,文件名为a.wav

x=wavread('d :\yourfilename.wav'); %读语音信号

[Max,I]=max(Z); % 取Z的最大值

r=xcorr(y); % 求自相关函数

y=enframe(x ,N,n); % 将信号x分帧,enframe是分帧函数,N为帧长,n为偏移量[b,a] = cheby2(n,Rs,Wn); % n阶阻带衰减为Rs dB,归一化截止频率为Wn的切比雪夫滤波器,b,a为滤波器的系数。

y=filter(m,n,x); %对信号x进行滤波,滤波系数为m,n

z=decimate(y,5); % 降低取样率5:1

a=lpc(z,4); % 求线性预测系数

z3=interp(z2,5); % 内插1:5

附5:Matlab编程中常用的控制流结构

for 循环结构:

for x= array x为循环变量array为循环数组

(commands) 命令组

end

if-else-end 分支结构

if expression1 判决表达式1

(commands1) 表达式为真时,执行commands1

elseif expression2 判决表达式2

(commands2) 表达式1为假,而表达式2为真,执行commands2并结束此结构………

else (commandsk) 当前面所有表达式均为假时,执行该组命令

end

附6:录制声音文件

本讲义三个实验中需要同学们在实验前录制好声音文件。

(根据英语发音音标表)

长元音举例:/a:/ /o:/ /u:/ /e:/……

辅音包括清辅音和浊辅音两大类。发音时声带不震动、送气的叫清辅音;发音时声带震动、不送气的叫浊辅音。

辅音都是嗓音,这是因为发音时气流受到不同程度的阻碍,发出的音不像元音那样清脆悦耳。

浊辅音举例:/m/ /n/ /l/……

清辅音举例:/s/ /t/ /p/……

根据实验需要,要求同学们录制至少四个声音文件:(采样率选为8KHz)

第一个声音文件包括前面给出得3个元音,3个浊辅音,3个清辅音,文件命名为:xxx_音标.wav;

第二个声音文件包括0到10,共11个汉语的数字音,文件命名为:xxx_数字.wav;

第三个声音文件内容是:姓名,中国矿业大学,李、张、刘、孙、王。文件命名为:xxx_姓氏1.wav;

第四个声音文件重复第三个声音文件的内容,文件命名为:xxx_姓氏2.wav。用于语音识别。

注意录制声音时,选择环境比较安静的时候。

上课前请同学们把声音文件发送到共享邮箱:sound_cumt@https://www.sodocs.net/doc/9510838146.html,,密码:cumt12345,邮件名按以下方式命名为:04-1-07李大伟,以便实验三可以共享使用不同人的声音进行识别。

实验一上课前至少要录制一个元音,如a:,和一个清音,如:s。

实验2 语音信号的谱分析

一、实验目的

1.了解复倒谱、倒谱以及同态分析的概念。

2.掌握用matlab 编程进行倒谱分析的方法。

3.加深对语音信号数字模型的了解。

4.了解LPC 谱的定义。

5.了解LPC 谱与信号谱之间的区别。

二、谱分析原理与方法

1.倒谱分析

序列x(n)的倒谱c(n)为该序列的z 变换的模的对数的逆z 变换。定义式为:

1c(n)=ln (())z z x n -????

(2.1)

或表示成傅里叶变换形式

1c(n)=

ln () 2jw jwn

X e e dw π

π

π

-?

(2.2)

在具体实现时,用DFT 代替傅里叶变换。类似地,这样得到的将是真实倒谱的混叠形式c p (n),它是真实倒谱的逼近。

对倒谱进行滤波,取出低时间部分(流程图中称为倒谱窗)进行进行逆特征系统处理,可以得到一个平滑的对数谱函数,这个对数谱函数显示了输入语音段的共振峰结构,同时谱的峰值对应于共振峰频率。通过此对数谱进行峰值检测,就可以估计出前几个共振峰的频率和强度。对于浊音的声道特性,可以采用前三个共振峰来描述;清音不具备共振峰特点。

根据倒谱分析过程的方框图画出倒谱分析的matlab 编程的流程图。如图2.1所示。 2.LPC 谱分析

当给定了一组预测器系数后,将z=jw

e 代入H(z),就得到语音产生模型的频率响应,即

1()()

1jw p

jw jwi

i i G G

H e A e a e -==

=

-∑ (2.3)

画出其频率响应特性,可以预料在共振峰频率上会出现峰值。

如果利用P 个取样值来进行预测,则称为P 阶线性预测。可s(n)是一个P 阶的

AR 模型,则

22

()()

jw jw H e S e (2.4)

式中 ()jw H e 是模型()H z 的频率响应,可简称为LPC 谱;

()jw

S e 是语音信号s(n)的傅里叶变换,即信号谱,

2

()

jw S e 为功率谱。但是事实上,语音信号并非是AR 模型,因此,

2

()

jw H e 只能理解成

2

()

jw S e 的一个估计。

P 越大,LPC 谱越能反映出语音短时谱的细节部分,但LPC 谱的光滑度随之下降。由于我们的目的只是用LPC 谱反映声道综合效应的谱的表示式,而具体的谐波形状是通过激励谱来控制的,因此LPC

谱只要能够体现出语音的共振峰的结构和谱包络就可以,因此从计算复杂性的角度分析,预测阶数P应该适中。根据LPC谱定义的原理画出LPC谱分析的matlab编程的流程图,如图2.2所示。

三、实验内容和步骤

(1)分别采集一段浊音和清音语音信号(是你自己说的),采样率为8KHZ,量化精度为16比特线性码;

(2)分析帧长取为30ms(或10ms~50ms);

(3)根据语音信号倒谱分析和LPC谱分析的编程流程图(图2.1、图2.2)编制浊音语音信号谱分析的matlab程序,上机调试给出相应波形,并根据图形,观察共振峰情况;

(4)将语音信号换为清音语音,运行程序,与浊音语音的运行结果进行比较,并得出结论。

(5)在LPC谱分析中,改变阶数p (p分别等于4、8、12、40)时,观察对谱包络的影响,并与信号谱(DFT谱)进行比较。

说明:倒谱分析有两种方法,一种是根据原理,按照图2.1的流程图,一步步编程实现,另一种方法可以利用matlab里的内部函数进行倒谱分析。下面给出内部函数的使用简介。

cceps

功能:计算复倒谱。

格式:xhat=cceps(x)

[xhat,nd]=cceps(x)

[…]=cceps(x,n)

说明:xhat=cceps(x)返回实信号x的复倒谱,xhat也是实数序列。

[xhat,nd]=cceps(x)在计算复倒谱的同时还辨识出信号延迟的采样点位置nd。

rceps

功能:实倒谱的计算和最小相位重构。

格式:

y=rceps(x)

[y,ym]=rceps(x)

说明:y=rceps(x)计算信号x的实倒谱y。

[y,ym]=rceps(x)返回信号x的实倒谱y和最小相位重构信号ym。

icceps

功能:计算逆复倒谱。

格式:x=icceps(xhat,nd)

说明:x=icceps(xhat,nd)返回复倒谱xhat的逆变换x,nd为所要去除的时间延迟的位置。lpc

功能:计算lpc系数。

格式:a=lpc(x,n)

说明:a=lpc(x,n)返回x的n阶LPC系数。

功能:计算lpc谱。

格式:p=20*log(abs(freqz(1,-a,length(x)))

说明:a是x的n阶LPC系数。

四、实验报告

1. 简述实验目的和原理。

2. 按实验步骤附上编制的实验程序和运行结果,分析所得到的图形。

3. 将清音语音与浊音语音的运行结果进行比较,写出结论。

4. 总结语音信号倒谱分析和LPC谱分析的特点。

5.收获与建议。

实验3 基于DTW算法的孤立字识别

一、实验目的及实验要求

1.了解语音信号处理在语音识别中的应用

2.掌握端点检测的原理,用Matlab编程实现语音信号的端点检测,从原始语音文件中提取有效语音段。

3.掌握采用模板匹配法的孤立字(词)识别系统的工作原理。结合DTW实验系统工具箱,通过编写主程序实现语音识别。

二、实验原理

详见清华大学出版社《Matlab扩展编程》(何英等编著)!

语音识别技术中,对孤立字+

+(词)识别的研究是最早的,也是最成熟的。孤立字识别系统,顾名思义是识别孤立发音的字或词。由于在孤立字识别中字之间有停顿,可使识别问题简化;单字之间的端点检测比较容易;单字之间的协同发音影响较小;一般对单字的发音都比较认真等,所以这种系统存在的问题较少,较容易实现。孤立字(词)识别系统可以用图3.1表示:

首先语音信号经过预处理和语音分析部分变换成语音特征参数。模式识别部分是将输入语音特征参数信息与训练时预存的参考模型(模板)进行比较。由于发音速率的变化,输出测试语音和参考模板间存在着非线性失真,即于参考模式相比输入语音的某些音素变长而另一些音素却缩短,呈现随机变化。根据参考模式是模板还是随机模型,最有效的两种时间规整策略:一是动态时间规整技术(DTW);另一个是马尔可夫模型技术(HMM)。除了发音速率的变化外,相对于参考模式,测试语音还可能出现其

他的语音变化。后处理部分主要是运用语言学知识或超音段信息对识别出的候选词或字进行最后的判决。

本实验采用较简单的动态时间规整技术(DTW)来实现孤立字识别。实验的matlab程序由1个主程序和5个子程序或内部函数组成。程序用到了“0.1.2.3.4.5.6.7.8.9”十个语音。

1.主程序为:DTWglc

图3.2为DTW主程序流程图。由参考模板计算、测试模板计算和识别三部分组成。

2. vad——端点检测程序

端点检测的目的是从包含语音的一段信号中确定出语音的起点和终点。有效的端点检测不仅能使处理时间减到最小,而且能排除无声段的噪声干扰,从而使识别系统具有良好的识别性能。传统的端点检测方法是将语音信号的短时能量与过零率相结合加以判断。

图中,n为录制的语音文件数。

图3.3端点检测流程图

本端点检测程序应用双门限法,结合过零率和短时能量进行可靠端点检测,其中过零率用于检测清音,短时能量用于检测浊音。在开始进行端点检测之前,首先为短时能量和过零率分别确定两个门限,

一个低门限和一个高门限。低门限数值较小,比较容易通过,对信号比较敏感;高门限数值比较大,信号必须达到一定强度,该门限才能被通过。低门限通过未必是语音段开始,可能是时间很短的噪声引起的。高门限超过基本可以确定是语音信号的起点。整个语音信号的端点检测分为四段:静音,过渡段,语音段,结束。程序中使用一个变量status来表示当前所处的状态。在静音段,如果能量或过零率超越了低门限,就应该开始标记起始点,进入过渡段。在过渡段中,由于参数的数值比较小,不能确定是否处于真正的语音段,只要两个门限值都回落到低门限以下,就将当前状态恢复到静音段,如果在过渡段中两个参数中的任意一个超过高门限,就可以确信进入语音段了。

当前状态处于语音段时,如果两个参数的数值降低到低门限以下,而且总的记时长度小于最短时间门限,则认为是一段噪声,继续扫描以后的语音数据,否则,就标记好结束端点,并返回。

端点检测流程图如图3.3所示。

为便于计算机处理,语音文件进入后先进行归一化处理。程序中需要设定六个门限值,如表1所示。

表1 端点检测程序中用到的参量

3. dtw——实现dtw算法的函数

程序中首先申请两个n*m的矩阵D和d,分别为累积距离和帧匹配距离,这里n和m为测试模板与参考模板的帧数。然后,通过一个循环计算两个模板的帧匹配距离矩阵d。接下来进行动态规划,为每个格点(i,j)都计算其三个可能的前续格点的累积距离D1,D2和D3。考虑到边界问题,有些前续格点可能不存在,因此要加入判断条件。最后利用最小值函数min,找到三个前续格点的累积距离的最小值作为累积距离,与当前帧的匹配距离d(i,j)相加,作为当前格点的累积距离。该计算过程一直达到格点(n,m),并将D(n,m)输出,作为模板匹配的结果。

4. mfcc——Mel频率倒谱参数的算法函数

LPC模型是基于发音模型建立的,LPCC(线性预测倒谱系数)也是一种基于合成的参数。这种参数没有充分利用人耳的听觉特性。人的听觉特性是一个非线性系统,它响应不同频率信号的灵敏度是不同

的,基本上是一个对数关系。MFCC是在mel 标度频率域提取出来的倒谱参数。mel 标度描述了人耳对频率感知的非线性特性,它与频率的关系可用式(3.1)近似表示:

Mel(f)=1127log(1+f/700) (3.1)其中f 为频率,单位是Hz。

本实验优先采用MFCC参数作为语音特征参数。本函数计算了MFCC参数和一阶差分参数。

标准的MFCC参数只反映了语音参数的静态特征,而人耳对语音信号的同态特征更为敏感,而这种动态特性通常用差分倒谱参数来描述。

5. melbankm——直接计算语音信号的的MFCC参数

本函数为语音信号工具箱voicebox中提供的函数。

6. enframe——用于语音信号的分帧函数

程序中有关函数的功能说明见表2。

表2:部分函数说明

三、实验内容和步骤

1. 运行实验室提供的演示内容,观察输出结果;

2. 在以上基础上,修改程序,识别你自己的声音。

(1)录制语音文件

利用GoldWave或NGwave录音软件录制单字发音语音文件,以wav音频格式保存,共录制两组,一组用于计算参考模板,另一组作为测试模板用于语音识别。

录制语音时,为了能够在主程序中循环读入语音文件,文件名采用数字顺序命名。记录语音文件以及所对应的发音。记于表3中。

另外,录制语音时,注意调整合适的Mic音量,避免语音波形幅度过小,难于同噪声区分开。同时也要避免波形幅度过大,造成波形失真。

(2)调试端点检测程序

结合流程图读懂Matlab程序,先单独调试,记录并观察测试结果。

原始语音中检测出起始和终止端点后,用plot( )函数绘制原始语音文件波形图,检测得到的端点之间的语音波形图。对比图形,分析检测结果是否满意。

(3)调试DTW主程序

结合图3.2所示流程图修改和调试Matlab程序,加入DTW实验系统工具箱文件,调试运行程序。(4)运行和测试系统

先把录制好的声音文件(自己录制的和其他同学录制的)制作成2组声音文件,再准备两个测试音文件。

例如第1组声音文件为10个wav文件,分别保存着同一个人0~9共10个发音;其使用的测试音文件保存着这个人另外发出的0~9中的任意一个发音。如测试音为“7”,检验程序是否能正确判断出与第1组声音中发“7”的文件相匹配。如匹配,则识别正确,反之,错误。可以多做几次。

第2组声音文件为10个wav文件,分别保存着10个人的同一个发音内容(如:“王”);其使用的测试音文件保存着那10个人中其中一个人(姑且称为A)发出的相同内容的发音。检验程序是否能在10个人中找出A。

在Matlab环境下运行程序,记录识别结果。分析识别结果,记于表4中。

表3录制的语音文件列表

表4 语音识别结果

注意:在调试程序时,把不同的语音输入系统后,若程序运行出错,有可能问题在于:

[x1,x2]=vad(x);

m=mfcc(x);

m=m(x1-2:x2-2,:);

该程序先计算原始语音的MFCC参数,然后根据检测到的端点从MFCC参数矩阵中抽取语音段的参数。进行端点检测和求MFCC参数时,都要进行语音信号的分帧,为了保持各自的最佳效果,各自所取的帧长不同。在求MFCC参数时所得到的帧数要比端点检测中的多,出现检测到的端点超出MFCC参数矩阵边界的情况。为避免这种情况的发生,根据经验进行处理:x1-2,x2-2,然而这样的处理并非对于每个说话人都适应,故出现错误。要达到只保留有效语音段的MFCC参数的目的,可以用下边的代码实现:[x1,x2]=vad(x);

x=x(x1*80:x2*80,:);

m=mfcc(x);

先从原始语音段中截取有效语音段,再计算MFCC参数。

附:DTW主程序代码

disp('正在匹配模板参数.......')

for i=1:n

fname=sprintf('D:\\mysounds\\%d.wav',i-1);

x=wavread(fname);

[x1,x2]=vad(x);

m=mfcc(x);

m=m(x1-2:x2-2,:);

ref(i).mfcc=m;

end

disp('正在计算模板的参数....');

for i=1:n

fname=sprintf('D:\\mysounds\\t%d.wav',i-1);

x=wavread(fname);

[x1,x2]=vad(x);

m=mfcc(x);

m=m(x1-2:x2-2,:);

test(i).mfcc=m;

end

disp('正在进行模板匹配...')

dist=zeros(10,10);

for i=1:10

for j=1:10

dist(i,j)=dtw(test(i).mfcc,ref(j).mfcc);

语音信号处理实验指导书

语音信号处理实验指导书 实验一 语音信号采集与简单处理 一、 实验目的、要求 (1)掌握语音信号采集的方法 (2)掌握一种语音信号基音周期提取方法 (3)掌握短时过零率计算方法 (4)了解Matlab 的编程方法 二、 实验原理 基本概念: (a )短时过零率: 短时内,信号跨越横轴的情况,对于连续信号,观察语音时域波形通过横轴的情况;对于离散信号,相邻的采样值具有不同的代数符号,也就是样点改变符号的次数。 对于语音信号,是宽带非平稳信号,应考察其短时平均过零率。 其中sgn[.]为符号函数 ?? ?? ?<=>=0 x(n)-1sgn(x(n))0 x(n)1sgn(x(n)) 短时平均过零的作用 1.区分清/浊音: 浊音平均过零率低,集中在低频端; 清音平均过零率高,集中在高频端。 2.从背景噪声中找出是否有语音,以及语音的起点。 (b )基音周期 基音是发浊音时声带震动所引起的周期性,而基音周期是指声带震动频率的倒数。基音周期是语音信号的重要的参数之一,它描述语音激励源的一个重要特征,基音周期信息在多个领域有着广泛的应用,如语音识别、说话人识别、语音分析与综合以及低码率语音编码,发音系统疾病诊断、听觉残障者的语音指导等。因为汉语是一种有调语言,基音的变化模式称为声调,它携带着非常重要的具有辨意作用的信息,有区别意义的功能,所以,基音的提取和估计对汉语更是一个十分重要的问题。 ∑--= -=1 )]1(sgn[)](sgn[21N m n n n m x m x Z

由于人的声道的易变性及其声道持征的因人而异,而基音周期的范围又很宽,而同—个人在不同情态下发音的基音周期也不同,加之基音周期还受到单词发音音调的影响,因而基音周期的精确检测实际上是一件比较困难的事情。基音提取的主要困难反映在:①声门激励信号并不是一个完全周期的序列,在语音的头、尾部并不具有声带振动那样的周期性,有些清音和浊音的过渡帧是很难准确地判断是周期性还是非周期性的。②声道共振峰有时会严重影响激励信号的谐波结构,所以,从语音信号中直接取出仅和声带振动有关的激励信号的信息并不容 易。③语音信号本身是准周期性的(即音调是有变化的),而且其波形的峰值点或过零点受共振峰的结构、噪声等的影响。④基音周期变化范围大,从老年男性的50Hz 到儿童和女性的450Hz ,接近三个倍频程,给基音检测带来了一定的困难。由于这些困难,所以迄今为止尚未找到一个完善的方法可以对于各类人群(包括男、女、儿童及不向语种)、各类应用领域和各种环境条件情况下都能获得满意的检测结果。 尽管基音检测有许多困难,但因为它的重要性,基音的检测提取一直是一个研究的课题,为此提出了各种各样的基音检测算法,如自相关函数(ACF)法、峰值提取算法(PPA)、平均幅度差函数(AMDF)法、并行处理技术、倒谱法、SIFT 、谱图法、小波法等等。 三、使用仪器、材料 微机(带声卡)、耳机,话筒。 四、 实验步骤 (1)语音信号的采集 利用Windows 语音采集工具采集语音信号,将数据保存wav 格式。 采集一组浊音信号和一组清音信号,信号的长度大于3s 。 (2)采用短时相关函数计算语音信号浊音基音周期,考虑窗长度对基音周期计算的影响。采用倒谱法求语音信号基音周期。 (3)计算短时过零率,清音和浊音的短时过零率有何区别。 五、实验过程原始记录(数据,图表,计算) 短时过零率 短时相关函数 P j j n s n s j R N j n n n n ,,1) ()()(1 =-=∑-= ∑--=-=10 )]1(sgn[)](sgn[21N m n n n m x m x Z

语音信号处理实验报告

语音信号处理实验 班级: 学号: 姓名:

实验一 基于MATLAB 的语音信号时域特征分析(2学时) 1) 短时能量 (1)加矩形窗 a=wavread('mike.wav'); a=a(:,1); subplot(6,1,1),plot(a); N=32; for i=2:6 h=linspace(1,1,2.^(i-2)*N);%形成一个矩形窗,长度为2.^(i-2)*N En=conv(h,a.*a);% 求短时能量函数En subplot(6,1,i),plot(En); if (i==2) ,legend('N=32'); elseif (i==3), legend('N=64'); elseif (i==4) ,legend('N=128'); elseif (i==5) ,legend('N=256'); elseif (i==6) ,legend('N=512'); end end 00.51 1.52 2.5 3 x 10 4 -1 100.5 1 1.5 2 2.5 3x 10 4 024 N=3200.5 1 1.5 2 2.5 3x 10 4 05 N=6400.5 1 1.5 2 2.5 3x 10 4 0510 N=12800.5 1 1.5 2 2.5 3x 10 4 01020 N=2560 0.5 1 1.5 2 2.5 3x 10 4 02040 N=512 (2)加汉明窗 a=wavread('mike.wav'); a=a(:,1); subplot(6,1,1),plot(a); N=32;

for i=2:6 h=hanning(2.^(i-2)*N);%形成一个汉明窗,长度为2.^(i-2)*N En=conv(h,a.*a);% 求短时能量函数En subplot(6,1,i),plot(En); if (i==2), legend('N=32'); elseif (i==3), legend('N=64'); elseif (i==4) ,legend('N=128'); elseif (i==5) ,legend('N=256'); elseif (i==6) ,legend('N=512'); end end 00.51 1.52 2.5 3 x 10 4 -1 100.5 1 1.5 2 2.5 3x 10 4 012 N=3200.5 1 1.5 2 2.5 3x 10 4 024 N=6400.5 1 1.5 2 2.5 3x 10 4 024 N=12800.5 1 1.5 2 2.5 3x 10 4 0510 N=2560 0.5 1 1.5 2 2.5 3x 10 4 01020 N=512 2) 短时平均过零率 a=wavread('mike.wav'); a=a(:,1); n=length(a); N=320; subplot(3,1,1),plot(a); h=linspace(1,1,N); En=conv(h,a.*a); %求卷积得其短时能量函数En subplot(3,1,2),plot(En); for i=1:n-1 if a(i)>=0 b(i)= 1;

语音信号处理实验报告

通信与信息工程学院 信息处理综合实验报告 班级:电子信息工程1502班 指导教师: 设计时间:2018/10/22-2018/11/23 评语: 通信与信息工程学院 二〇一八年 实验题目:语音信号分析与处理 一、实验内容 1. 设计内容 利用MATLAB对采集的原始语音信号及加入人为干扰后的信号进行频谱分析,使用窗函数法设计滤波器滤除噪声、并恢复信号。 2.设计任务与要求 1. 基本部分

(1)录制语音信号并对其进行采样;画出采样后语音信号的时域波形和频谱图。 (2)对所录制的语音信号加入干扰噪声,并对加入噪声的信号进行频谱分析;画出加噪后信号的时域波形和频谱图。 (3)分别利用矩形窗、三角形窗、Hanning窗、Hamming窗及Blackman 窗几种函数设计数字滤波器滤除噪声,并画出各种函数所设计的滤波器的频率响应。 (4)画出使用几种滤波器滤波后信号时域波形和频谱,对滤波前后的信号、几种滤波器滤波后的信号进行对比,分析信号处理前后及使用不同滤波器的变化;回放语音信号。 2. 提高部分 (5)录制一段音乐信号并对其进行采样;画出采样后语音信号的时域波形和频谱图。 (6)利用MATLAB产生一个不同于以上频段的信号;画出信号频谱图。 (7)将上述两段信号叠加,并加入干扰噪声,尝试多次逐渐加大噪声功率,对加入噪声的信号进行频谱分析;画出加噪后信号的时域波形和频谱图。 (8)选用一种合适的窗函数设计数字滤波器,画出滤波后音乐信号时域波形和频谱,对滤波前后的信号进行对比,回放音乐信号。 二、实验原理 1.设计原理分析 本设计主要是对语音信号的时频进行分析,并对语音信号加噪后设计滤波器对其进行滤波处理,对语音信号加噪声前后的频谱进行比较分析,对合成语音信号滤波前后进行频谱的分析比较。 首先用PC机WINDOWS下的录音机录制一段语音信号,并保存入MATLAB软件的根目录下,再运行MATLAB仿真软件把录制好的语音信号用audioread函数加载入MATLAB仿真软件的工作环境中,输入命令对语音信号进行时域,频谱变换。 对该段合成的语音信号,分别用矩形窗、三角形窗、Hanning窗、Hamming窗及Blackman窗几种函数在MATLAB中设计滤波器对其进行滤波处理,滤波后用命令可以绘制出其频谱图,回放语音信号。对原始语音信号、合成的语音信号和经过滤波器处理的语音信号进行频谱的比较分析。 2.语音信号的时域频域分析 在Matlab软件平台下可以利用函数audioread对语音信号进行采样,得到了声音数据变量y,同时把y的采样频率Fs=44100Hz放进了MATALB的工作空间。

《语音信号处理》实验报告材料

实用 中南大学 信息科学与工程学院 语音信号处理 实验报告 指导老师:覃爱娜 学生班级:信息0704 学生名称:阮光武 学生学好:0903070430 提交日期:2010年6月18日

实验一 语音波形文件的分析和读取 一、实验的任务、性质与目的 本实验是选修《语音信号处理》课的电子信息类专业学生的基础实验。通过实验: (1)掌握语音信号的基本特性理论:随机性,时变特性,短时平稳性,相关性等; (2)掌握语音信号的录入方式和*.WAV音波文件的存储结构; (3)使学生初步掌握语音信号处理的一般实验方法。 二、实验原理和步骤: WAV文件格式简介 WAV文件是多媒体中使用了声波文件的格式之一,它是以RIFF格式为标准。每个WAV文件的头四个字节就是“RIFF”。WAV文件由文件头和数据体两大部分组成,其中文件头又分为RIFF/WAV文件标识段和声音数据格式说明段两部分。常见的WAV声音文件有两种,分别对应于单声道(11.025KHz采样率、8Bit的采样值)和双声道(44.1KHz采样率、16Bit的采样值)。采样率是指声音信号在“模拟→数字”转换过程中,单位时间内采样的次数;采样值是指每一次采样周期内声音模拟信号的积分值。对于单声道声音文件,采样数据为8位的短整数(short int 00H-FFH);而对于双声道立体声声音文件,每次采样数据为一个16位的整数(int),高八位和低八位分别代表左右两个声道。WAV文件数据块包含以脉冲编码调制(PCM)格式表示的样本。在单声道WAV文件中,道0代表左声道,声道1代表右声道;在多声道WAV文件中,样本是交替出现的。WAV文件的格式见表1。

大学本科语音信号处理实验讲义8学时

语音信号处理实验讲义 时间:2011-12

目录 实验一语音信号生成模型分析 (3) 实验二语音信号时域特征分析 (7) 实验三语音信号频域特征分析 (12) 实验四语音信号的同态处理和倒谱分析 (16)

实验一 语音信号生成模型分析 一、实验目的 1、了解语音信号的生成机理,了解由声门产生的激励函数、由声道产生的调制函数和由嘴唇产生的辐射函数。 2、编程实现声门激励波函数波形及频谱,与理论值进行比较。 3、编程实现已知语音信号的语谱图,区分浊音信号和清音信号在语谱图上的差别。 二、实验原理 语音生成系统包含三部分:由声门产生的激励函数()G z 、由声道产生的调制函数()V z 和由嘴唇产生的辐射函数()R z 。语音生成系统的传递函数由这三个函数级联而成,即 ()()()()H z G z V z R z = 1、激励模型 发浊音时,由于声门不断开启和关闭,产生间隙的脉冲。经仪器测试它类似于斜三角波的脉冲。也就是说,这时的激励波是一个以基音周期为周期的斜三角脉冲串。单个斜三角波的频谱表现出一个低通滤波器的特性。可以把它表示成z 变换的全极点形式 12 1()(1) cT G z e z --= -? 这里c 是一个常数,T 是脉冲持续时间。周期的三角波脉冲还得跟单位脉冲串的z 变换相乘: 112 1 ()()()1(1)v cT A U z E z G z z e z ---=?= ?--? 这就是整个激励模型,v A 是一个幅值因子。 2、声道模型 当声波通过声道时,受到声腔共振的影响,在某些频率附近形成谐振。反映在信号频谱图上,在谐振频率处其谱线包络产生峰值,把它称为共振峰。 一个二阶谐振器的传输函数可以写成 12 ()1i i i i A V z B z C z --= -- 实践表明,用前3个共振峰代表一个元音足够了。对于较复杂的辅音或鼻音共振峰要到5个以上。多个()i V z 叠加可以得到声道的共振峰模型 12 1 11 ()()11R r r M M i r i N k i i i i k k b z A V z V z B z C z a z -=---======---∑∑∑ ∑ 3、辐射模型 从声道模型输出的是速度波,而语音信号是声压波。二者倒比称为辐射阻抗,它表征了

语音信号处理实验报告实验二

通信工程学院12级1班 罗恒 2012101032 实验二 基于MATLAB 的语音信号频域特征分析 一、 实验要求 要求根据已有语音信号,自己设计程序,给出其倒谱、语谱图的分析结果,并根据频域分析方法检测所分析语音信号的基音周期或共振峰。 二、 实验目的 信号的傅立叶表示在信号的分析与处理中起着重要的作用。因为对于线性系统来说,可以很方便地确定其对正弦或复指数和的响应,所以傅立叶分析方法能完善地解决许多信号分析和处理问题。另外,傅立叶表示使信号的某些特性变得更明显,因此,它能更深入地说明信号的各项红物理现象。 由于语音信号是随着时间变化的,通常认为,语音是一个受准周期脉冲或随机噪声源激励的线性系统的输出。输出频谱是声道系统频率响应与激励源频谱的乘积。声道系统的频率响应及激励源都是随时间变化的,因此一般标准的傅立叶表示虽然适用于周期及平稳随机信号的表示,但不能直接用于语音信号。由于语音信号可以认为在短时间内,近似不变,因而可以采用短时分析法。 三、 实验设备 1.PC 机; 2.MATLAB 软件环境; 四、 实验内容 1.上机前用Matlab 语言完成程序编写工作。 2.程序应具有加窗(分帧)、绘制曲线等功能。 3.上机实验时先调试程序,通过后进行信号处理。 4.对录入的语音数据进行处理,并显示运行结果。 5.依次给出其倒谱、语谱图的分析结果。 6. 根据频域分析方法检测所分析语音信号的基音周期或共振峰。 五、 实验原理及方法 1、短时傅立叶变换 由于语音信号是短时平稳的随机信号,某一语音信号帧的短时傅立叶变换的定义为: 其中w(n -m)是实窗口函数序列,n 表示某一语音信号帧。令n -m=k',则得到 ()()()jw jwm n m X e x m w n m e ∞-=-∞= -∑

数字语音信号处理实验报告

语音信号处理实验报告 专业班级电子信息1203 学生姓名钟英爽 指导教师覃爱娜 完成日期2015年4月28日 电子信息工程系 信息科学与工程学院

实验一语音波形文件的分析和读取 一、实验学时:2 学时 二、实验的任务、性质与目的: 本实验是选修《语音信号处理》课的电子信息类专业学生的基础实验。通过实验 (1)掌握语音信号的基本特性理论:随机性,时变特性,短时平稳性,相关性等; (2)掌握语音信号的录入方式和*.WAV音波文件的存储结构; (3)使学生初步掌握语音信号处理的一般实验方法。 三、实验原理和步骤: WAV 文件格式简介 WAV 文件是多媒体中使用了声波文件的格式之一,它是以RIFF格式为标准。每个WAV 文件的头四个字节就是“RIFF”。WAV 文件由文件头和数据体两大部分组成,其中文件头又分为RIFF/WAV 文件标识段和声音数据格式说明段两部分。常见的WAV 声音文件有两种,分别对应于单声道(11.025KHz 采样率、8Bit 的采样值)和双声道(44.1KHz 采样率、16Bit 的采样值)。采样率是指声音信号在“模拟→数字”转换过程中,单位时间内采样的次数;采样值是指每一次采样周期内声音模拟信号的积分值。对于单声道声音文件,采样数据为8 位的短整数(short int 00H-FFH);而对于双声道立体声声音文件,每次采样数据为一个16 位的整数(int),高八位和低八位分别代表左右两个声道。WAV 文件数据块包含以脉冲编码调制(PCM)格式表示的样本。在单声道WAV 文件中,道0 代表左声道,声道1 代表右声道;在多声道WAV 文件中,样本是交替出现的。WAV 文件的格式 表1 wav文件格式说明表

语音信号处理试验教程

语音信号处理试验 实验一:语音信号时域分析 实验目的: (1)录制两段语音信号,内容是“语音信号处理”,分男女声。 (2)对语音信号进行采样,观察采样后语音信号的时域波形。 实验步骤: 1、使用window自带录音工具录制声音片段 使用windows自带录音机录制语音文件,进行数字信号的采集。启动录音机。录制一段录音,录音停止后,文件存储器的后缀默认为.Wav。将录制好文件保存,记录保存路径。男生女生各录一段保存为test1.wav和test2.wav。 图1基于PC机语音信号采集过程。 2、读取语音信号 在MATLAB软件平台下,利用wavread函数对语音信号进行采样,记住采样频率和采样点数。通过使用wavread函数,理解采样、采样频率、采样位数等概念! Wavread函数调用格式: y=wavread(file),读取file所规定的wav文件,返回采样值放在向量y中。

[y,fs,nbits]=wavread(file),采样值放在向量y中,fs表示采样频率(hz),nbits表示采样位数。 y=wavread(file,N),读取前N点的采样值放在向量y中。 y=wavread(file,[N1,N2]),读取从N1到N2点的采样值放在向量y中。 3、编程获取语音信号的抽样频率和采样位数。 语音信号为test1.wav和test2.wav,内容为“语音信号处理”,两端语音保存到工作空间work文件夹下。在M文件中分别输入以下程序,可以分两次输入便于观察。 [y1,fs1,nbits1]=wavread('test1.wav') [y2,fs2,nbits2]=wavread('test2.wav') 结果如下图所示 根据结果可知:两端语音信号的采样频率为44100HZ,采样位数为16。 4、语音信号的时域分析 语音信号的时域分析就是分析和提取语音信号的时域参数。进行语音分析时,最先接触到并且夜市最直观的是它的时域波形。语音信

语音信号处理实验报告实验一

通信工程学院12级1班罗恒2012101032 实验一语音信号的低通滤波和短时分析综合实验 一、实验要求 1、根据已有语音信号,设计一个低通滤波器,带宽为采样频率的四分之一,求输出信号; 2、辨别原始语音信号与滤波器输出信号有何区别,说明原因; 3、改变滤波器带宽,重复滤波实验,辨别语音信号的变化,说明原因; 4、利用矩形窗和汉明窗对语音信号进行短时傅立叶分析,绘制语谱图并估计基音周期,分析两种窗函数对基音估计的影响; 5、改变窗口长度,重复上一步,说明窗口长度对基音估计的影响。 二、实验目的 1.在理论学习的基础上,进一步地理解和掌握语音信号低通滤波的意义,低通滤波分析的基本方法。 2.进一步理解和掌握语音信号不同的窗函数傅里叶变化对基音估计的影响。 三、实验设备 1.PC机; 2.MATLAB软件环境; 四、实验内容 1.上机前用Matlab语言完成程序编写工作。 2.程序应具有加窗(分帧)、绘制曲线等功能。 3.上机实验时先调试程序,通过后进行信号处理。 4.对录入的语音数据进行处理,并显示运行结果。 5. 改变滤波带宽,辨别与原始信号的区别。 6.依据曲线对该语音段进行所需要的分析,并且作出结论。 7.改变窗的宽度(帧长),重复上面的分析内容。 五、实验原理及方法 利用双线性变换设计IIR滤波器(巴特沃斯数字低通滤波器的设计),首先要设计出满足指标要求的模拟滤波器的传递函数Ha(s),然后由Ha(s)通过双线性变换可得所要设计的IIR滤波器的系统函数H(z)。如果给定的指标为数字滤波器的指标,则首先要转换成模拟滤波器的技术指标,这里主要是边界频率Wp和Ws 的转换,对ap和as指标不作变化。边界频率的转换关系为∩=2/T tan(w/2)。接着,按照模拟低通滤波器的技术指标根据相应设计公式求出滤波器的阶数N和3dB截止频率∩c ;根据阶数N查巴特沃斯归一化低通滤波器参数表,得到归一化传输函数Ha(p);最后,将p=s/ ∩c 代入Ha(p)去归一,得到实际的模拟滤波器传输函数Ha(s)。之后,通过双线性变换法转换公式s=2/T((1-1/z)/(1+1/z))得到所要设计的IIR滤波器的系统函数H(z)。

语音信号处理实验报告11

实验一 语音信号的时域分析 一、 实验目的、要求 (1)掌握语音信号采集的方法 (2)掌握一种语音信号基音周期提取方法 (3)掌握语音信号短时能量和短时过零率计算方法 (4)了解Matlab 的编程方法 二、 实验原理 语音是一时变的、非平稳的随机过程,但由于一段时间内(10-30ms)人的声带和声道形状的相对稳定性,可认为其特征是不变的,因而语音的短时谱具有相对稳定性。在语音分析中可以利用短时谱的这种平稳性,将语音信号分帧。 10~30ms 相对平稳,分析帧长一般为20ms 。 语音信号的分帧是通过可移动的有限长度窗口进行加权的方法来实现的。几种典型的窗函数有:矩形窗、汉明窗、哈宁窗、布莱克曼窗。 语音信号的能量分析是基于语音信号能量随时间有相当大的变化,特别是清音段的能量一般比浊音段的小得多。定义短时平均能量 [][]∑∑+-=∞-∞=-=-= n N n m m n m n w m x m n w m x E 122)()()()( 下图说明了短时能量序列的计算方法,其中窗口采用的是直角窗。 过零就是信号通过零值。对于连续语音信号,可以考察其时域波形通过时间轴的情况。而对于离散时间信号,如果相邻的取样值改变符号则称为过零。由此可以计算过零数,过零数就是样本改变符号的次数。单位时间内的过零数称为平

均过零数。 语音信号x (n )的短时平均过零数定义为 ()[]()[]()()[]()[]() n w n x n x m n w m x m x Z m n *--=---= ∑∞ -∞=1sgn sgn 1sgn sgn 式中,[]?sgn 是符号函数,即 ()[]()()()()???<-≥=01 01sgn n x n x n x 短时平均过零数可应用于语音信号分析中。发浊音时,尽管声道有若干个共振峰,但由于声门波引起了谱的高频跌落,所以其语音能量约集中干3kHz 以下。而发清音时.多数能量出现在较高频率上。既然高频率意味着高的平均过零数,低频率意味着低的平均过零数,那么可以认为浊音时具有较低的平均过零数,而清音时具有较高的平均过零数。然而这种高低仅是相对而言,没有精确的数值关系。 短时平均过零的作用 1.区分清/浊音: 浊音平均过零率低,集中在低频端; 清音平均过零率高,集中在高频端。 2.从背景噪声中找出是否有语音,以及语音的起点。 基音是发浊音时声带震动所引起的周期性,而基音周期是指声带震动频率的倒数。基音周期是语音信号的重要的参数之一,它描述语音激励源的一个重要特征,基音周期信息在多个领域有着广泛的应用,如语音识别、说话人识别、语音分析与综合以及低码率语音编码,发音系统疾病诊断、听觉残障者的语音指导等。因为汉语是一种有调语言,基音的变化模式称为声调,它携带着非常重要的具有辨意作用的信息,有区别意义的功能,所以,基音的提取和估计对汉语更是一个十分重要的问题。 由于人的声道的易变性及其声道持征的因人而异,而基音周期的范围又很宽,而同—个人在不同情态下发音的基音周期也不同,加之基音周期还受到单词发音音调的影响,因而基音周期的精确检测实际上是一件比较困难的事情。基音提取的主要困难反映在:①声门激励信号并不是一个完全周期的序列,在语音的

新语音信号处理实验指导2015年秋

《语音信号处理》 实验指导书 哈尔滨理工大学 自动化学院 电子信息科学与技术系 2014.10

语音信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴的学科,是目前发展最为迅速的信息科学研究领域的核心技术之一。通过语音传递信息是人类最重要、最有效、最常用和最方便的交换信息形式。同时,语言也是人与机器之间进行通信的重要工具,它是一种理想的人机通信方式,因而可为信息处理系统建立良好的人机交互环境,进一步推动计算机和其他智能机器的应用,提高社会的信息化程度。语音信号处理是一门新兴的学科,同时又是综合性的多学科领域和涉及面很广的交叉学科。虽然从事这一领域研究的人员主要来自信号与信息处理及计算机应用等学科,但是它与语音学、语言学、声学、认知科学、生理学、心理学等许多学科也有非常密切的联系。 20世纪60年代中期形成的一系列数字信号处理的理论和算法,如数字滤波器、快速傅立叶变换(FFT)等是语音信号数字处理的理论和技术基础。随着信息科学技术的飞速发展,语音信号处理取得了重大的进展:进入70年代之后,提出了用于语音信号的信息压缩和特征提取的线性预测技术(LPC),并已成为语音信号处理最强有力的工具,广泛应用于语音信号的分析、合成及各个应用领域,以及用于输入语音与参考样本之间时间匹配的动态规划方法;80年代初一种新的基于聚类分析的高效数据压缩技术—矢量量化(VQ)应用于语音信号处理中;而用隐马尔可夫模型(HMM)描述语音信号过程的产生是80年代语音信号处理技术的重大发展,目前HMM已构成了现代语音识别研究的重要基石。近年来人工神经网络(ANN)的研究取得了迅速发展,语音信号处理的各项课题是促进其发展的重要动力之一,同时,它的许多成果也体现在有关语音信号处理的各项技术之中。 为了深入理解语音信号数字处理的基础理论、算法原理、研究方法和难点,根据数字语音信号处理教学大纲,结合课程建设的需求,我们编写了本实验指导书。

哈尔滨工程大学 语音信号处理实验报告

实 验 报 告 实验课程名称: 语音信号处理实验 姓名: 班级: 20120811 学号: 指导教师 张磊 实验教室 21B#293 实验时间 2015年4月12日 实验成绩 实验序号 实验名称 实验过程 实验结果 实验成绩 实验一 语音信号的端点检测 实验二 语音信号的特征提取 实验三 语音信号的基频提取

实验一 语音信号的端点检测 一、实验目的 1、掌握短时能量的求解方法 2、掌握短时平均过零率的求解方法 3、掌握利用短时平均过零率和短时能量等特征,对输入的语音信号进行端点检测。 二、实验设备 HP 计算机、Matlab 软件 三、实验原理 1、短时能量 语音信号的短时能量分析给出了反应这些幅度变化的一个合适的描述方法。对于信号)}({n x ,短时能量的定义如下: ∑ ∑∞ -∞ =∞ -∞ =*=-= -= m m n n h n x m n h m x m n w m x E )()()()()]()([222 2、短时平均过零率 短时平均过零率是指每帧内信号通过零值的次数。对于连续语音信号,可以 考察其时域波形通过时间轴的情况。对于离散信号,实质上就是信号采样点符号变化的次数。过零率在一定程度上可以反映出频率的信息。短时平均过零率的公式为: ∑∑-+=∞ -∞=--= ---=1)] 1(sgn[)](sgn[2 1 ) ()]1(sgn[)](sgn[21N n n m w w m n m x m x m n w m x m x Z 其中,sgn[.]是符号函数,即 ? ? ?<-≥=0)(10)(1 )](sgn[n x n x n x

语音信号处理实验一采集和预处理

实验一语音信号的采集及预处理 一、实验目的 在理论学习的基础上,进一步地理解和掌握语音信号预处理及短时加窗的意义及基于matlab的实现方法。 二、实验原理 1.语音信号的录音、读入、放音等:练习matlab中几个音频处理函数,利用函数wavread 对语音信号进行采样,记住采样频率和采样点数,给出以下语音的波形图(2.wav)。利用wavplay或soundview放音。也可以利用wavrecord自己录制一段语音,并进行以上操作(需要话筒)。 2.语音信号的分帧:对语音信号进行分帧,可以利用voicebox工具箱中的函数enframe。 voicebox工具箱是基于GNU协议的自由软件,其中包含了很多语音信号相关的函数。3.语音信号的加窗:本步要求利用window函数设计窗口长度为256(N=256)的矩形窗(rectwin)、汉明窗(hamming)及汉宁窗(hann)),利用wvtool函数观察其时域波形图及频谱特性,比较得出结论。观察整个信号加矩形窗及汉明窗后的波形,利用subplot与reshape函数将分帧后波形、加矩形窗波形及加汉明窗波形画在一张图上比较。取出其中一帧,利用subplot与reshape函数将一帧语音的波形、加矩形窗波形及加汉明窗波形画在一张图上比较将得出结论。 4.预加重:即语音信号通过一个一阶高通滤波器1 9375 1- -z。 .0 三、实验步骤、实验程序、图形及结论 1.语音信号的录音、读入、放音等 程序: [x,fs,nbit]=wavread('D:\2.wav'); %fs=10000,nbit=16 y=soundview('D:\2.wav') 2.语音信号的分帧 程序: [x,fs,nbit]=wavread('D:\2.wav'); len=256; inc=128; y=enframe(x,len,inc); figure; subplot(2,1,1),plot(x) subplot(2,1,2),plot(y)

语音信号处理实验

哈尔滨工程大学实验报告 班级:电信三班 学号:2013081416 姓名:刘世杰

语音信号处理实验 一、实验目的 1、掌握短时能量的求解方法、短时平均过零率的求解方法,对输入的语音信号进行端点检测。 2、掌握语音信号的Mel 倒谱特征(MFCC )的求解方法,语音信号的线性预测原理以及LPC 特征的求解方法。 3、掌握语音信号基频的概念,加深对基频刻画声调特征作用的理解,掌握语音信号基频特征的典型求解方法。 4、掌握MATLAB 相应的功能以及使用方法。 二、仪器设备 HP 计算机、MATLAB 软件 三、实验原理 (一)语音信号的短时分析 端点检测是语音信号处理过程中非常重要的一步,它的准确性直接影响到语音信号处理的速度和结果。本次实验利用短时过零率和短时能量相结合的语音端点检测算法利用短时过零率来检测清音,用短时能量来检测浊音,两者相配合便实现了信号信噪比较大情况下的端点检测。 先引入以下三个概念 1、短时能量计算 定义n 时刻某语言信号的短时平均能量En 为: ∑∑--=+∞∞--=-=n N n m m n w m x m n w m x En )1(22 )]()([)]()([ 式中N 为窗长,可见短时平均能量为一帧样点值的平方和。特殊地,当窗函数为矩形窗时,有∑--== n N n m m x En )1(2)( 2、短时过零率 过零就是指信号通过零值。过零率就是每秒内信号值通过零值的次数。 对于离散时间序列,过零则是指序列取样值改变符号,过零率则是每个样本的改变符号的次数。对于语音信号,则是指在一帧语音中语音信号波形穿过横轴(零电平)的次数。可以用相邻两个取样改变符号的次数来计算。 如果窗的起点是n=0,短时过零率Z 为 波形穿过横轴(零电平)的次数

《语音信号处理》实验3-LPC特征提取

华南理工大学《语音信号处理》实验报告 实验名称:LPC特征提取 姓名: 学号: 班级:10级电信5班 日期:2013年5 月24日

1. 实验目的 1、熟练运用MATLAB 软件进行语音信号实验; 2、熟悉短时分析原理、LPC 的原理; 3、学习运用MATLAB 编程进行LPC 的提取; 4、学会利用短时分析原理提取LPC 特征序列。 2. 实验原理 1、LPC 分析基本原理 LPC 分析为线性时不变因果稳定系统V (z )建立一个全极点模型,并利用均方误差准则,对已知的语音信号s(n)进行模型参数估计。 如果利用P 个取样值来进行预测,则称为P 阶线性预测。假P 个 取样值()()(){ } 1,2,S n S n S n p --- 的加权之和来预测信号当前取样值()S n ,则预测 信号()S n ∧ 为: ()() 1 p k k S n a n k ∧==-∑ (1) 其中加权系数用k a 表示,称为预测系数,则预测误差为: ()()()()() 1 p k k e n s n S n s n a n k ∧ ==-=--∑ (2) 要使预测最佳,则要使短时平均预测误差最小有: ()2 min E e n ε??==?? (3) ()20,(1) k e n k p a ????? =≤≤? (4) 令 ()()(),,i k E s n i S n k φ=--???? (5) 最小的ε可表示成: ()() min 10,00,p k k a k εφφ==-∑ (6) 显然,误差越接近于零,线性预测的准确度在均方误差最小的意义上为最佳,由此可以计算出预测系数。 通过LPC 分析,由若干帧语音可以得到若干组LPC 参数,每组参数形成一个

《语音信号处理》实验报告

盛年不重来,一日难再晨。及时宜自勉,岁月不待人。 中南大学 信息科学与工程学院 语音信号处理 实验报告 指导老师:覃爱娜 学生班级:信息0704 学生名称:阮光武 学生学好:0903070430 提交日期:2010年6月18日

实验一 语音波形文件的分析和读取 一、实验的任务、性质与目的 本实验是选修《语音信号处理》课的电子信息类专业学生的基础实验。通过实验: (1)掌握语音信号的基本特性理论:随机性,时变特性,短时平稳性,相关性等; (2)掌握语音信号的录入方式和*.WAV音波文件的存储结构; (3)使学生初步掌握语音信号处理的一般实验方法。 二、实验原理和步骤: WAV文件格式简介 WAV文件是多媒体中使用了声波文件的格式之一,它是以RIFF格式为标准。每个WAV文件的头四个字节就是“RIFF”。WAV文件由文件头和数据体两大部分组成,其中文件头又分为RIFF/WAV文件标识段和声音数据格式说明段两部分。常见的WAV声音文件有两种,分别对应于单声道(11.025KHz采样率、8Bit的采样值)和双声道(44.1KHz采样率、16Bit的采样值)。采样率是指声音信号在“模拟→数字”转换过程中,单位时间内采样的次数;采样值是指每一次采样周期内声音模拟信号的积分值。对于单声道声音文件,采样数据为8位的短整数(short int 00H-FFH);而对于双声道立体声声音文件,每次采样数据为一个16位的整数(int),高八位和低八位分别代表左右两个声道。WAV文件数据块包含以脉冲编码调制(PCM)格式表示的样本。在单声道WAV文件中,道0代表左声道,声道1代表右声道;在多声道WAV文件中,样本是交替出现的。WAV文件的格式见表1。

基于MATLAB的语音信号时域特性分析_语音信号处理实验报告

南京信息工程大学 实验(实习)报告 实验(实习)名称 基于MATLAB 的语音信号时域特性分析 实验(实习)日期 2013.4.18 得分 ___指导教师 院电子与信息工程专业电子信息工程年级 班次 姓名 学号 一、实验目的 语音信号是一种非平稳的时变信号,它携带着各种信息。在语音编码、语音合成、语音识别和语音增强等语音处理中无一例外需要提取语音中包含的各种信息。语音信号分析的目的就在与方便有效的提取并表示语音信号所携带的信息。语音信号分析可以分为时域和变换域等处理方法,其中时域分析是最简单的方法,直接对语音信号的时域波形进行分析,提取的特征参数主要有语音的短时能量,短时平均过零率,短时自相关函数等。 本实验要求掌握时域特征分析原理,并利用已学知识,编写程序求解语音信号的短时过零率、短时能量、短时自相关特征,分析实验结果,并能掌握借助时域分析方法所求得的参数分析语音信号的基音周期及共振峰。 二、实验原理及实验结果 1.窗口的选择 通过对发声机理的认识,语音信号可以认为是短时平稳的。在5~50ms 的范围内,语音频谱特性和一些物理特性参数基本保持不变。我们将每个短时的语音称为一个分析帧。一般帧长取10~30ms 。我们采用一个长度有限的窗函数来截取语音信号形成分析帧。通常会采用矩形窗和汉明窗。图1.1给出了这两种窗函数在帧长N=50时的时域波形。 0.2 0.40.60.811.2 1.41.61.82矩形窗 sample w (n ) 0.1 0.20.30.40.50.6 0.70.80.91hanming 窗 sample w (n ) 图1.1 矩形窗和Hamming 窗的时域波形 矩形窗的定义:一个N 点的矩形窗函数定义为如下 {1,00,()n N w n ≤<=其他

语音信号处理实验讲义

语音信号处理实验讲义 编写人:蔡萍 时间:2011-12 实验一 语音信号生成模型分析 一、实验目的 1、了解语音信号的生成机理,了解由声门产生的激励函数、由声道产生的调制函数和由嘴唇产生的辐射函数。 2、编程实现声门激励波函数波形及频谱,与理论值进行比较。 3、编程实现已知语音信号的语谱图,区分浊音信号和清音信号在语谱图上的差别。 二、实验原理 语音生成系统包含三部分:由声门产生的激励函数()G z 、由声道产生的调制函数()V z 和由嘴唇产生的辐射函数()R z 。语音生成系统的传递函数由这三个函数级联而成,即 ()()()()H z G z V z R z = 1、激励模型 发浊音时,由于声门不断开启和关闭,产生间隙的脉冲。经仪器测试它类似于斜三角波的脉冲。也就是说,这时的激励波是一个以基音周期为周期的斜三角脉冲串。单个斜三角波的频谱表现出一个低通滤波器的特性。可以把它表示成z 变换的全极点形式 12 1()(1) cT G z e z --= -? 这里c 是一个常数,T 是脉冲持续时间。周期的三角波脉冲还得跟单位脉冲串的z 变换相乘: 112 1 ()()()1(1)v cT A U z E z G z z e z ---=?= ?--? 这就是整个激励模型,v A 是一个幅值因子。 2、声道模型 当声波通过声道时,受到声腔共振的影响,在某些频率附近形成谐振。反映在信号频谱图上,在谐振频率处其谱线包络产生峰值,把它称为共振峰。 一个二阶谐振器的传输函数可以写成 12 ()1i i i i A V z B z C z --= -- 实践表明,用前3个共振峰代表一个元音足够了。对于较复杂的辅音或鼻音共振峰要到5

语音信号处理实验报告4

语音信号处理实验四:均匀量化编码与解码 一、实验目的: 了解均匀量化编码与解码的基本原理,及整个量化过程和量化噪声与编码的关系; 学会利用matlab软件编程利用原理对一语音信号进行编码和解码,并仿真。 二、实验原理: 均匀量化PCM在输入信号幅度变化范围是已知的和幅度值在已知的范围内是均匀分布的这两个条件下效果是很好的。均匀量化是把整个幅度分成等间隔的2^n段,把每个段内的值都量化成一个数值,把量化后的数值根据极性,断码和量化电平对量化后的信号进行编码。最后解码是编码的逆过程。 三、实验程序: clc; clear all; [d,r]=wavread('so.wav'); figure(1); subplot(3,1,1); plot(d); title('原始信号'); m1=max(d); m2=min(d); t=linspace(m1,m2,256); l=length(d); S=zeros(length(d),2); T=zeros(length(d),8); for i=1:l for k=1:length(t)-1; if(d(i)<=t(k) & d(i)>=t(k+1)) S(i,1)=t(k+1); S(i,2)=k; end end end subplot(3,1,2); stem(S(:,1)); title('量化后信号'); for i=1:l temp=S(i,2); T(i,:)=tentotwo(temp); end New=zeros(1,length(T)); mm=linspace(m1,m2,256); for i=1:length(T) temp(i)=twototen(T(i,:)); new(i)=mm(temp(i)); end subplot(3,1,3); plot(new); title('解码后信号'); function y=tentotwo(x) y=zeros(1,8); for i=1:8 if(mod(x,2)==0) y(8-i+1)=0; else y(8-i+1)=1; end x=floor(x/2); end function y=twototen(x) l=length(x); y=0; for i=1:l if(x(i)==1) y=y+2^(8-i); end end

信号系统与语音信号处理实验平台 RZ8664型

产品详细技术方案 信号系统与语音信号处理实验平台 RZ8664 型 简述:RZ8664根据《信号与系统》和《数字信号处理》两门课相互关联的特点,在总结信号与系统实验教学经验,并结合数字信号处理技术、DDS技术、虚拟仪器技术、语音处理技术,开发出的新型“信号与系统”实验箱。它既可完成传统实验箱的实验内容,又能完成原有实验箱难以完成或结果不理想的任意信号分解、信号与系统卷积、数字滤波器、任意信号时域频域分析、语音信号分析等实验;同时也能做“数字信号处理”、“DSP应用”、“虚拟仪器技术”、“语音处理”实验;实验箱采用了正面贴膜工艺,增加了USB通信接口和语音接口。系统既美观又稳定可靠,方便管理。适合专科、本科、研究生和研发人员使用。 一、产品图片 注:产品以实物为准!

RZ-VSlab虚拟实体仿真软件 二、技术指标 1.基于STM32的DDS信号源,可产生:正弦波、三角波、占空比可变的脉冲信号、扫频信号、半波、全波、AM、DSB、SSB、FM等信号,便于学生对不同信号进行时域频域分析; 2.内置数字频率计:0HZ~250KHZ;数字豪伏表:0V~10V; 3.能完成各种卷积实验,输入信号和系统函数可由PC机设定; 4.各种无源、有源模拟滤波器设计、仿真、验证;复杂信号的抽样与恢复,恢复滤波器可开发; 5.能完成数字滤波器的在线设计、冲激与频响仿真、实现(提供整套在线设计、下载软件),学生可基于该功能研究复杂信号中谐波分量的位置与大小; 6.基于数字信号处理技术,能完成:任意信号的卷积、任意信号的分解与合成;(三角波、正弦波、半波、全波等信号、各种调制信号),可研究谐波幅度、谐波相位对信号合成的影响; 7.内置USB接口和高速数据采集模块,可实现基于LABVIEW虚拟示波器、虚拟频谱仪、虚拟选频表功能。在PC机上进行实时的信号时域频域分析;演示实时信号合成原理及吉布斯效应。采集数据可以存贮,在PC机后台分析处理各种信号:如带宽分析、频谱分析、能量分析等。 8.实验平台内置语音接口,专用语音采集芯片,采用“过采样”和“抽取滤波”技术确保语音在8KHZ 采样时也有很好的恢复效果,采样率从8KHZ到96KHZ可编程; 9.能进行DSP、数字信号处理、语音处理、虚拟仪器的二次开发,DSP和数字信号处理的二次开发软件能通过USB接口直接下载,不需仿真器;提供基于LABVIEW的虚拟仪器开发VI函数; 10.能完成信号系统的实验类型:阶跃响应与冲激响应、抽样定理与信号恢复、连续时间系统的模拟、零输入与零状态响应、二阶电路暂态响应、二阶电路传输特性、信号卷积、任意信号分解与合成、谐波幅度与相位对合成信号的影响、模拟滤波器与数字滤波器、虚拟仪器、数字滤波器在线设计及任意信号谐波分析、信号时域频域分析等实验。 11.能完成语音处理实验类型:语音信号的数字化(可以听原声,看波形图);语音基语提取,傅里叶变换(幅频特性与相频特性),语音信号尺度变换(分析变换前后语音及其频谱变化)、语音带限处理频谱分析(语音信号分别通过低通、高通和带通滤波器); 三、实验项目

相关主题