短时自相关函数法基音检测

上传人:mg****85 文档编号:37106280 上传时间:2018-04-07 格式:DOC 页数:6 大小:114KB
返回 下载 相关 举报
短时自相关函数法基音检测_第1页
第1页 / 共6页
短时自相关函数法基音检测_第2页
第2页 / 共6页
短时自相关函数法基音检测_第3页
第3页 / 共6页
短时自相关函数法基音检测_第4页
第4页 / 共6页
短时自相关函数法基音检测_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《短时自相关函数法基音检测》由会员分享,可在线阅读,更多相关《短时自相关函数法基音检测(6页珍藏版)》请在金锄头文库上搜索。

1、专业班级专业班级 08 级信息工程 组别组别 成员成员 1、引言引言 人在发浊音时,气流通过声门使声带产生张弛振荡式振动,产生一股准周期脉冲气流,这 一气流激励声道就产生浊音,又称有声语音,它携带着语音中的大部分能量。这种声带振动的 频率称为基频,相应的周期就称为基音周期( Pitch) ,它由声带逐渐开启到面积最大(约占基音 周期的 50% ) 、逐渐关闭到完全闭合(约占基音周期的 35% ) 、完全闭合(约占基音周期的 15% )三部分组成。 当今主流的基音周期检测技术主要有时域的自相关法、频域的倒谱法、时频结合的小 波变换分析方法以及在其基础上的衍生算法。本文所采用的方法是自相关法2设计

2、思路 (1)自相关函数 对于离散的语音信号 x(n),它的自相关函数定义为:R(k)=x(n)x(n-k), 如果信号 x(n)具有周期性,那么它的自相关函数也具有周期性,而且周期与信号 x(n)的周 期性相同。自相关函数提供了一种获取周期信号周期的方法。在周期信号周期的整数倍上, 它的自相关函数可以达到最大值,因此可以不考虑起始时间,而从自相关函数的第一个最 大值的位置估计出信号的基音周期,这使自相关函数成为信号基音周期估计的一种工具。 (2)短时自相关函数 语音信号是非平稳的信号,所以对信号的处理都使用短时自相关函数。短时自相关函数是 在信号的第 N 个样本点附近用短时窗截取一段信号,做自

3、相关计算所得的结果Rm(k)=x(n)x(n-k)式中,n 表示窗函数是从第 n 点开始加入。3、程序代码 function pitchx=wavread(E:luyinwkxp.wav);%读取声音文件 figure(1);stem(x,.); %显示声音信号的波形n=160; %取20ms的声音片段,即160个样点for m=1:length(x)/n; %对每一帧求短时自相关函数for k=1:n;Rm(k)=0;for i=(k+1):n;Rm(k)=Rm(k)+x(i+(m-1)*n)*x(i-k+(m-1)*n);endendp=Rm(10:n); %防止误判,去掉前边10个数值较

4、大的点 Rmax,N(m)=max(p); %读取第一个自相关函数的最大点end %补回前边去掉的10个点 N=N+10;T=N/8; %算出对应的周期figure(2);stem(T,.);axis(0 length(T) 0 10);xlabel(帧数(n);ylabel(周期(ms);title(各帧基音周期);T1= medfilt1(T,5); %去除野点 figure(3);stem(T1,.);axis(0 length(T1) 0 10);xlabel(帧数(n);ylabel(周期(ms);title(各帧基音周期);4、运行结果与分析 (1) 运行x=wavread(E:l

5、uyinwkxp.wav);%读取声音文件 figure(1);stem(x,.); %显示声音信号的波形得到的波形如下图 1原来的声音文件时长为 t=5s,采样率为 8kHZ。故总共有 5*8k=40000 个采样点(如图所示) 。图中的三个波形分别对应 a,o,e(2) 运行n=160; %取20ms的声音片段,即160个样点for m=1:length(x)/n; %对每一帧求短时自相关函数for k=1:n;Rm(k)=0;for i=(k+1):n;Rm(k)=Rm(k)+x(i+(m-1)*n)*x(i-k+(m-1)*n);endendp=Rm(10:n); %防止误判,去掉前边

6、10个数值较大的点 Rmax,N(m)=max(p); %读取第一个自相关函数的最大点end %补回前边去掉的10个点 N=N+10;T=N/8; %算出对应的周期figure(2);stem(T,.);axis(0 length(T) 0 10);xlabel(帧数(n);ylabel(周期(ms);title(各帧基音周期);得到的结果为:图 2由第一步可知 40000 个样点,一共有 250 帧(每帧 160 个样点) ,对应着图中的横坐标由图中可以看出基音周期大约为 7ms.但是图中存在太多的野点,为此,需要对此进行进一 步的处理,即去除野点 (3)去除野点 运行T1= medfilt

7、1(T,5); %去除野点 figure(3);stem(T1,.);axis(0 length(T1) 0 10);xlabel(帧数(n);ylabel(周期(ms);title(各帧基音周期);运行结果如下图 35、设计中遇到的问题与心得 (1)设计中遇到的问题: 由于每一帧做短时自相关时,Rm(k)开始的几个点的值比第一个周期的峰值还大,因此无 法正常提取出第一个峰值对应的点。开始程序的运行结果如下:图 4于是经过和同学讨论之后决定舍弃 Rm 开始几个值较大的点,于是运行结果就正常了图 5(2)心得体验: 短时自相关函数法基音检测的主要原理是通过比较原始信号和它移位后的信号之间的 类似

8、性来确定基音周期,如果移位距离等于基音周期,那么两个信号具有最大类似性。基于自 相关函数的算法是基音周期估计的常用方法,特别适用于噪声环境下的基音提取。自相关函 数在基音周期处表现为峰值,相邻两个峰值之间的间隔即为一个基音周期。 但是短时自相关函数法也存在以下缺点: 倍频现象 通常情况下,基波分量往往不是最强的分量,丰富的谐波成分使语音信号的波形变得非常 复杂,给基音检测带来了困难,经常发生基频估计结果为其实际基音频率的二次倍频或二次分 频的情况。加之还有清浊混杂等情况,使基音检测成为一大难题。 如图 5 ( a)是一帧语音信号,图 4 ( b)是这帧语音信号的自相关函数,可以看出自相关函数

9、在基音周期处表现为峰值,这些峰值点之间的间隔的平均值就是基音周期,如图 6 ( b)所示可 以看出自相关函数检测出的基音周期是原始信号基音周期的一半,这是由于谐波峰值点(箭 头所示)的影响,这就是上述缺点中所说的倍频现象。 图 6图 7运算量大,效率低下 无论是对随机的语音信号还是对离散的信号进行处理,只要是使用自相关函数对信号 进行周期估计,必然涉及大量的乘法运算。虽然经过实验证明,自相关函数法是一种简单 而且有效的方法,但是大量的乘法运算严重影响算法的效率。然而从估计基音周期的角度 看,短时自相关函数所包含的信息许多是多余的,真正能反映基音周期性的只是少数几个 峰,而其余的大多数峰都是由于声道的谐振特性引起的。为此,可以用三电平削波法来突 现反映基音周期的信息,同时压缩与共无关的信息。三电平法具体的方法就不在此详细说 明了。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号