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

合集下载

基音检测技术及其在语音信号处理中的应用研究

基音检测技术及其在语音信号处理中的应用研究

基音检测技术及其在语音信号处理中的应用研究

摘要:本文先对自相关函数法、平均幅度差函数法、倒谱法、小波变换法这四种经典的基音检测方法的原理进行分析;然后用MATLAB软件完成了基于短时自相关函数法、倒谱法的基音检测。通过实验可知,这两种方法针对实验室环境下的一帧语音信号比较准确,但在噪声环境下不够理想。为了克服这两种方法的不足,本文对它们均做了改进,对于短时自相关函数法增加了预处理,使得基音轨迹曲线更加明显。在对基音检测的倒谱法进行分析时,提出了一种功率谱二次处理的二次谱基音检测方法,该方法克服了倒谱法基音检测的抗噪能力低的弱点,基音轨迹曲线估计的准确性也得到了改善。

关键词:基音检测;短时能量;自相关函数;倒谱函数;预处理;基音轨迹

Abstract:Four typical pitch detection methods are analyzed firstly, i.e, autocorrelation function, average magnitude difference function, cepstrum, and wavelet transform. The pitch detection based on short time energy autocorrelation function and cepstrum functions are implemented with MATLAB. The experimental results show that both methods work well for the speech in the lab. But for the noised signal, the detection performance is not so good. In order to overcome these shortcomings,some improvements are presented in this article .For the short time autocorrelation, there introduce the pro-processing operations ,as a result ,the accuracy of the estimated pitch contour is improved. The cepstrum method of speech pitch detection is analyzed carefully,and also propose a secondary processing power spectrum of secondary spectrum pitch detection methods. It used the power spectrum reprocessing results of speech to extract the pitch contour. The presented method not only overcame the shortcomings of cepstrum method, but also improved the accuracy of the estimated pitch contour.

语音信号基音周期检测的matlab程序.doc

语音信号基音周期检测的matlab程序.doc

function nmax=find_maxn(r)

%寻找峰值最大的n值及基音周期

%r,自相关序列

%maxn,为峰值最大的n

zer=find(r==0); %找第一个零点如果存在

jiaocha=0; %找第一近零点

ii=1;

while (jiaocha<=0)

