基于自相关法的语音基音周期估计

合集下载

语音信号处理15.ppt

语音信号处理15.ppt
3.6 基音周期估值
基音周期估值在语音信号处理应用中具有十分 重要的作用。本节介绍语音信号基音周期估值 最基本的两种方法:
基于短时自相关法的基音周期估值 基于短时平均幅度差函数法的基音周期 估值
1
3.6 基音周期估值
1. 基于短时自相关法的基音周期估值
语音的浊音信号具有准周期性,其自相关函 数在基音周期的整数倍处取最大值。计算两相邻 最大峰值间的距离,就可以估计出基音周期。
因此,可以通过计算短时平均幅度差函数中两相邻
谷值间的距离来进行基音周期估值。
这里使用修正的短时平均幅度差函数并加矩形窗,
得到:
N 1
rn (k) | x(n) x(n k) |, k 0,1, , N -1 (3.6-3)
n0
10
3.6 基音周期估值
图3.6-7 浊音信号的AMDF
11
3.6 基音周期估值
AMDF函数与短时自相关函数的不同是:
自相关函数进行基音周期估计时寻找的是最大峰值点的位置 AMDF寻找的是它的最小谷值点的位置
由于清音没有周期性,所以它的自相关函数和平均幅度差 函数均不具有准周期性的峰值或谷值。
12
基音周期估值的后处理
在提取基音时,无论采用哪种方法提取的基音频率 轨迹与真实的基音频率轨迹都不可能完全吻合。
图3.6-3 中心削波前后修正自相关函电平削波 为了克服短时自相关函数计算量大的问题,在中
心削波法的基础上,还可以采用三电平削波法,削波 函数如下式
1 f (x) 0
1
x xL xL x xL x xL
(3.6-2)
f(x)
1
-xL
O xL
x
-1
图3.6-4 三电平削波函数

自相关函数法基音周期提取(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))jiaocha=ii;endii=ii+1;if ii==length(r) %没有找到符合要求的点jiaocha=1;endendif length(zer)>0 %检查是否存在零点if zer(1)<jiaocha %存在,则和jiaocha比较大小,用于祛除前点的对基音周期的查找带来的影响jiaocha=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)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)。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

一种基于简单自相关的基音周期搜索算法

一种基于简单自相关的基音周期搜索算法

一种基于简单自相关的基音周期搜索算法王孝欣;高守玮;袁舰;余盈宽;崔徐佳【期刊名称】《工业控制计算机》【年(卷),期】2015(0)5【摘要】This paper proposes a simple autocorrelation algorithm based on the pitch search in efficient speech codec algorithm. The algorithm select the original signal by setting a threshold which makes the sample number lower 60%,lowers the com-plexity and guarantees the quality of synthetic speech.%高效语音编解码算法在各方面表现优异,但算法复杂度较高,应用到处理能力差的系统上遇到较大问题,故在保证合成语音质量的基础上减低算法预算量具有较大意义。

针对高效语音编解码算法中运算量较大的的基音周期搜索算法提出一种简单自相关算法。

该算法通过设置一个合适的门限值,对原始语音信号进行筛选,使得参与自相关运算的样本点数降低60%,从而大大降低自相关运算量,并较大程度上保证了合成语音质量。

通过对语音编解码仿真证明,应用我们的简单基音周期搜索算法,合成语音信号清晰可懂,编解码运算量大大降低。

【总页数】4页(P71-73,76)【作者】王孝欣;高守玮;袁舰;余盈宽;崔徐佳【作者单位】上海大学机电工程与自动化学院,上海 200072;上海大学机电工程与自动化学院,上海 200072;上海大学机电工程与自动化学院,上海 200072;上海大学机电工程与自动化学院,上海 200072;上海大学机电工程与自动化学院,上海 200072【正文语种】中文【相关文献】1.一种基于倒谱法的基音周期检测改进算法 [J], 张景扩;彭龑2.一种基于线性预测与自相关函数法的语音基音周期检测新算法 [J], 柏静;韦岗3.一种小波变换与自相关结合的基音周期检测法 [J], 赵知劲;吴杰4.基于Matlab的一种基音周期检测算法 [J], 宋建华;朱勇;徐军;张圣贤5.一种改进的基于小波变换的基音周期提取算法 [J], 曹清华;王亮因版权原因,仅展示原文概要,查看原文内容请购买。

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

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

语音信号处理课程实验报告专业班级通信学号姓名指导教师实验名称 用修正的短时自相关检测语音的基音周期 同组人 专业班级通信 学号 姓名 成绩 一、实验目的 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、谱图法、小波法等等。

基于自相关函数法的语音基音周期的检测

