基于短时自相关函数法的基音周期检测
- 格式:docx
- 大小:238.15 KB
- 文档页数:14
语音信号的自相关基音周期检测
赵萍
【期刊名称】《上海电力学院学报》
【年(卷),期】2011(027)003
【摘要】自相关基音周期检测是语音信号处理的关键技术,除了保证信号处理的质量外还要注重算法的效率.通过短时自相关函数得到浊音语音的基音周期,在自相关运算过程中采用极性相关法和峰值估算法以提高运算效率.
【总页数】4页(P297-300)
【作者】赵萍
【作者单位】上海电力学院计算机与信息工程学院,上海200090
【正文语种】中文
【中图分类】TM912.34
【相关文献】
1.基于自相关函数法的语音基音周期的检测 [J], 方臻成
2.基于三阶累积量的语音信号的基音周期检测 [J], 史笑兴;于慧敏
3.基于自相关的语音基音周期检测方法研究 [J], 李永宁
4.基于自相关函数的藏语语音基音周期检测 [J], 李积逊;余玲梅
5.基于小波变换和空域相关函数的基音周期检测及其在DSP上的实现 [J], 陈宁;胡安峰;赖旭芝
因版权原因,仅展示原文概要,查看原文内容请购买。
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)。
语音信号处理实验报告实验二:语音信号的基音周期估计学院:电子与信息学院专业:信息工程姓名学号:提交日期:2014.4.29实验二:语音信号基音周期估计1、 实验内容从一段语音信号中估计出其基音周期。
基音是指法浊音是声带振动所引起的周期性,而基因周期是指声带振动频率的倒数。
2、 实验方法尽管基音检测有许多困难,但因为它的重要性,基音的检测提取一直是一个研究的课题,为此提出了各种各样的基音检测算法,如自相关函数(ACF)法、峰值提取算法(PPA)、平均幅度差函数(AMDF)法、并行处理技术、倒谱法、SIFT 、谱图法、小波法等等。
2.1、短时自相关法对于离散的语音信号x(n),它的自相关函数定义为:R(k)=Σx(n)x(n-k), 如果信号x(n))具有周期性,那么它的自相关函数也具有周期性,而且周期与信号x(n)的周期性相同。
自相关函数提供了一种获取周期信号周期的方法。
在周期信号周期的整数倍上,它的自相关函数可以达到最大值,因此可以不考虑起始时间,而从自相关函数的第一个最大值的位置估计出信号的基音周期,这使自相关函数成为信号基音周期估计的一种工具。
语音信号是非平稳的信号,所以对信号的处理都使用短时自相关函数。
短时自相关函数是在信号的第N 个样本点附近用短时窗截取一段信号,做自相关计算。
短时自相关运算定义为下式:1()()()N k n nnm R k S m S m k --==+∑2.2、平均幅度差函数法语音信号的短时平均幅度差函数Fn (k )定义为1()|()()|N k n nnm F k S m k S m --==+-∑与短时自相关函数一样,对周期性的浊音一样,Fn (k )也呈现与浊音语音周期一致的周期特性,不过不同的是Fn (k )在周期的各个整数倍点上具有是谷值特性而不是峰值特性,因而通过Fn (k )的计算同样可以确定基音周期。
线性加权短时平均幅度差(W-AMDF )的定义:11()|()()|1N k nw n n m F k S m k S m N k --==+--+∑2.3、实验过程2.3.1自相关法(ACF )1、录取一段录音,采样率8K ,单声道2、用MATLAB 的wavread 函数把录音都进来并进行归一化处理3、对语音信号进行预加重4、对语音信号进行截止频率为1000Hz 的低通滤波,然后进行分帧处理5、对每帧语音进行三电平削波处理6、对每帧分别计算短时自相关运算,去除每帧前十个点后再求最大值7、利用最大值对应的序号N 来确定基音的周期2.3.2短时平均幅度差法(W-ADMF ) 1、录取一段录音,采样率8K ,单声道2、用MATLAB 的wavread 函数把录音都进来并进行归一化处理3、对语音信号进行预加重4、对语音信号进行截止频率为1000Hz 的低通滤波,然后进行分帧处理5、对每帧语音进行三电平削波处理6、对每帧分别计算线性加权短时平均幅度差运算,去除每帧前、后5个点后再求最小值M1和第二最小值M27、利用abs (M2-M1)来确定基音的周期短时自相关法(W-ADMF)短时平均幅度差法4.1结果分析根据自相关法和平均幅度差两种方法的结果对比,提取出来的基音周期大小有点差异,但是基本都相同。
基于自相关函数法的语音基音周期的检测
方臻成
【期刊名称】《科学与财富》
【年(卷),期】2014(000)009
【摘要】语音的基音周期是指人说话时声带振动的周期,它是语音信号的一个重
要参数,广泛运用在语音识别、说话人识别、发音系统诊断、语言指导等多个领域。
因此,准确的提取语音信号的基音周期显得尤为重要。
本文针对基音周期检测,介绍了一种较为简单的方法---自相关函数法。
【总页数】1页(P203-203)
【作者】方臻成
【作者单位】华南理工大学电子与信息学院,广州市,510641
【正文语种】中文
【相关文献】
1.基于改进小波变换的语音基音周期检测 [J], 吴兴铨;周金治
2.一种基于线性预测与自相关函数法的语音基音周期检测新算法 [J], 柏静;韦岗
3.基于LPC的藏语语音基音周期的检测分析 [J], 马英;陈超;贾国庆
4.基于自相关函数的藏语语音基音周期检测 [J], 李积逊;余玲梅
5.基于倒谱分析法的藏语语音基音周期检测 [J], 李积逊;范武英
因版权原因,仅展示原文概要,查看原文内容请购买。
太原理工大学现代科技学院语音信号处理课程实验报告专业班级学号姓名指导教师实验名称 语音修正的短时自相关的实践 同组人 专业班级 学号 姓名 成绩实验二 语音修正的短时自相关的实践 一、实验目的 1、熟悉语言修正自相关的意义。
2、充分理解取不同窗长时的语言的修正自相关的变化情况。
3、熟悉Matlab 编程语言在语言信号处理中的作用。
4、能够实现程序的重新编制。
二、实验原理 对于语音来说,采用短时分析方法,语音短时自相关函数为∑--=+'++'+=kN m n m k w k m n x m w m n x k R 10)]()()][()([)(但是,在计算短时自相关时,窗选语音段为有限长度N ,而求和上限为,因此当增加时可用于计算的数据就越来越少了,从而导致增加时自相关函数的幅度减小。
为了解决这个问题,提出了语音修正的短时自相关。
修正的短时自相关函数,其定义如下:∑+∞-∞=--+-=m n k m n w k m x m n w m x k R )()()()()(21若令m n m '+=,代入(2-2)中得到∑+∞-∞='-'-+'+'-'+=m nk m w k m n x m w m n x k R )()()()()(ˆ21定义)()(ˆ)()(ˆ2211m w m wm w m w-=-=则有∑+∞-∞=++++=m nk m w k m n x m wm n x k R )(ˆ)()(ˆ)()(ˆ21⎩⎨⎧-≤≤=其他0101)(ˆ1N n m w⎩⎨⎧+-≤≤=其他k101)(ˆ2N n m w式中,K 为k 的最大值,即。
由式(2-5)可知要使为非零值,必须使,考虑到,可得,故式(2-4)可以写成:……………………………………装………………………………………订…………………………………………线………………………………………∑-=+++=1)()()(ˆN m nk m n x m n x k R三、实验要求 1、实验前自己用Cool Edit 音频编辑软件录制声音,并把它保存为.txt 文件。
太原理工大学现代科技学院课程实验报告专业班级学号姓名指导教师实验名称 同组人 专业班级 学号 姓名 成绩 一.实验目的 1.熟悉前一个实验程序以及中心削波的意义。
. 2.用Matlab 实现用修正的短时自相关检测语音的基音周期。
3.分析修正的短时自相关在基音周期检测中的应用。
4.能够对程序进行重新编制。
二.实验原理 如果x(n) 是一个周期为P 的信号,则其自相关函数也是周期为P 的信号,且在信号周期的整数倍处,自相关函数取最大值。
语音的浊音信号具有准周期性,其自相关函数在基音周期的整数倍处取最大值。
计算两相邻最大峰值间的距离,就可以估计出基音周期。
观察浊音信号的自相关函数图,其中真正反映基音周期的只有少数几个峰,而其余大多数峰都是由于声道的共振特性引起的。
因此为了突出反映基音周期的信息,同时压缩其他无关信息,减小运算量,有必要对语音信号进行适当预处理后再进行自相关计算以获得基音周期。
第一种方法是先对语音信号进行低通滤波,再进行自相关计算,因为语音信号包括十分丰富的谐波分量,基音频率的范围分布宰0~500Hz 左右,即使女高音升c 调最高也不会超过1Kz ,所以采用1Kz 的低通滤波器先对语音信号进行滤波,保留基音频率,再用2Kz 采样频率进行采样;最后用2~20ms 的滞后时间计算短时自相关,帧长取10~20ms ,即可估计出基音周期。
且中心削波函数如式(3-1) ……………………………………装………………………………………订…………………………………………线………………………………………一般削波电平 X L取本帧语音幅度的60%~70%。
将削波后的序列 f(x) 用短时自相关函数估计基音周期,在基音周期位置的峰值更加尖锐,可以有效减少倍频或半频错误。
三.实验要求1.实验前自己用Cool Edit 音频编辑软件录制浊音部分,并把它保存为.txt文件。
2.分别取长度N=160和N’=N+K的矩形窗函数作用于语音信号上,首先对其进行中心削波,比较削波前和削波后语音信号波形,并使得削波后的信号进行乘积并求和,计算延迟为0<K<160时的相关值,并且用得到的相关值来检测语音信号的基音周期,用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) ,它的目标是找出和声带振动频率完全一致的基音周期变化轨迹曲线,或者是尽量相吻合的轨迹曲线。
基音周期检测在语音信号的各个处理领域中,如语音分析与合成、有调语音的辨意、低速率语音压缩编码、说话人识别等都是至关重要的,它的准确性及实时性对系统起着非常关键的作用,影响着整个系统的性能。
一种语音信号基音周期时域估计算法作者:吴树兴来源:《电脑知识与技术》2019年第22期摘要:在语音识别和语音合成中,基频周期的准确估计是一项重要的语音处理环节。
自相关函数法是一种适用于低信噪比下的非常有效的基音周期估计算法,这种算法需要对信号相关后的峰值位置进行准确估计。
本文提出了一种峰值点位置判别方法,它可以对时域语音信号相关后的峰值点位置进行准确判断,从而比较准确地估计出语音信号的基频周期,并且复杂性不高,易于实现。
关键词:语音合成;基频周期;时域;自相关函数法;峰值估计中图分类号:TP247; ; ;文献标识码:A文章编号:1009-3044(2019)22-0214-03开放科学(资源服务)标识码(OSID): <E:\知网文件\电脑\电脑22-24\22\6xs201922\Image\image1_2.jpeg>A Time Domain Estimation Algorithm for Speech Signal Pitch PeriodWU Shu-xing(Beijing Information Technology College, Beijing 100015, China)Abstract: In speech recognition and speech synthesis, accurate estimation of the fundamental frequency period is an important part of speech processing. The autocorrelation function method is a very effective pitch period estimation algorithm suitable for low SNR. This algorithm needs to accurately estimate the peak position after signal correlation. In this paper, a method for judging the peak position is proposed, which can accurately judge the position of the peak point after the correlation of the time domain speech signal, so as to estimate the fundamental frequency period of the speech signal more accurately, and the complexity is not high and easy to implement.Key words: speech synthesis; fundamental frequency; period time domain; autocorrelation function method; peak estimation在語音信号处理技术中,基频周期的估计是一个非常重要的环节[1-2]。