基于MATLAB的语音信号的基音周期检测

合集下载

语音信号的自相关基音周期检测

语音信号的自相关基音周期检测

语音信号的自相关基音周期检测语音信号是一种人类最基本的交流方式,它包含人声的频率、强度和时间三个方面的信息。

语音信号的自相关和基音周期是语音信号分析中的重要技术,对于语音信号分析、识别、合成等应用有着积极的作用。

一、语音信号的自相关语音信号的自相关是指语音信号的样本与样本之间的相关性。

在语音信号中,相邻的样本之间一般都具有相关性,该相关性可以通过计算信号的自相关函数获得。

自相关函数描述了语音信号在不同延迟情况下的相似程度,也就是说,自相关函数可以反映语音信号的周期特征和基音周期。

二、语音信号的基音周期检测语音信号的基音周期是指人语中相邻两个基音周期之间的时间长度。

基音周期检测是一项关键的语音信号分析技术,在音素识别、语音合成、语音编码等领域应用广泛。

基音周期检测方法主要有三种:自相关法、FFT法和LP法。

自相关法是指通过计算信号与自身在不同延迟下的相似度,判断语音信号的基音周期。

具体来说,自相关法首先将语音信号进行预加重和分帧处理,然后计算每一帧的自相关函数,最后采用模板匹配的方法找到最强的周期峰值,从而得到基音周期。

FFT法则是将分帧后的语音信号进行傅里叶变换,提取频谱信息,并通过在频域滑动一个窗口,检测周期性的能量最大值,确定基音周期数。

LP法是通过线性预测,将语音信号分解成具有不同频率的谐波分量,然后利用实验数据验证模型,得到基音周期。

总的来说,不同的基音周期检测方法有其各自的优缺点。

自相关法较为简单但在噪声环境下准确度不高,FFT法可以检测到非周期性的基音,但精度不如自相关法,LP法精度较高但计算复杂度较大。

作为一门复杂的反演问题,语音信号的自相关和基音周期检测一直是语音处理研究中的重要问题,目前的研究主要集中在解决语音信号分析和识别中的实际问题和应用,为提高语音合成、语音编码等方面的应用水平提供技术支持。

语音信号处理 实验报告用修正的短时自相关检测语音的基音周期

语音信号处理  实验报告用修正的短时自相关检测语音的基音周期

语音信号处理课程实验报告专业班级通信学号姓名指导教师实验名称 用修正的短时自相关检测语音的基音周期 同组人 专业班级通信 学号 姓名 成绩 一、实验目的 1.熟悉前一个实验程序以及中心削波的意义 2.用Matlab 实现用修正的短时自相关检测语音的基音周期。

3.分析修正的短时自相关在基音周期检测中的应用。

4.能够对程序进行重新编制。

二、实验原理 如果x(n)是一个周期为P 的信号,则其自相关函数也是周期为P 的信号,且在信号周期的整数倍处,自相关函数取最大值。

语音的浊音信号具有准周期性,其自相关函数在基音周期的整数倍处取最大值。

计算两相邻最大峰值间的距离,就可以估计出基音周期。

观察浊音信号的自相关函数图,其中真正反映基音周期的只是其中少数几个峰,而其余大多数峰都是由于声道的共振特性引起的。

因此为了突出反映基音周期的信息,同时压缩其他无关信息,减小运算量,有必要对语音信号进行适当预处理后再进行自相关计算以获得基音周期。

第一种方法是先对语音信号进行低通滤波,再进行自相关计算。

因为语音信号包含十分丰富的谐波分量,基音频率的范围分布在50~500Hz 左右,即使女高音升c 调最高也不会超过1kHz ,所以采用1kHz 的低通滤波器先对语音信号进行滤波,保留基音频率;再用2kHz 采样频率进行采样;最后用2~20ms 的滞后时间计算短时自相关,帧长取10~20ms ,即可估计出基音周期。

第二种方法是先对语音信号进行中心削波处理,再进行自相关计算。

本实验采用第二种方法。

且中心削波函数如式(3-1)所示: ……………………………………装………………………………………订…………………………………………线………………………………………()()0()()L L L L L L x x x x f x x x x x x x x ->⎧⎪=-≤≤⎨⎪+<⎩一般削波电平L x 取本帧语音最大幅度的60%~70%。

《语音信号处理》实验2-基音周期估计

《语音信号处理》实验2-基音周期估计

华南理工大学《语音信号处理》实验报告实验名称:基音周期估计姓名:学号:班级:10级电信5班日期:2013年5 月15日1.实验目的本次试验的目的是通过matlab编程,验证课本中基音周期估计的方法,本实验采用的方法是自相关法。

2. 实验原理1、基音周期基音是发浊音时声带震动所引起的周期性,而基音周期是指声带震动频率的倒数。

基音周期是语音信号的重要的参数之一,它描述语音激励源的一个重要特征,基音周期信息在多个领域有着广泛的应用,如语音识别、说话人识别、语音分析与综合以及低码率语音编码,发音系统疾病诊断、听觉残障者的语音指导等。

因为汉语是一种有调语言,基音的变化模式称为声调,它携带着非常重要的具有辨意作用的信息,有区别意义的功能,所以,基音的提取和估计对汉语更是一个十分重要的问题。

由于人的声道的易变性及其声道持征的因人而异,而基音周期的范围又很宽,而同—个人在不同情态下发音的基音周期也不同,加之基音周期还受到单词发音音调的影响,因而基音周期的精确检测实际上是一件比较困难的事情。

基音提取的主要困难反映在:①声门激励信号并不是一个完全周期的序列,在语音的头、尾部并不具有声带振动那样的周期性,有些清音和浊音的过渡帧是很难准确地判断是周期性还是非周期性的。

②声道共振峰有时会严重影响激励信号的谐波结构,所以,从语音信号中直接取出仅和声带振动有关的激励信号的信息并不容易。

③语音信号本身是准周期性的(即音调是有变化的),而且其波形的峰值点或过零点受共振峰的结构、噪声等的影响。

④基音周期变化范围大,从老年男性的50Hz到儿童和女性的450Hz,接近三个倍频程,给基音检测带来了一定的困难。

由于这些困难,所以迄今为止尚未找到一个完善的方法可以对于各类人群(包括男、女、儿童及不向语种)、各类应用领域和各种环境条件情况下都能获得满意的检测结果。