if(r(ii)>0 && r(ii+1)<0 && (ii+1)

jiaocha=ii;

end

ii=ii+1;

if ii==length(r) %没有找到符合要求的点

jiaocha=1;

end

end

if length(zer)>0 %检查是否存在零点

if zer(1)

end

end

r(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,帧长30ms

n2=fix(fs*1)+1;

ii=1;

for ii=1:(length(signal)-n1)/shift %分析次数

if n2

data=signal(n1:n2);

N=n2-n1+1;

R=zeros(1,N); %基音周期(n)多次分析数组

语音信号处理实验报告11

语音信号处理实验报告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 是符号函数,即

数字语音处理及MATLAB仿真第三章

数字语音处理及MATLAB仿真第三章

3. T[ x(m)] x(m)x(m k ),h n w n w n k
Qn
对应于自相关函数 ;
19
数字语音处理及MATLAB仿真 张雪英编著
3.3 短时平均能量
1.短时平均能量定义
定义n时刻某语音信号的短时平均能量En为:
En
m
[ x ( m ) w ( n m )]
sgn x n sgn x n 1 * w n
29
数字语音处理及MATLAB仿真 张雪英编著
1 w n 2N 0
0 n N 1 其它

1 sgn x(n) -1
x ( n) 0 x (n) 0
Rn k
m
x m w n m x m k w n k m

因为 所以
Rn k Rn k
Rn k Rn k
m
x m x m k w n m w n m k
∑x m x m k m ∞
1 2N 1

时域离散随机信号的自相关函数定义为:
R k lim
N m N
x m x m k
N
周期为P的周期信号满足: k R k P R

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

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

华南理工大学《语音信号处理》实验报告

实验名称:基音周期估计

姓名:

学号:

班级:10级电信5班

日期:2013年5 月15日

1.实验目的

本次试验的目的是通过matlab编程,验证课本中基音周期估计的方法,本实验采用的方法是自相关法。

2. 实验原理

1、基音周期

基音是发浊音时声带震动所引起的周期性,而基音周期是指声带震动频率的倒数。基音周期是语音信号的重要的参数之一,它描述语音激励源的一个重要特征,基音周期信息在多个领域有着广泛的应用,如语音识别、说话人识别、语音分析与综合以及低码率语音编码,发音系统疾病诊断、听觉残障者的语音指导等。因为汉语是一种有调语言,基音的变化模式称为声调,它携带着非常重要的具有辨意作用的信息,有区别意义的功能,所以,基音的提取和估计对汉语更是一个十分重要的问题。

由于人的声道的易变性及其声道持征的因人而异,而基音周期的范围又很宽,而同—个人在不同情态下发音的基音周期也不同,加之基音周期还受到单词发音音调的影响,因而基音周期的精确检测实际上是一件比较困难的事情。基音提取的主要困难反映在:①声门激励信号并不是一个完全周期的序列,在语音的头、尾部并不具有声带振动那样的周期性,有些清音和浊音的过渡帧是很难准确地判断是周期性还是非周期性的。②声道共振峰有时会严重影响激励信号的谐波结构,所以,从语音信号中直接取出仅和声带振动有关的激励信号的信息并不容易。③语音信号本身是准周期性的(即音调是有变化的),而且其波形的峰值点或过零点受共振峰的结构、噪声等的影响。④基音周期变化范围大,从老年男性的50Hz到儿童和女性的450Hz,接近三个倍频程,给基音检测带来了一定的困难。由于这些困难,所以迄今为止尚未找到一个完善的方法可以对于各类人群(包括男、女、儿童及不向语种)、各类应用领域和各种环境条件情况下都能获得满意的检测结果。

基于CEP和LPC谱提取语音信号基音周期的方法

基于CEP和LPC谱提取语音信号基音周期的方法

基于CEP和LPC谱提取语音信号基音周期的方法

作者:马英,石小荣, 李海新

来源:《现代电子技术》2009年第20期

摘要:在语音信号分析中,只有分析出可表示语音信号本质特征的参数,才有可能利用这些参数进行高效的语音通信、语音合成和语音识别等处理。因此对语音信号采用CEP和LPC谱提取语音信号基音周期的异同进行了研究,并采用Matlab实现了仿真分析。从中可以看出,LPC谱估计基音周期的算法运算量较大,而CEP 谱算法更直观,且在少部分情况下基音峰会变得更突出一些, CEP谱具有更加广阔的应用前景。

关键词:同态分析;线性预测分析(LPC);基音周期;Matlab

中图分类号:TP274文献标识码:A

文章编号:1004-373X(2009)20-150-02

Speech Signal Extraction Method of Pitch Based on CEP and LPC Spectrum

MA Ying,SHI Xiaorong,LI Haixin

(Qinghai Nationality College,Xining,810000,China)

Abstract:In voice signal analysis,by analysing the voice signal substantive characteristics′ parameter,these parameters can be used to carry on high effective processing and voice communication,speech synthesis and speech recognition.Therefore,difference between speech signal extraction of pitch by CEP and speech signal extraction of pitch by LPC spectrum are analysed,and Matlab is used to realize the simulation analysis.LPC spectrum is used toestimate tone c ycle's algorithm which has big calculation,but the CEP spectrum algorithm is more direct-viewing,and the tone summit becomes prominent,CEP spectrum has widely application prospect.

语音基音周期的估计

语音基音周期的估计

实验一离散数字信号的产生及其时域处理

学习实现实验1的内容,并且编制一个程序(m文件)产生5种信号,函数需要的参数可输入确定,并绘出其图形

1、单位抽样序列

在MATLAB中可以利用函数实现,

%单位抽样序列函数%

X=0:10;

Y=[0 1 zeros(1,9)];

stem(X,Y,'r');

axis([-1,10,0,1]);

title('单位抽样序列');

xlabel('n');

ylabel('δ*n+');

图形如右:

2、单位阶越序列

在MATLAB中可以利用函数实现, 实现过程如下:

%单位阶跃序列函数

K=-8:8;

H=[zeros(1,8),ones(1,9)];

stem(K,H,'r');

axis([-8,8,0,2]);

title('单位阶跃序列');

xlabel('n');

ylabel('u[n]');

图形如下:

3、正弦序列,在MATLAB中实现过程如下:%正弦序列函数sin(2*pi*D/5+pi/4)%

D=-1:0.1*pi:8*pi;

C=sin(2*pi*D/5+pi/4);

stem(D,C,'filled');

axis([-1,10,-2,2]);

title('正弦序列');

xlabel('n');

ylabel('sin(2*pi*D/5+pi/4)')

图形如下:

4、复指数序列,从幅度和相位进行分析,在MATLAB中实现过程如下:%复指数序列函数%

n=[0:10];

x1=2*exp((-0.2+0.7*j)*n);

x2=abs(x1);

x3=angle(x1);

subplot(2,3,4);

哈工程实验三语音信号的基音周期提取最终报告

哈工程实验三语音信号的基音周期提取最终报告

实验三语音信号的基音周期提取

一、实验目的

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

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

3、学会用自相关法进行语音信号的基因检测。

二、实验仪器设备及软件

MATLAB

三、实验原理

浊音信号的自相关函数在基因周期的整数倍位置上出现峰值,而清音的自相关函数没有明显的峰值出现。因此检测自相关函数是否有峰值就可以判断是清音还是浊音,而峰-峰值之间对应的就是基音周期。

影响从自相关函数中正确提取基音周期的最主要原因是声道响应。当基音的周期性和共振峰的周期性混在一起时,被检测出来的峰值可能会偏离原来峰值的真实位置。另外,在某些浊音中,第一共振频率可能会等于或低于基音频率。此时,如果其幅度很高,它就可能在自相关函数中产生一个峰值,而该峰值又可以同基音频率的峰值相比拟。

1、自相关函数

对于离散的语音信号x(n),它的自相关函数定义为:

R(k)=Σx(n)x(n-k),

如果信号x(n))具有周期性,那么它的自相关函数也具有周期性,而且周期与信号x(n) 的周期性相同。自相关函数提供了一种获取周期信号周期的方法。在周期信号周期的整数倍上,它的自相关函数可以达到最大值,因此可以不考虑起始时间,而从自相关函数的第一个最大值的位置估计出信号的基音周期,这使自相关函数成为信号基音周期估计的一种工具。

2、短时自相关函数

语音信号是非平稳的信号,所以对信号的处理都使用短时自相关函数。短时自相关函数是在信号的第N个样本点附近用短时窗截取一段信号,做自相关计算所得的结果

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

基音周期检测ACF算法及MATLAB仿真
变化轨迹 曲线 , 或者是尽量相吻合 的轨迹 曲线。因为 它的重要性 , 基音的检测提取一直是一个研究 的课题。 为此提出了各种各样的基音检测算法 , 自相关 函数 如
工频的干扰 ; 高端截止频率设 为 90 z 0H 既可除去大部
能保留其一二次谐波。 2 2 分帧 .
分共振峰影响 , 又可 以当基音最高频率为 40 z 5 H 时仍
倍 , 般 窗长选 为 1ms 2ms 一 0 一0 。 23 短 时能量 分析 .
得计算量增大。窗 口长度至少要大于基音周期的两
析、 相关计算、 自 基音周期估计 。
2 1 带通 滤波 .
由于在某些浊音 中, 第一共振峰频率可能会等于
或低于基音频率。此 时, 如果其幅度很高 , 它就可能在

就被称为一“ 。 帧” 一般要采用交叠分段 的方法 , 这是 为了使帧与帧之间平滑过渡 , 保持其连续性。前一帧
段具体的语音信号进行滤波、 采样、 分帧、 求短时 自
窗口长度的选择非常重要 , 窗长过短会使得分析窗内
相关函数 , 较准确地得到浊音语音信号的基音周期。
2 基 于 自相关 函数 的基音周 期 检测原 理
21 0 1年 2月
湖北第二师范学 院学报
Ju nlo b iUnv ri f u a o o ra fHu e iest o c t n y Ed i

(完整word版)基于matlab的语音信号分析与处理

(完整word版)基于matlab的语音信号分析与处理

基于matlab的语音信号分析与处理

摘要:滤波器设计在数字信号处理中占有极其重要的地位,FIR数字滤波器和IIR 滤波器是滤波器设计的重要组成部分。Matlab功能强大、编程效率高, 特别是Matlab具有信号分析工具箱,不需具备很强的编程能力,就可以很方便地进行信号分析、处理和设计。基于MATLAB有噪音语音信号处理的设计与实现,综合运用数字信号处理的理论知识对加噪声语音信号进行时域、频域分析和滤波。使用窗函数法来设计FIR数字滤波器,用巴特沃斯、切比雪夫和双线性变法设计IIR 数字滤波器,并利用MATLAB作为辅助工具完成设计中的计算与图形的绘制。关键词:数字滤波器;MATLAB;切比雪夫

Abstract:Filter design in digital signal processing plays an extremely important role, FIR digital filters and IIR filter is an important part of filter design. Matlab is powerful, programming efficiency, Matlab also has a particular signal analysis toolbox, it need not have strong programming skills can be easily signal analysis, processing and design. MATLAB based on the noise issue speech signal processing design and implementation of digital signal processing integrated use of the theoretical knowledge of the speech signal plus noise, time domain, frequency domain analysis and filtering. The corresponding results obtained through theoretical derivation, and then use MATLAB as a programming tool for computer implementation.Implemented in the design process, using the window

基于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月,MATLAB

6.0版问世,在操作页面上有了很大改观,为用户的使用提供了很大方便,在计算机性能方面,速度变的更快,性能也更好,在图形界面设计上更趋合理,与C语言接口及转换的兼容性更强,与之配套的Simulink4.0版的新功能也特别引人注目;2001年6月推出的MATLAB6.1版及Simulink4.1版,功能已经十分强大;2002年6月推出的MATLAB6.5版及Simulink5.0版,在计算方法、图形功能、用户界面设计、编程手段和工具等方面都有了重大改进;2004年,MathWorks公司推出了最新的MA TLAB

基于MATLAB的语音信号的清、浊音分析

基于MATLAB的语音信号的清、浊音分析

目录

1 语音信号概述 (1)

1.1 语音信号的基本组成 (1)

1.2 语音信号的“短时谱” (1)

1.3 基音周期 (2)

1.4 短时分析技术 (2)

2 语音信号的采集及清浊音分析 (2)

2.1 语音信号的采集 (2)

2.2 采样分帧 (3)

2.3短时能量和短时平均幅度 (4)

2.4短时过零率 (6)

2.5短时自相关函数 (8)

3 心得体会 (10)

主要参考资料 (10)

附录 (11)

1 语音信号概述

1.1 语音信号的基本组成

语音信号的基本组成单位是音素。音素可分成“浊音”和“清音”两大类。如果将不存在语音而只有背景噪声的情况称为“无声”。那么音素可以分成“无声”、“浊音”、“清音”三类。一个音节由元音和辅音构成。元音在音节中占主要部分。所有元音都是浊音。在汉语普通话中,每个音节都是由“辅音一元音”构成的。

在信号处理中,语音按其激励形式的不同可分为2 类:

(1)浊音

当气流通过声门时,如果声带的张力刚好使声带发生张弛振荡式的振荡,产生一股准周期的气流,这一气流激励声道就产生了浊音。这种语音信号是 1 种激励信号,它是由规则的全程激励产生的,其时域波形具有准周期性,语音频率集中在比较低的频率范围内,短时能量较高,由于语音信号中的高频成分有高的过零率而低频有低的过零率,因此浊音的过零率低。通常,浊音信号可以由周期激励通过线性滤波器合成。

(2)清音

当气流通过声门时,如果声带不振动,而在某处收缩,迫使气流高速通过这一收缩部分而产生湍流,就得到清音。清音是由不规则的激励产生的,发清音时声带不振动,其时域波形不具有周期性,自相关函数没有很强的自相关周期峰,其语音频率集中在较高的范围内,短时能量较低,因而过零率较高。通常,清音信号可由白噪声通过线性滤波器合成。1.2 语音信号的“短时谱”

基于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], 付青青;吴爱平