基于自相关函数法的语音基音周期的检测

基于自相关函数法的语音基音周期的检测
方臻成
【期刊名称】《科学与财富》
【年(卷),期】2014(000)009
【摘要】语音的基音周期是指人说话时声带振动的周期,它是语音信号的一个重
要参数,广泛运用在语音识别、说话人识别、发音系统诊断、语言指导等多个领域。

因此,准确的提取语音信号的基音周期显得尤为重要。

本文针对基音周期检测,介绍了一种较为简单的方法---自相关函数法。

【总页数】1页(P203-203)
【作者】方臻成
【作者单位】华南理工大学电子与信息学院,广州市,510641
【正文语种】中文
【相关文献】
1.基于改进小波变换的语音基音周期检测 [J], 吴兴铨;周金治
2.一种基于线性预测与自相关函数法的语音基音周期检测新算法 [J], 柏静;韦岗
3.基于LPC的藏语语音基音周期的检测分析 [J], 马英;陈超;贾国庆
4.基于自相关函数的藏语语音基音周期检测 [J], 李积逊;余玲梅
5.基于倒谱分析法的藏语语音基音周期检测 [J], 李积逊;范武英
因版权原因,仅展示原文概要,查看原文内容请购买。

自相关函数法基音周期提取(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))<>。

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

综合实验报告
自相关法及其变种
学院电子与信息学院专业信息与信号处理学生姓名
学生学号
提交日期2013年7月10日
一、实验目标
1.1 了解语音基音周期估计方法,掌握自相关法估计基音周期的原理,分析其变种。

二、实验基础知识
2.1 基音与基音周期估计
人在发音时,根据声带是否震动可以将语音信号分为清音跟浊音两种。

浊音又称有声语言,携带者语言中大部分的能量,浊音在时域上呈现出明显的周期性;而清音类似于白噪声,没有明显的周期性。

发浊音时,气流通过声门使声带产生张弛震荡式振动,产生准周期的激励脉冲串。

这种声带振动的频率称为基音频率,相应的周期就成为基音周期。

基音周期的估计称谓基音检测,基音检测的最终目的是为了找出和声带振动频率完全一致或尽可能相吻合的轨迹曲线。

基因周期作为语音信号处理中描述激励源的重要参数之一,在语音合成、语音压缩编码、语音识别和说话人确认等领域都有着广泛而重要的问题,尤其对汉语更是如此。

汉语是一种有调语言,而基因周期的变化称为声调,声调对于汉语语音的理解极为重要。

因为在汉语的相互交谈中,不但要凭借不同的元音、辅音来辨别这些字词的意义,还需要从不同的声调来区别它,也就是说声调具有辨义作用;另外,汉语中存在着多音字现象,同一个字的不同的语气或不同的词义下具有不同的声调。

因此准确可靠地进行基音检测对汉语语音信号的处理显得尤为重要。

2.2 基音周期估计的现有方法
到目前为止,基音检测的方法大致上可以分为三类:
1)时域估计法,直接由语音波形来估计基音周期,常见的有:自相关法、并行处理法、平均幅度差法、数据减少法等;
2)变换法,它是一种将语音信号变换到频域或者时域来估计基音周期的方法,首先利用同态分析方法将声道的影响消除,得到属于激励部分的信息,然后求取基音周期,最常用的就是倒谱法,这种方法的缺点就是算法比较复杂,但是基音估计的效果却很好;
3)混合法,先提取信号声道模型参数,然后利用它对信号进行滤波,得到音源序列,最后再利用自相关法或者平均幅度差法求得基因音周期。

三、实验原理
3.1 自相关函数
能量有限的语音信号x(n)的短时自相关函数定义为:
此公式表示一个信号和延迟m 点后该信号本身的相似性。

如果信号x(n)具有周期性,
那么它的自相关函数也具有周期性,而且周期与信号x(n)的周期性相同。

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

在周期信号周期的整数倍上,它的自相关函数可以达到最大值,因此可以不考虑起始时间,而从自相关函数的第一个最大值的位置估计出信号的基音周期,这使自相关函数成为信号基音周期估计的一种工具。

3.2 短时自相关函数法
语音信号是非稳态信号它的特征是随时间变化的,但在一个很短的时间段内可以认为具
有相对稳定的特征即 短时平稳性。

因此语音具有短时自相关性。

这个时间段约5ms-50ms 。

为其统计特性和频谱特性都是对短时段而言的。

这使得要对语音信号作数字处理必须先按短时段对语音信号分帧。

这样每一帧信号都具有短时平稳性从而进行短时相关分析。