尽管基音检测有许多困难,但因为它的重要性,基音的检测提取一直是一个研究的课题,为此提出了各种各样的基音检测算法,如自相关函数(ACF)法、峰值提取算法(PPA)、平均幅度差函数(AMDF)法、并行处理技术、倒谱法、SIFT、谱图法、小波法等等。

自相关函数法基音周期提取(matlab版)

自相关函数法基音周期提取(matlab版)

自相关函数法基音周期提取(matlab版)function nmax=find_maxn(r)%maxn,为峰值最大的nzer=find(r==0); %找第一个零点如果存在jiaocha=0; %找第一近零点ii=1;while (jiaocha<=0)if(r(ii)>0 && r(ii+1)<0 && (ii+1)<length(r))< p=""> jiaocha=ii;endii=ii+1;if ii==length(r) %没有找到符合要求的点jiaocha=1;endendif length(zer)>0 %检查是否存在零点if zer(1)endendr(1:jiaocha)=0; %祛除影响maxn=max(r); %找最大值temp=find(r==maxn);%返回第一个最大值nmax=temp(1);function jiyinzhouqi(filename,shift)%短时自相关分析%filename语音文件*.wav%zhouqi基音周期shift=10;[signal,fs]=wavread('f:/mywork/1.wav');shift=round(fs*shift); %帧移n1=fix(fs*0.97)+1; %分析起点970ms,帧长30msn2=fix(fs*1)+1;ii=1;for ii=1:(length(signal)-n1)/shift %分析次数if n2<length(signal)< p="">data=signal(n1:n2);N=n2-n1+1;R=zeros(1,N); %基音周期(n)多次分析数组for k=1:N-1for jj=1:N-kR(k)=R(k)+data(jj)*data(jj+k);endendvalue(ii)=find_maxn(R); %调用基音周期(n)分析函数n1=n1+shift; %移动帧n2=n2+shift;endend%figure(3)%plot(R);%axis([0,1000 -300 300])figure(1)stem(value);axis([0 length(value) 0 1000])len =length(value); %基音周期(n)多次分析数组长度aver=mean(value);index=find(abs((value-aver))>aver/5);value(index)=0; %去除大野点的影响len=len-length(index);for jj=1:3:len/3 %中值平滑,滑动窗口宽度3,精度为中值1/4(剔除野点)average=(value(jj)+value(jj+1)+value(jj+2))/3;for kk=1:3if abs((value(jj-1+kk))-average)>average/4value(jj-1+kk)=0; %将野点置零,同时数组长度减一len=len-1;endendendfigure(2)stem(value);axis([0 length(value) 0 max(value)])Tp=sum(value)/len/fs %求基音周期(Tp)</length(signal)<></length(r))<>。

基于MATLAB的语音信号的基音周期检测

基于MATLAB的语音信号的基音周期检测

基于MATLAB的语音信号的基音周期检测摘要:MATLAB是一种科学计算软件,专门以矩阵的形式处理数据。

MATLAB将要性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛的应用于科学计算、控制系统和信息处理等领域的分析、仿真和设计工作。

MATLAB在信号与系统中的应用主要包括符号运算和数值计算仿真分析。

由于信号与系统课程的许多内容都是基于公式演算,而MATLAB 借助符号数学工具箱提供的符号运算功能,基本满足设计需要。

例如:解微分方程、傅里叶正反变换、拉普拉斯正反变换和Z正反变换等。

MATLAB在信号与系统中的另一主要应用是数值计算与仿真分析,主要包括函数波形绘制、函数运算、冲击响应仿真分析、信号的时域分析、信号的频谱分析、系统的S域分析和零极点图绘制等内容。

本次课程设计为语音信号的基音周期检测,采集语音信号,对语音信号进行处理,区分清音浊音,并通过对采样值进行滤波、分帧、求短时自相关函数,得到浊音的基音周期。

关键字:清音、浊音、基音周期、基音检测、自相关函数目录1 概述 (1)2 AMDF算法原理及实现 (1)2.1 AMDF算法源程序 (2)3 ACF算法原理及实现 (4)3.1 用短时平均能量进行清/浊音的判断 (4)3.2 自相关函数基音检测的原理 (6)3.3 算法实现及相关程序 (6)3.3.1 带通滤波 (7)3.3.2 取样与分帧 (7)3.3.3 短时能量分析 (8)3.3.4 自相关函数分析 (11)4 总结与心得体会 (13)参考文献 (13)1 概述基音周期检测也称为基频检测(Pitch Detection) ,它的目标是找出和声带振动频率完全一致的基音周期变化轨迹曲线,或者是尽量相吻合的轨迹曲线。

基音周期检测在语音信号的各个处理领域中,如语音分析与合成、有调语音的辨意、低速率语音压缩编码、说话人识别等都是至关重要的,它的准确性及实时性对系统起着非常关键的作用,影响着整个系统的性能。

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

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

南京信息工程大学 实验(实习)报告实验(实习)名称 基于MATLAB 的语音信号时域特性分析 实验(实习)日期 2013.4.18 得分 ___指导教师院电子与信息工程专业电子信息工程年级 班次 姓名 学号一、实验目的语音信号是一种非平稳的时变信号,它携带着各种信息。

在语音编码、语音合成、语音识别和语音增强等语音处理中无一例外需要提取语音中包含的各种信息。

语音信号分析的目的就在与方便有效的提取并表示语音信号所携带的信息。

语音信号分析可以分为时域和变换域等处理方法,其中时域分析是最简单的方法,直接对语音信号的时域波形进行分析,提取的特征参数主要有语音的短时能量,短时平均过零率,短时自相关函数等。

本实验要求掌握时域特征分析原理,并利用已学知识,编写程序求解语音信号的短时过零率、短时能量、短时自相关特征,分析实验结果,并能掌握借助时域分析方法所求得的参数分析语音信号的基音周期及共振峰。

二、实验原理及实验结果1.窗口的选择通过对发声机理的认识,语音信号可以认为是短时平稳的。

在5~50ms 的范围内,语音频谱特性和一些物理特性参数基本保持不变。

我们将每个短时的语音称为一个分析帧。

一般帧长取10~30ms 。

我们采用一个长度有限的窗函数来截取语音信号形成分析帧。

通常会采用矩形窗和汉明窗。

图1.1给出了这两种窗函数在帧长N=50时的时域波形。