因版权原因,仅展示原文概要,查看原文内容请购买

两种基音周期检测方法

两种基音周期检测方法

基音周期中两种算法

常用的基音周期检测方法-自相关函数法、倒谱法、平均幅度差函数法都属于非基于事件基音检测方法,都先将语音信号分为长度一定的语音帧,然后对每一帧语音求平均基音周期,它们的优点是比较简单,主要应用于只需要平均基音周期作为参数的语音编解码,语音识别等。

自相关函数具有很好的抗噪性,但易受半频、倍频错误影响。平均幅度差函数只需加法、减法和取绝对值等计算,算法简单;它们在无背景噪声情况下可以精确地提取的语音基音周期,但在语音环境较恶劣、信噪比较低时,检测的结果很差,难以让人满意。

2.1 基于短时自相关函数的方法

能量有限的语音信号}{()s n 的短时自相关函数[10][11]定义为:

10()[()()][()()]N n m R s n m w m s n m w m τ

τττ--==++++∑ (2.1)

其中,τ为移位距离,()w m 是偶对称的窗函数。

短时自相关函数有以下重要性质:

①如果}{()s n 是周期信号,周期是P ,则()R τ也是周期信号,且周期相同,即()()R R P ττ=+。

②当τ=0时,自相关函数具有最大值;当0,,2,3P P P τ=+++…处周期信号的自相关函数达到极大值。

③自相关函数是偶函数,即()()R R ττ=-。

短时自相关函数法基音检测的主要原理是利用短时自相关函数的第二条性质,通过比较原始信号和它移位后的信号之间的类似性来确定基音周期,如果移位距离等于基音周期,那么,两个信号具有最大类似性。

在实际采用短时自相关函数法进行基音检测时,使用一个窗函数,窗不动,语音信号移动,这是经典的短时自相关函数法。窗口长度N 的选择至少要大于基音周期的两倍,N 越大,短时自相关函数波形的细节就越清楚,更有利于基音检测,但计算量较大,近年来由于高速数字信号处理器(DSP )的使用,从而使得这一算法简单有效,而不再采用结构复杂的快速傅里叶变换法、递归计算法等;

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

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

通信工程学院12级1班 罗恒 2012101032

实验二 基于MATLAB 的语音信号频域特征分析

一、 实验要求

要求根据已有语音信号,自己设计程序,给出其倒谱、语谱图的分析结果,并根据频域分析方法检测所分析语音信号的基音周期或共振峰。

二、 实验目的

信号的傅立叶表示在信号的分析与处理中起着重要的作用。因为对于线性系统来说,可以很方便地确定其对正弦或复指数和的响应,所以傅立叶分析方法能完善地解决许多信号分析和处理问题。另外,傅立叶表示使信号的某些特性变得更明显,因此,它能更深入地说明信号的各项红物理现象。

由于语音信号是随着时间变化的,通常认为,语音是一个受准周期脉冲或随机噪声源激励的线性系统的输出。输出频谱是声道系统频率响应与激励源频谱的乘积。声道系统的频率响应及激励源都是随时间变化的,因此一般标准的傅立叶表示虽然适用于周期及平稳随机信号的表示,但不能直接用于语音信号。由于语音信号可以认为在短时间内,近似不变,因而可以采用短时分析法。 三、 实验设备

1.PC 机;

2.MATLAB 软件环境;

四、 实验内容

1.上机前用Matlab 语言完成程序编写工作。

2.程序应具有加窗(分帧)、绘制曲线等功能。

3.上机实验时先调试程序,通过后进行信号处理。

4.对录入的语音数据进行处理,并显示运行结果。

5.依次给出其倒谱、语谱图的分析结果。

6. 根据频域分析方法检测所分析语音信号的基音周期或共振峰。

五、 实验原理及方法

1、短时傅立叶变换

由于语音信号是短时平稳的随机信号,某一语音信号帧的短时傅立叶变换的定义为:

语音信号基音频率的提取

语音信号基音频率的提取
五、pitch
语音信号基音频率的提取
一、综述
此matlab程序用于提取基音频率的提取。 人在发浊音时,气流通过声门使声带产生张驰振荡式振动, 产生一股准周期脉冲气流,这一气流激励声道就产生浊音, 又称有声语音,它携带着语音中的大部分能量。这种声带 振动的频率称为基频。 在语音信号处理中,语音信号参数提取的准确性非常重要。 只有获得准确的参数,才能利用这些参数进行高效的处理, 而在许多参数提取中,基音周期的提取尤为重要,广泛地 应用于语音压缩编码、语音分析合成以及语音识别等方面, 所以,准确可靠地估计并提取基音周期对语音信号处理至 关重要 。它直接影响到合成语音是否真实再现原始语音 信号,影响到语音识别的识别率,影响到语音压缩编码的 正确率。
%输入一个序列,如果 相邻两个点异号,统计 数字加1 %这个结果可以作为判 断是否是噪音的一个依 据 %当count足够大时就可 以认为是噪音
谢谢观赏
Happy Labor Day
@WPS官方微博 @kingsoftwps
首先求出序列s的最大值maxvalue然后如果序列中的一个点比相邻两个点都大而且还大于maxvalue的t倍就把这个点的位置存放在序列mi中在序列mi最后再补上序列的最后一个点考虑到第一个点和最后一个点有可能满足要求但这两个点都不能跟旁边的比较所以还是把这两个点保留了放在mi序列的第一个和最后一个functionzczerocrossllengths
  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:320

sum=0;

for m=1:N

sum=sum+abs(y1(m)-y1(m+k-1));%计算自相关end

A(k)=sum;

end

s=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 的定义为:

相关文档
最新文档