能量有限的语音信号s(n)的短时自相关函数定义为:
()()()
n n R m x n x n m =+∞=-∞=+∑10()[()()][()()]N n m R s n m w m s n m w m τ
τττ--==
++++∑
一般要求一帧至少包含2个以上的周期。

而且相邻帧之间要有足够的重叠。

3.3 自相关方法变种
3.3.1 中心削波
由于语音信号与声道特性影响有关,有的情况下即使窗长已选得足够长,第一最大峰值点与基音仍不一致,这就是声道特性的共振峰特性造成的“干扰”。

实际上影响从自相关函数中正确提取基音周期的最主要的因素就是声道响应部分。

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

另外,某些浊音中,第一共振峰频率可能会等于或低于基音频率。

此时,如果其幅度很高,它就可能在自相关函数中产生一个峰值,而该峰值又可以同基音频率的峰值相比拟,从而给基音检测带来误差。

为了提高基音周期检测的可靠性,采用中心削波法对原始信号进行预处理。

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

图1给出了中心削波处理后的结果。

中心削波后,再用自相关检测出基音频率,错判为倍频或分频的情况就可以大大减少了。

中心削波法实质上是对信号做非线性处理,它消除语音信号的低幅值部分,而保留高振幅的峰值,从而能有利于信号的基音周期估计。

图1 中心削波处理
经过中心削波后的信号,削去了大部分与声道响应有关的波动,只保留了超过削波电平的部分。

对中心削波后的语音信号计算自相关函数,这样在基音周期位置呈现大而尖的峰值,而其余的次要峰值幅度都很小。

3.3.2 三电平削波
由自相关函数表达式可知,自相关需要大量的乘法运算,算法的运行效率低。

结合自相关函数法和中心削波法对信号做基音周期估计,并在不影响基音周期估计准确性的前提下,用两个信号的互相关序列代替自相关序列而避免了大量的乘法运算,有效地提高了算法的运行效率。

图2 显示的是经过三电平削波后的信号。

原始输入的语音信号经过三电平削波后的信号
图2 经过三电平削波后的信号
显然x(n)只有-1,0,1 三种可能的取值。

自相关中的乘法运算都变成了加减运算,使得算法的效率得到大幅度的提高。

3.3.3 基于时域自相关平方函数
第一峰值点的位置非常重要,峰值越尖锐则确定的位置就越准确。

求短时自相关函数的平方:
它们周期一致,但平方后在峰值处波形尖锐尤为明显。

图3示为某女性发元音[a]的波形/短时自相关函数及短时自相关平方函数波形.
图3 某女性发元音[a]的波形/短时自相关函数及短时自相关平方函数波形
3.4 短时能量分析
语音信号{x(n)}的某帧信号的短时平均能量En的定义为:
式中,w(n)为窗函数,N为窗长,h(n)= w2(n),则有
根据E由高到低的跳变可定出浊音变为清音语音的时刻,E由低向高的跳变可定出清音变为
浊音语音的时刻,又由于只有浊音才有基音周期,清音的基音周期为零,这样就可判别出清、浊音。

图4 男声“确定”的语音波形及其局部短时能量
四、结果与分析
检测流程如下:我们先通过Matlab实现,然后再通过C++实现。

图5 基于自相关函数的基因周期检测流程
实验采用一段男声读“播放”两个字的声音wav文件,其为16KHz采样率,16bit量化。

整段语音长656.7ms,节点共10508个。

图6 男声读“播放”两个字的声音文件
4.1 滤波
将滤波器低端截止频率设为60Hz,这是因为可以抑制50Hz电源工频的干扰;高端截止频率设为900Hz既可除去大部分共振峰影响,又可以当基音最高频率为450Hz时仍能保留其一二次谐波。

图7 经过滤波器后的语音信号
4.2 不同帧长
窗口长度至少要大于基音周期的两倍。

一般,基频最低50Hz,故周期最长为20ms,再根据采样率确定帧长。

图8 截取不同帧长的语音信号
4.3 清浊音区分
这里我们通过计算短时能量来区分清浊音,结果如图9所示。

图9 清、浊音短时能量图
4.4 平滑
去除野点。

图10 平滑后的结果
五、总结
.
通过本次课程实验设计,我们从中学习了语音信号处理的一些基本知识,了解了基音周期的相关概念和现有的基因周期估计方法,重点掌握了自相关法估计基音周期的原理以及其变种。

尤其是在基因周期估计后,利用平滑处理的方法对实验结果中存在的“野点”进行处理,是在以后的学习中应特别注意的地方。

本次实验设计得益于贺老师课堂耐心细致的授课辅导和助理师兄何伟俊的悉心帮助以及邹晓艺同学的热心帮助,在此表示特别感谢!
--。

相关文档
最新文档