0.20.40.60.811.21.41.61.82矩形窗samplew (n )0.10.20.30.40.50.60.70.80.91hanming 窗samplew (n )图1.1 矩形窗和Hamming 窗的时域波形矩形窗的定义:一个N 点的矩形窗函数定义为如下{1,00,()n Nw n ≤<=其他hamming 窗的定义:一个N 点的hamming 窗函数定义为如下0.540.46cos(2),010,()n n NN w n π-≤<-⎧⎨⎩其他=这两种窗函数都有低通特性,通过分析这两种窗的频率响应幅度特性可以发现(如图1.2):矩形窗的主瓣宽度小(4*pi/N ),具有较高的频率分辨率,旁瓣峰值大(-13.3dB ),会导致泄漏现象;汉明窗的主瓣宽8*pi/N ,旁瓣峰值低(-42.7dB ),可以有效的克服泄漏现象,具有更平滑的低通特性。

使用Matlab进行声音信号处理的基本技巧

使用Matlab进行声音信号处理的基本技巧

使用Matlab进行声音信号处理的基本技巧声音信号处理是一门重要的领域,它涵盖了音频合成、语音识别、音频修复等多个应用方向。

Matlab是一款功能强大的数学软件,也可以用于声音信号处理。

本文将介绍使用Matlab进行声音信号处理的基本技巧,包括声音读取、时域分析、频域分析、滤波和音频合成等内容。

1. 声音读取首先,我们需要将声音文件读取到Matlab中进行处理。

Matlab提供了`audioread`函数用于读取声音文件。

例如,我们可以使用以下代码读取一个wav格式的声音文件:```matlab[y, Fs] = audioread('sound.wav');```其中,`y`是声音信号的向量,每个元素代表一个采样点的数值;`Fs`是采样率,即每秒采样的次数。

通过这个函数,我们可以将声音文件以数字信号的形式加载到Matlab中进行后续处理。

2. 时域分析在声音信号处理中,常常需要对声音信号在时域上进行分析。

我们可以使用Matlab的绘图函数来展示声音信号的波形。

例如,以下代码可以绘制声音信号的波形图:```matlabt = (0:length(y)-1)/Fs;plot(t, y);xlabel('Time(s)');ylabel('Amplitude');title('Sound waveform');```这段代码中,`t`是时间轴,通过除以采样率,我们可以得到每个采样点对应的时间。

`plot`函数用于绘制声音信号的波形图,横轴表示时间,纵轴表示振幅。

通过这种方式,我们可以直观地观察声音信号的时域特征。

3. 频域分析除了时域分析,频域分析也是声音信号处理中常用的方法。

通过对声音信号进行傅里叶变换,我们可以得到声音信号在频域上的表示。

Matlab提供了`fft`函数用于进行傅里叶变换。

以下代码可以绘制声音信号的频谱图:```matlabN = length(y);f = (-N/2:N/2-1)/N*Fs;Y = fftshift(fft(y));plot(f, abs(Y));xlabel('Frequency (Hz)');ylabel('Magnitude');title('Sound spectrum');```在这段代码中,`N`是声音信号的长度,`f`是频率轴,通过调整`f`的取值范围可以实现将零频移动到中心位置。

实验二语音信号的基音周期提取最终报告

实验二语音信号的基音周期提取最终报告

实验二语音信号的基音周期提取一、实验目的1、熟练运用MATLAB软件的运用,学习通过MATLAB软件编程来进行语音信号的基因周期提取。

2、掌握语音信号的基音周期提取的方法,实现其中一种基频提取方法。

3、学会用自相关法进行语音信号的基因检测.二、实验仪器设备及软件HP D538、MATLAB三、实验原理浊音信号的自相关函数在基因周期的整数倍位置上出现峰值,而清音的自相关函数没有明显的峰值出现。

因此检测自相关函数是否有峰值就可以判断是清音还是浊音,而峰-峰值之间对应的就是基音周期。

影响从自相关函数中正确提取基音周期的最主要原因是声道响应。

当基音的周期性和共振峰的周期性混在一起时,被检测出来的峰值可能会偏离原来峰值的真实位置。

另外,在某些浊音中,第一共振频率可能会等于或低于基音频率.此时,如果其幅度很高,它就可能在自相关函数中产生一个峰值,而该峰值又可以同基音频率的峰值相比拟。

1、自相关函数对于离散的语音信号x(n),它的自相关函数定义为:R(k)=Σx(n)x(n-k),如果信号x(n))具有周期性,那么它的自相关函数也具有周期性,而且周期与信号x(n)的周期性相同。

自相关函数提供了一种获取周期信号周期的方法。

在周期信号周期的整数倍上,它的自相关函数可以达到最大值,因此可以不考虑起始时间,而从自相关函数的第一个最大值的位置估计出信号的基音周期,这使自相关函数成为信号基音周期估计的一种工具.2、短时自相关函数语音信号是非平稳的信号,所以对信号的处理都使用短时自相关函数。

短时自相关函数是在信号的第N 个样本点附近用短时窗截取一段信号,做自相关计算所得的结果Rm(k)=Σx(n)x(n-k)式中,n表示窗函数是从第n点开始加入。

3、算法通过对自相关基音检测原理的分析,考虑到检测准确度和检测速率2方面的因素,提出了算法实现方案,并对算法进行了Matlab编程实现。

算法包含6个功能模块:带通滤波、取样、分帧、短时能量分析、相关运算、基音检测。

基于MATLAB的自相关函数基音检测的优化

基于MATLAB的自相关函数基音检测的优化

系统软件与软件工程本栏目责任编辑:谢媛媛Computer Knowledge and Technology 电脑知识与技术第5卷第36期(2009年12月)基于MATLAB 的自相关函数基音检测的优化王丽(青海师范大学物理系语音与图像研究室,青海西宁810008)摘要:基音是语音信号的一个重要参数,它是指发浊音时声带振动所引起的周期性。

基音的提取是语音处理中的重要任务。

目前对基音的检测方法有很多,典型的就有自相关法,AMDF (短时平均幅度差)法,倒谱法等等。

这里介绍一种自相关和倒谱相结合的算法,较传统的自相关法有一定的改进和优化。

关键词:自相关;倒谱;三电平中心削波中图分类号:TP391文献标识码:A 文章编号:1009-3044(2009)36-10611-02The Autocorrelation Function based on MATLAB Optimization of Pitch DetectionWANG Li(Qinghai Normal University Physics Department Pronunciation and Image Laboratory,Xi'ning 810008,China)Abstract:Pitch is an important parameter of speech signals,which is when the hair dullness caused by the cyclical nature of vocal fold vi -bration.Pitch extraction is an important task of speech processing.Currently there are a lot of pitch detection methods,typically there is self-correlation method,AMDF (short-time average magnitude difference)method,cepstrum,etc.Here are a self-correlation and cep -strum combination of algorithms,the more traditional autocorrelation have some improvements.Key words:autocorrelation;cepstrum;the three-level center clipping基音是语音信号处理中的一个非常重要的参数。

实验4基于MATLAB的语音信号LPC分析

实验4基于MATLAB的语音信号LPC分析
数提取环节,还是在模型训练和模型匹配环节都使运算量有所增 加。在特征参数提取环节,要计算一种以上的特征参数。在模型 训练和模型匹配环节,由于组合参数特征矢量的维数较多,使运 算复杂度有所增加。运算量的增加会使系统的识别速度受到影响。 为使运算量问题得到较好的解决,所以可以由LPC参数与语音帧 能量构成组合参数,能够在运算量增加不明显的情况下改进系统 的性能。 语音帧能量是指一帧语音信号的能量,它等于该帧语音样值的平 方和。选取与语音帧能量构成组合参数主要有以下考虑:1)语 音帧能量是语音信号最基本的短时参数之一,它表征一帧语音信 号能量的大小,是语音信号一个重要的时域特征;2)由一帧语 音求出的语音帧能量是一个标量值,与其它参量构成组合参数不 会使原特征矢量的维数明显增加,特征矢量的维数越少,则需要 的运算复杂度越小,另外,获取语音帧能量的运算并不复杂;3) 语音帧能量与LPC参数之间的相关性不大,它们反映的是语音信 号的不同特征,应该有较好的效果。
的波形,预测语音帧波形和它们之间预测误差的波形。图3.2为原始语音帧和预测 语音帧的短时谱和LPC谱的波形
图3.1 原始语音帧、预测语音帧和预测误差的波形
图3.2 原始语音帧和预测语音帧的短时谱和LPC谱的波形
这里我们可以改变线性误差的阶数来观察语音帧的短时谱和LP谱的变化情况,如 图3.3。
图3.3 预测阶数对语音帧短时谱和LPC谱的影响
A = (FTframe1 - FFT_est(1 : length(f1'))) ./ FTframe1 ; % inverse filter A(Z)
通过LPC分析,由若干帧语音可以得到若干组LPC参数,每组参数形成 一个描绘该帧语音特征的矢量,即LPC特征矢量。由LPC特征矢量可以进一步 得到很多种派生特征矢量,例如线性预测倒谱系数、线谱对特征、部分相关系 数、对数面积比等等。不同的特征矢量具有不同的特点,它们在语音编码和识 别领域有着不同的应用价值。

matlab 基频提取

matlab 基频提取

matlab 基频提取Matlab是一种强大的数学软件,被广泛应用于科学计算、数据分析等领域。

在信号处理领域,基频提取是一个重要的任务,它可以帮助我们分析音频信号中的基本频率成分。

本文将介绍基频提取在Matlab中的应用方法。

我们需要明确什么是基频。

在音频信号中,基频即为最低频率的成分,也是声音的主要音高。

基频提取的目标就是从音频信号中准确地找到基频值。

在Matlab中,有多种方法可以实现基频提取。

其中,最常用的方法是基于自相关函数的算法。

自相关函数可以描述信号与其自身延迟后的版本之间的相关性。

基于自相关函数的基频提取算法主要包括自相关法、差值自相关法和短时自相关法。

我们来介绍自相关法。

该方法的基本思想是计算音频信号与其自身延迟后的版本之间的相似度。

具体步骤如下:1. 首先,将音频信号进行分帧处理,将长时间的信号拆分成多个短时段的小片段。

2. 对每个小片段进行自相关计算,得到自相关函数。

3. 在自相关函数中,寻找第一个极大值点,其对应的延迟就是基频周期。

4. 计算基频值,即音频信号的采样率除以基频周期。

另一种常用的方法是差值自相关法。

该方法的基本思想是计算音频信号与其自身延迟后的版本之间的差异度。

具体步骤如下:1. 同样地,对音频信号进行分帧处理,得到多个小片段。

2. 对每个小片段进行差值自相关计算,得到差值自相关函数。

3. 在差值自相关函数中,寻找第一个零交叉点,其对应的延迟就是基频周期。

4. 计算基频值,即音频信号的采样率除以基频周期。

我们来介绍短时自相关法。

该方法的基本思想是将音频信号分成多个短时段,分别计算每个短时段的基频值,然后通过插值等方法得到整个音频信号的基频值。

具体步骤如下:1. 将音频信号进行分帧处理,得到多个小片段。

2. 对每个小片段进行自相关计算,得到短时自相关函数。

3. 在短时自相关函数中,寻找第一个极大值点,其对应的延迟就是该短时段的基频周期。

4. 根据短时段的基频周期,通过插值等方法得到整个音频信号的基频值。

基音周期检测ACF算法及MATLAB仿真

基音周期检测ACF算法及MATLAB仿真

语音信号 ( ) n 的某帧信号的短时平均能量 的 定义为 :
收稿 日期 : 1 2 0—1 0 2—2 5
自相关 函数中产生一个 峰值 , 而当该 峰值又可以 同基 音频率的峰值相 比拟时 , 从而会 给基音值检测带来误

8 . 6
E = [ m x + ] ( ) ( m) =∑ ( ) m

就被称为一“ 。 帧” 一般要采用交叠分段 的方法 , 这是 为了使帧与帧之间平滑过渡 , 保持其连续性。前一帧
段具体的语音信号进行滤波、 采样、 分帧、 求短时 自
窗口长度的选择非常重要 , 窗长过短会使得分析窗内
相关函数 , 较准确地得到浊音语音信号的基音周期。
2 基 于 自相关 函数 的基音周 期 检测原 理
变化轨迹 曲线 , 或者是尽量相吻合 的轨迹 曲线。因为 它的重要性 , 基音的检测提取一直是一个研究 的课题。 为此提出了各种各样的基音检测算法 , 自相关 函数 如
工频的干扰 ; 高端截止频率设 为 90 z 0H 既可除去大部
能保留其一二次谐波。 2 2 分帧 .
分共振峰影响 , 又可 以当基音最高频率为 40 z 5 H 时仍
6 — 0 H 的带通滤波器对语音信号进行滤波 , 0 90 z 并利
用滤波后的 自相关函数来进行基音估计。将滤波器低
端截止频率设为 6 H , 0 z这是 因为可 以抑制 5 H 电源 0z
基音周期检测也称为基频检测 ( ihD t tn , P c e co ) t ei 它的目标是找出和声带振动频率完全一致 的基音周期

() 1
tm 0m 其 值 o ) ,:它 ( i
f ,m= 1 0一( 一1 Ⅳ )

基于MATLAB语音信号检测分析及处理

基于MATLAB语音信号检测分析及处理

第一章绪论Matlab是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括Matlab和Simulink两大部分。

1.1 Matlab简介MATLAB是英文MATrix LABoratory(矩阵实验室)的缩写。

早期的MATLAB 是用FORTRAN语言编写的,尽管功能十分简单,但作为免费软件,还是吸引了大批使用者。

经过几年的校际流传,在John Little。

Cleve Moler和Steve Banger 合作,于1984年成立MathWorks公司,并正式推出MATLAB第一版版。

从这时起,MATLAB的核心采用C语言编写,功能越来越强大,除原有的数值计算功能外,还新增了图形处理功能。

MathWorks公司于1992年推出了具有划时代意义的4.0版;1994年推出了4.2版扩充了4.0版的功能,尤其在图形界面设计方面提供了新方法;1997年春5.0版问世,5.0版支持了更多的数据结构,使其成为一种更方便、更完善的编程语言;1999年初推出的MATLAB5.3版在很多方面又进一步改进了MATLAB语言的功能,随之推出的全新版本的最优化工具箱和Simulink3.0达到了很高水平;2000年10月,MATLAB6.0版问世,在操作页面上有了很大改观,为用户的使用提供了很大方便,在计算机性能方面,速度变的更快,性能也更好,在图形界面设计上更趋合理,与C语言接口及转换的兼容性更强,与之配套的Simulink4.0版的新功能也特别引人注目;2001年6月推出的MATLAB6.1版及Simulink4.1版,功能已经十分强大;2002年6月推出的MATLAB6.5版及Simulink5.0版,在计算方法、图形功能、用户界面设计、编程手段和工具等方面都有了重大改进;2004年,MathWorks公司推出了最新的MA TLAB7.0版,其中集成了最新的MATLAB7编译器、Simumlink6.0仿真软件以及很多工具箱。

实验4基于MATLAB的语音信号LPC分析

实验4基于MATLAB的语音信号LPC分析

n1
(16)
式中,S(z)和I(z)分别为语音信号和激励源的Z变换。对人的听觉来说,浊音
是最重要的语音信号。对于浊音,模型的激励信号源e(n)是以基音周期重复的单
位脉冲,此时有
I 可z 得 的1 Z变换S(z)为
式中,
Sz
1
p
(17)
1 an zn
aii1,2, ,为pP阶线性预测n系1 数。根据倒谱的定义,对具有最小相位特征
如果利用P个取样值来进行预测,则称为P阶线性预测。假设用过去P个取样值
S n 1 ,S n 2 , S n p 的加权之和来预测信号当前取样值 S n ,则预测
信号 S
n
为:
p
Snak nk
k1
(1)
其中加权系数用 a k 表示,称为预测系数,则预测误差为:
p
ensnSnsn aknk (2)
% origin is current frame
origin = Music_source(((frame - 1) * (N / 2) + 1):((frame - 1) * (N / 2) + N));
Frame = origin .* Hamm';
%Short Time Fourier Transform
A = (FTframe1 - FFT_est(1 : length(f1'))) ./ FTframe1 ; % inverse filter A(Z)
的波形,预测语音帧波形和它们之间预测误差的波形。图3.2为原始语音帧和预测 语音帧的短时谱和LPC谱的波形
图3.1 原始语音帧、预测语音帧和预测误差的波形
可编辑版
12

基于MATLAB的基音检测分析

基于MATLAB的基音检测分析

基于MATLAB 的基音检测分析骆娇艳,孙祥娥(长江大学电子信息学院,湖北荆州434000)摘要:基音检测作为语音信号处理的重要手段,被广泛地应用于语音的合成、编码及识别等一系列语音信号处理技术问题。

基音检测的准确性对于要求极高的语音识别、合成、分析、压缩编码等等都有重要的意义。

该文用自相关函数法、平均幅度差函数法和倒谱法这三种常用的基音检测方法,运用MATLAB 编程实现,对语音信号的基音周期轨迹图进行了比较分析,并由此得出和倒谱法进行语音信号基音的检测更为精确。

关键词:基音检测;MATLAB;自相关函数法;平均幅度差函数法;倒谱法中图分类号:TP311文献标识码:A文章编号:1009-3044(2014)18-4293-031 概述语音是人类相互之间进行信息交流的基本手段和重要载体,随着现代通信科学技术的迅速发展,尤其是计算机的日趋普及,对语音信号的处理发挥着越来越重要的作用。

汉语中的声调对于语音的理解很重要,同时相同的汉语在不同的语气或词义下均有不同的声调[1]。

因此,基音检测的准确性对于汉语语音信号的识别极为重要。

根据声带的震动情况,我们一般将语音信号分为清音和浊音两种[2]。

清音和普通的白噪声相似,尚未发现明显的规律性;而浊音就是俗称的有声语言,携带着语音的大部分能量,并且具有明显的周期性。

当人们在发出浊音的时候,气流往往会通过声门迫使声带产生规律性的震动,我们称之为激励脉冲串。

通过声带震动产生的频率被定义为:基音频率,同样地,就有了基音周期[3]。

通常所指的基音检测实际上就是一种对基音周期的估计,结果是希望能够找出与声带的振动频率相一致或较为吻合的轨迹曲线。

语音信号的处理包括四大类,分别为:语音合成、语音识别、语音编码以及语音识别[2]。

其中,准确提取语言信号参数对于整个的语音信号处理是至关重要的。

只有当某些可以表示语音信号本质特征的参数被准确地提出,这些参数才可以被利用进行有效的语音合成,语音识别以及语音的压缩解码处理,其中语音周期提取的准确性会直接影响到语音合成的真实性,因此在众多参数中就会显得尤为重要[4]。

基于MATLAB的音频信号处理与语音识别系统设计

基于MATLAB的音频信号处理与语音识别系统设计

基于MATLAB的音频信号处理与语音识别系统设计一、引言音频信号处理与语音识别是数字信号处理领域的重要研究方向,随着人工智能技术的不断发展,语音识别系统在日常生活中得到了广泛应用。

本文将介绍如何利用MATLAB软件进行音频信号处理与语音识别系统的设计,包括信号预处理、特征提取、模式识别等关键步骤。

二、音频信号处理在进行语音识别之前,首先需要对音频信号进行处理。

MATLAB提供了丰富的信号处理工具,可以对音频信号进行滤波、降噪、增益等操作,以提高后续语音识别的准确性和稳定性。

三、特征提取特征提取是语音识别中至关重要的一步,它能够从复杂的音频信号中提取出最具代表性的信息。

常用的特征包括梅尔频率倒谱系数(MFCC)、线性预测编码(LPC)等。

MATLAB提供了丰富的工具箱,可以方便地实现这些特征提取算法。

四、模式识别模式识别是语音识别系统的核心部分,它通过对提取出的特征进行分类和识别,从而实现对不同语音信号的区分。

在MATLAB中,可以利用支持向量机(SVM)、人工神经网络(ANN)等算法来构建模式识别模型,并对语音信号进行分类。

五、系统集成将音频信号处理、特征提取和模式识别整合到一个系统中是设计语音识别系统的关键。

MATLAB提供了强大的工具和函数,可以帮助我们将各个部分有机地结合起来,构建一个完整的语音识别系统。

六、实验与结果分析通过实际案例和数据集,我们可以验证所设计的基于MATLAB的音频信号处理与语音识别系统的性能和准确性。

通过对实验结果的分析,可以进一步优化系统设计,并提高语音识别系统的性能。

七、结论基于MATLAB的音频信号处理与语音识别系统设计是一个复杂而又具有挑战性的任务,但是借助MATLAB强大的功能和工具,我们可以更加高效地完成这一任务。

未来随着人工智能技术的不断发展,基于MATLAB的语音识别系统将会得到更广泛的应用和进一步的优化。

通过本文对基于MATLAB的音频信号处理与语音识别系统设计进行介绍和讨论,相信读者对该领域会有更深入的了解,并能够在实际应用中灵活运用所学知识。

基于MATLAB语音信号处理(语音信号处理的综合仿真)

基于MATLAB语音信号处理(语音信号处理的综合仿真)

---------------------------------------------------------------范文最新推荐------------------------------------------------------ 基于MATLAB语音信号处理(语音信号处理的综合仿真)摘要:针对目前在嘈杂的环境中手机接听电话时人声不清楚的缺点,本文介绍了一个基于MATLAB的算法来对语音信号进行处理。

该算法通过计算机录音系统来实现对语音信号的采集,并且利用MATLAB的计算和信号处理能力进行频谱分析和设计滤波器,最终通过仿真得到滤波前后的波形,从而达到保留语音信号中的大部分人声并且滤除掉嘈杂噪声的目的。

仿真实验表明,采用低通滤波器保留人声的效果显著,失真较少。

本算法具有操作简单,运行速度快等优点。

关键词:语音信号;MATLAB;滤波;低通;噪声Speech Signal Processing Based on MATLAB1 / 17Abstract: At present, in view of the shortcomings of that the voice is not clear when people answering the phone in a noisy environment, this paper introduces a algorithm for speech signal processing based on MATLAB. The algorithm realizes the acquisition of the speech signal through a computer recording system. And the software can realize the capabilities of frequency spectrum analysis and filter design by the use of calculation and signal processing capabilities of MATLAB. Finally it can get the waveform before and after filtering through the simulation. So that we can retain most of the voices in the speech signal and at the same time remove noisy noise through filter. Simulation results show that the low pass filter has a remarkable effect of keeping voices and the distortion is little. This algorithm has the advantages of simple to operate and fast.Key Words: Speech signal; MATLAB; Filtering; Low pass; Noise目录---------------------------------------------------------------范文最新推荐------------------------------------------------------ 摘要1引言11.研究意义及研究现状21.1研究意义21.2研究现状22. 语音信号处理的总体方案2.1 研究的主要内容本课题主要介绍的是的语音信号的简单处理,目的就是为以后在手机上的移植打下理论基础。

实现基于共振峰和基音的语音合成 matlab代码

实现基于共振峰和基音的语音合成 matlab代码

实现基于共振峰和基音的语音合成 matlab代码要实现基于共振峰和基音的语音合成,可以使用MATLAB来进行编程。

以下是一个简单的示例代码,演示如何使用MATLAB生成基于共振峰和基音的合成语音:matlab设置基本参数fs = 44100; 采样率(Hz)T = 1; 合成语音的时长(秒)f0 = 100; 基音频率(Hz)vowel = 'a'; 要合成的元音声音计算共振峰参数f1 = 730; 第一个共振峰频率(Hz)f2 = 1090; 第二个共振峰频率(Hz)b1 = 100; 第一个共振峰带宽(Hz)b2 = 50; 第二个共振峰带宽(Hz)计算基音周期和长度period = round(fs/f0);n = round(fs*T);生成基音信号x = zeros(n, 1);for i = 1:period:nx(i:i+period-1) = ones(period, 1);end生成共振峰滤波器[b, a] = resonator([f1 f2], [b1 b2], fs);对基音信号进行共振峰滤波y = filter(b, a, x);播放合成的语音soundsc(y, fs);在这个示例中,首先设置了一些基本的参数,如采样率、合成语音时长、基音频率和要合成的元音声音。

然后,根据提供的共振峰参数计算滤波器系数。

接下来,生成基音信号,以及应用共振峰滤波器生成合成的语音信号。

最后,使用`soundsc`函数播放合成的语音。

请注意,这只是一个简单的示例,涵盖了基本的合成过程。

实际的语音合成可能需要更多的复杂处理和算法,以便更准确地模拟人类语音的特征。

基于Matlab的语音信号自相关基音检测

基于Matlab的语音信号自相关基音检测

基于Matlab的语音信号自相关基音检测
付青青;吴爱平
【期刊名称】《长江大学学报(自然版)理工卷》
【年(卷),期】2006(003)004
【摘要】自相关基音检测算法是语音信号处理的关键技术,算法的效率直接影响语音信号实时处理的质量.在对自相关基音检测算法基本原理进行分析的基础上,设计了Matlab算法实现方案,通过对一段具体语音时域信号采样值进行滤波、分帧、求短时自相关函数,得到了浊音语音的基音周期.试验结果表明,该算法结构简单,运算量小,效率高.
【总页数】3页(P99-101)
【作者】付青青;吴爱平
【作者单位】长江大学电子信息学院,湖北,荆州,434023;长江大学电子信息学院,湖北,荆州,434023
【正文语种】中文
【中图分类】TN912.34
【相关文献】
1.语音信号基音检测算法研究 [J], 覃慧超;许爽
2.基于Matlab的藏语语音基音检测算法研究 [J], 卓嘎;边巴旺堆
3.基于MATLAB的基音检测分析 [J], 骆娇艳;孙祥娥
4.基于MATLAB的自相关函数基音检测的优化 [J], 王丽
5.基于Matlab的语音信号自相关基音检测 [J], 付青青;吴爱平
因版权原因,仅展示原文概要,查看原文内容请购买。

语音信号基音频率的提取

语音信号基音频率的提取


E[ y1* y 2] E ( y1 ) E ( y 2 )
2 2
语音的基音周期一般在20到140,因此 小于20没有周期 i+20-1,因此pitch.m在调用这个时需要 有一句p=19+ind_pitch;
二、主程序pitch
[maxim,mxi]=max(rr);%maxim存放最大值,mxi存放最 大值位置 ind_pitch=mxi; if mxi>THR_largePitch %与限定值比较 mi=maxx(rr,THR_maxx);%实际上就是以最大值 点的t倍为界找出这个界以上的左右极值点的位置 %这个序列的第一个值是1,最后一个是序列rr的长度 %一开始看到这里的时候会觉得比较多余了,直接一次 maxim*THR_pitch分界比较就可以了 %事实上,下面的比较没有只针对极值点处理。 %maxx的作用是筛选出大于maxim*THR_maxx的极值点 出来,所以这个还是必须的 for i=1:length(mi) if rr(mi(i))>max(THR_corr,maxim*THR_pitch); ind_pitch=mi(i); break;%break说明只取第一个满足条件的 end end end p=19+ind_pitch;%rr(i)对应的是i+19 mx=rr(ind_pitch);
第一个和最后一个 if newstate==-1 & oldstate ==1 if s(i)>t*max_value j=j+1; mi(j)=i; end end
Байду номын сангаас
oldstate=newstate; end
ll=length(mi); mi(ll+1)=length(s);
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于MATLAB的语音信号的基音周期检测摘要:MATLAB是一种科学计算软件,专门以矩阵的形式处理数据。

MATLAB将要性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛的应用于科学计算、控制系统和信息处理等领域的分析、仿真和设计工作。

MATLAB在信号与系统中的应用主要包括符号运算和数值计算仿真分析。

由于信号与系统课程的许多内容都是基于公式演算,而MATLAB 借助符号数学工具箱提供的符号运算功能,基本满足设计需要。

例如:解微分方程、傅里叶正反变换、拉普拉斯正反变换和Z正反变换等。

MATLAB在信号与系统中的另一主要应用是数值计算与仿真分析,主要包括函数波形绘制、函数运算、冲击响应仿真分析、信号的时域分析、信号的频谱分析、系统的S域分析和零极点图绘制等内容。

本次课程设计为语音信号的基音周期检测,采集语音信号,对语音信号进行处理,区分清音浊音,并通过对采样值进行滤波、分帧、求短时自相关函数,得到浊音的基音周期。

关键字:清音、浊音、基音周期、基音检测、自相关函数目录1 概述 (1)2 AMDF算法原理及实现 (1)2.1 AMDF算法源程序 (2)3 ACF算法原理及实现 (4)3.1 用短时平均能量进行清/浊音的判断 (4)3.2 自相关函数基音检测的原理 (6)3.3 算法实现及相关程序 (6)3.3.1 带通滤波 (7)3.3.2 取样与分帧 (7)3.3.3 短时能量分析 (8)3.3.4 自相关函数分析 (11)4 总结与心得体会 (13)参考文献 (13)1 概述基音周期检测也称为基频检测(Pitch Detection) ,它的目标是找出和声带振动频率完全一致的基音周期变化轨迹曲线,或者是尽量相吻合的轨迹曲线。

基音周期检测在语音信号的各个处理领域中,如语音分析与合成、有调语音的辨意、低速率语音压缩编码、说话人识别等都是至关重要的,它的准确性及实时性对系统起着非常关键的作用,影响着整个系统的性能。

浊音信号的周期称为基音周期, 它是声带振动频率的倒数, 基音周期的估计称为基音检测。

基音检测是语音处理中的一项重要技术之一, 它在有调语音的辨意、低速率语音编码、说话人识别等方面起着非常关键的作用; 但在实现过程中, 由于声门激励波形不是一个完全的周期脉冲串, 而且声道的影响很难去除、基音周期的定位困难、背景噪声的强烈影响等一系列因素, 基音检测面临着很大的困难。

而自相关基因检测算法是一种基于语音时域分析理论的较好的算法。

本文在对AMDF、ACF基音检测算法基本原理进行分析的基础上,对此算法进行了深入的探讨,针对以往研究中存在的问题加以改进,给出了一种方便、快捷的检测方案。

综合考虑了检测准确度和检测速率两方面的因素,然后通过对一段具体的语音信号进行处理,较准确地得到浊音语音信号的基音周期。

2 AMDF算法原理及实现语音信号{s(n))的短时平均幅度差函数(AMDF)定义为:其中,w(m)是窗函数,尺是信号的平均值,因为语音信号的浊音段具有周期性,假设基音周期为p,则在浊音段,在k=p,2p,3p…将出现谷点,谷点间的距离即为基音周期。

与短时自相关函数一样,对周期性的浊音语音,也呈现与浊音语音周期相一致的周期特性,不过不同的是在周期的各个整数倍点上具有谷值特性而不是峰值特性,因而通过的计算同样可以确定基音周期。

而对于清音信号,却没有这种周期特性。

利用的这种特性,可以判定一段语音是浊音还是清音,并估计出浊音语音的基音周期。

由于计算函数只需要加、减和取绝对值运算,运算量较之短时自相关函数大大下降。

同时,函数在基音周期点的谷值比自相关函数的峰值更加尖锐,因此错判率相对较小,稳健性更高。

但是当语音信号的幅度快速变化时,函数的谷值深度会减小,从而影响基音估计的精度。

2.1 AMDF算法源程序AMDF波形图如图2-1所示。

y=wavread(C:\Documents and Settings\Administrator\桌面\yejianglong '.wav');y1=b(3500:6000);N=320;%选择的窗长,加N=320的矩形窗A=[];for k=1:320sum=0;for m=1:Nsum=sum+abs(y1(m)-y1(m+k-1));%计算自相关endA(k)=sum;ends=y(3500:10000);figure(1)subplot(211)plot(s)xlabel('样点')ylabel('幅度')axis([0,2500,-1,1]);subplot(212)plot(A)xlabel('延时k')ylabel('AMDF')axis([0,400,0,200]);图2-1 AMDF波形图由图2-1 AMDF波形图可知:平均幅度差函数在基音周期处表现为谷值,这些谷值之间的间隔的平均值就是所要求得的基音周期。

输入语音帧的平均幅度差函数的最小值发生在第l点,其值为O,我们可以设置一定的门限,得到低于此门限的局部最低点(不包含第1点)。

从图中,我们可以得到谷点的样本值分别为70、140、210,其间隔平均值为70。

因此对应的基音频率为:Fs/(70一1)=Fs/69=37000/69=536,这和采用自相关法的检测结果完全相同。

3 ACF算法原理及实现3.1 用短时平均能量进行清/浊音的判断语音信号{ x ( n) } 的某帧信号的短时平均能量En 的定义为:式中,w ( n) 为窗函数; N 为窗长。

令h( n) = w2 ( n) ,则有由此表明,窗口加权短时平均能量En 相当于将“语音平方”信号通过一个单位函数响应为h( n) 的线性滤波器的输出。

试验统计发现,语音浊音段的短时平均能量远远大于清音段的短时平均能量。

因此,短时平均能量En 的计算给出了区分清音段与浊音段的依据,即En (浊) > En (清) 。

根据En 由高到低的跳变可定出浊音变为清音语音的时刻, En 由低向高的跳变可定出清音变为浊音语音的时刻;而只有浊音才有基音周期,清音的基音周期为零。

故清浊音判断是基音检测的第一步。

该算法中窗口选择汉明窗,其定义为:选择汉明窗的理由是窗函数的选取原则为窗函数截取后的x ( n) 尽量是中间大两头小的光滑函数,冲激响应对应的滤波器具有低通特性。

从汉明窗的构成及频率响应特性上看, 汉明窗具有这种特性, 而矩形窗及汉宁窗则稍逊之。

汉明窗虽然主瓣最高(带宽大) ,但旁瓣最低(通带外的衰减大) , 可以有效地克服泄露现象,具有更好的低通特性。

故选择汉明窗而不选择别的窗函数,能使短时平均能量En 更能反映语音信号的幅度变化。

3.2 自相关函数基音检测的原理对于离散的数字语音信号序列x ( n) ,自相关函数定义如下:式中, k 为信号的延迟点数。

对于随机性信号序列或周期性信号序列,自相关函数定义为:自相关函数具有以下的性质:如果序列x ( n) 具有周期Np ,则其自相关函数也是同周期的周期函数。

即:x ( n) = x ( n + N p );则:R( k) = R ( k + N p ) 。

清音信号没有周期性,它的自相关函数也没有周期, R( k) 会随着k 的增大迅速衰减。

浊音信号具有准周期性,它的自相关函数R ( k) 具有与{ x ( m) } 相同的周期。

自相关法基音检测正是利用R ( k) 的这一性质对语音信号进行基音检测的。

3.3 算法实现及相关程序通过对自相关基音检测原理的分析, 考虑到检测准确度和检测速率2 方面的因素, 提出了算法实现方案, 并对算法进行了Matlab 编程实现。

算法包含6个功能模块: 带通滤波、取样、分帧、短时能量分析、相关运算、基音检测。

框图如图3-1所示。

图3-1 基因检测框图3.3.1 带通滤波该研究以采样频率为8kHz、精度为16 比特的wav 文件作为声源, 以网络录音机录制自己的一段语音。

因为语音信号包含非常丰富的谐波分量, 基音频率最低可达80Hz , 最高可达500Hz , 但基音频率大多数分布在100~200Hz 之间。

因此,浊音信号可能含有三四十次谐波分量, 而其基波分量往往不是最强的分量。

语音信号的第一共振峰通常在300~1000Hz 范围内, 即基音的2~8 次谐波成分比基波分量还要强。

为了提高检测的准确度, 算法中引入了一个60~500Hz 带通滤波模块滤除语音帧的高次谐波分量。

该算法中用音效编辑软件Cooledit提供的功能直接滤波, 方便快速, 它在保持语音信息的前提下, 可以大大减少谐波成分。

3.3.2 取样与分帧取样模块从以采样频率为8kHz 的语音信号中截取Lengt h (样点数) 长个样点值, 一般取样点数为帧长的整数倍即可, 程序中取了18000 个样点数进行分析。

分帧模块主要完成将取样模块中获得的语音样值点分为若干个语音帧, 算法中分析帧长30ms , 即每帧长为240 个样点。

然后用短时平均能量判断出浊音帧, 再对浊音帧进行自相关计算, 最后进行基音周期检测。

3.3.3 短时能量分析原始信号及其频谱波形如图3-2所示。

图3-2 原始信号及其频谱波形%原始信号[y,fs,nbits]=wavread ('C:\Documents and Settings\Administrator\桌面\yejianglong.wav');%把语音信号进行加载入Matlab 仿真软件平台中sound(y,fs,nbits); %回放语音信号n = length (y) ; %求出语音信号的长度Y=fft(y,n); %快速傅里叶变换subplot(2,1,1);plot(y);title('原始信号波形');grid;subplot(2,1,2);plot(abs(Y));title('原始信号频谱');grid;短时能量的函数由以下程序实现,短时能量曲线如图3-3所示。

图3-3 短时能量曲线%经滤波后波形N=240y=WA VREAD('C:\Documents and Settings\Administrator\桌面\yejianglong.wav'),[1 18000]);L=length(y)%30秒,每秒8000个点,一共240000个点LL=length(y)/N %一共1000帧%短时能量figure(1)F1 = enframe(y,200);eng = sum(F1.^2);plot(eng);xlabel('帧');ylabel('短时平均能量');title('短时能量')%短时平均幅度Mn=sum(abs(Y))/Nfigure(2)F2 = enframe(y,200);eng = sum(abs(F2));plot(eng);xlabel('帧');ylabel('短时平均幅度');title('短时平均幅度');短时平均幅度函数曲线如图3-4所示。

相关文档
最新文档