自相关 基音检测

合集下载

一种基于小波包变换加权自相关的基音检测算法

一种基于小波包变换加权自相关的基音检测算法

一种基于小波包变换加权自相关的基音检测算法孙婷婷;章小兵【期刊名称】《计算机工程与科学》【年(卷),期】2017(39)8【摘要】Pitch detection in a noisy environment plays an important role in speech signal processing.In order to effectively extract the pitch period in low signal to noise ratio (SNR),we propose a weighted auto correlation method based on wavelet packet transform.We employ the wavelet packet adaptive threshold to eliminate noise signals,and use the summation of approximate components after wavelet packet transform to emphasize the pitch information.Then we use the method of linear prediction error autocorrelation function weighted by wavelet packet coefficients to emphasize the peak of the true pitch pared with the traditional methods based on autocorrelation function or wavelet-weighted,the experiments show that the proposed pitch extraction method has higher accuracy and smoother trajectory of pitch period.Moreover,it is robust when the SNR is-5dB.%噪声环境下的基音检测在语音信号处理中占有重要地位.为了有效提取低信噪比情况下的语音基音周期,提出了一种基于小波包变换加权线性预测自相关的检测方法.该方法首先利用小波包自适应阈值消除噪声,将多级小波包变换的近似分量求和以突出基音信息,并采用小波包系数加权线性预测误差自相关的方法突出基音周期处的峰值,提高了基音周期检测的精度.实验结果表明,与传统的自相关法、小波加权自相关法相比,该方法鲁棒性好,基音轨迹平滑,具有更高的准确性,即使在信噪比为—5dB时仍能取得较为理想的结果.【总页数】5页(P1525-1529)【作者】孙婷婷;章小兵【作者单位】安徽工业大学电气与信息学院,安徽马鞍山243000;安徽工业大学电气与信息学院,安徽马鞍山243000【正文语种】中文【中图分类】TN912.3【相关文献】1.基于小波变换和归一化自相关的基音检测算法 [J], 许钢;黄冰2.利用小波变换加权自相关的基音检测法 [J], 陈小利;徐金甫3.基于小波变换和自相关函数的基音频率检测算法 [J], 李飞鹏;张维强;徐晨4.提升小波加权自相关函数的基音检测算法 [J], 王晨;章小兵;刘美娟5.基于小波变换与平均幅度差函数倒数的基音周期检测算法 [J], 武良丹;因版权原因,仅展示原文概要,查看原文内容请购买。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

短时自相关函数法基音检测
专业班级08级信息工程组别
成员
1、引言
人在发浊音时,气流通过声门使声带产生张弛振荡式振动,产生一股准周期脉冲气流,这一气流激励声道就产生浊音,又称有声语音,它携带着语音中的大部分能量。这种声带振动的频率称为基频,相应的周期就称为基音周期( Pitch) ,它由声带逐渐开启到面积最大(约占基音周期的50% )、逐渐关闭到完全闭合(约占基音周期的35% )、完全闭合(约占基音周期的15% )三部分组成。
xlabel('帧数(n)');ylabel('周期(ms)');title('各帧基音周期');
运行结果如下
图3
5、设计中遇到的问题与心得
(1)设计中遇到的问题:
由于每一帧做短时自相关时,Rm(k)开始的几个点的值比第一个周期的峰值还大,因此无法正常提取出第一个峰值对应的点。开始程序的运行结果如下:
图4
于是经过和同学讨论之后决定舍弃Rm开始几个值较大的点,于是运行结果就正常了
图5
(2)心得体验:
短时自相关函数法基音检测的主要原理是通过比较原始信号和它移位后的信号之间的类似性来确定基音周期,如果移位距离等于基音周期,那么两个信号具有最大类似性。基于自相关函数的算法是基音周期估计的常用方法,特别适用于噪声环境下的基音提取。自相关函数在基音周期处表现为峰值,相邻两个峰值之间的间隔即为一个基音周期。
但是短时自相关函数法也存在以下缺点:
倍频现象
通常情况下,基波分量往往不是最强的分量,丰富的谐波成分使语音信号的波形变得非常复杂,给基音检测带来了困难,经常发生基频估计结果为其实际基音频率的二次倍频或二次分频的情况。加之还有清浊混杂等情况,使基音检测成为一大难题。
如图5( a)是一帧语音信号,图4( b)是这帧语音信号的自相关函数,可以看出自相关函数在基音周期处表现为峰值,这些峰值点之间的间隔的平均值就是基音周期,如图6( b)所示可以看出自相关函数检测出的基音周期是原始信号基音周期的一半,这是由于谐波峰值点(箭头所示)的影响,这就是上述缺点中所说的倍频现象。

基于短时自相关函数的基因周期检测讲解PPT

基于短时自相关函数的基因周期检测讲解PPT

什么是共振峰
• 共振峰是指在声音的频谱中能量相对集中的一 些区域,共振峰不但是音质的决定因素,而且 反映了声道(共振腔)的物理特征。 • 声音在经过共振腔时,受到腔体的滤波作用, 使得频域中不同频率的能量重新分配,一部分 因为共振腔的共振作用得到强化,另一部分则 受到衰减。由于能量分布不均匀,强的部分犹 如山峰一般,故而称之为共振峰。
matlab函数 y = medfilt1(x,n) x为输入序列;k为窗长,即套住的样点数,一般取3或5。y是中值滤波后 的输出序列。 设有一个一维序列f1,f2,…,fn,取窗口长度(点数)为m(m为奇数), 对其进行中值滤波,就是从输入序列中相继抽出m个数fi-v,…,fi1,fi,fi+1,…,fi+v(其中fi为窗口中心值,v=(m-1)/2),再将这m个点按其数值大小 顺序排序,取其序号的中心点的那个数作为滤波输出。数学公式表示为: Yi=Med{fi-v,…,fi-1,fi,fi+1,…,fi+v} i∈N v=(m-1)/2 ;Yi称为序列fi-v,…,fi1,fi,fi+1,…,fi+v的中值
• 目前,基音检测的算法有很多种,常用的 检测算法有自相关法、平均幅度差函数法、 并行处理法、倒谱法、简化逆滤波法等。
• 本次基音周期的检测,我们选用的是短时 自相关函数法,包括四个模块。 • 第一个模块为基音的端点检测,主要为了 区分浊音和清音。第二个模块为基音检测 中的带通滤波器,主要为了减少共振峰的 干扰。第三个模块为短时自相关函数法做 基音检测,主要为了计算出基音周期。第 四个模块为平滑处理,主要为了消除偏离 值点。
代码理解
• Ellipord函数的功能是求滤波器的最小阶数, 其调用格式 为 [n,Wn] = ellipord(Wp,Ws,Rp,Rs,’s’) • 其中各参量分别为:n-椭圆滤波器最小阶数; Wp-椭圆滤波器通带;Ws-椭圆滤波器阻带; Rp-通带波纹(dB);Rs-阻带衰减(dB); • Ellip函数的功能是用来设计椭圆滤波器,其 调用格式: • [b,a] = ellip(n,Rp,Rs,Wp)

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

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

项目总结报告—基音周期的检测1.项目整体框架1.1目标了解语音基音周期估计方法,掌握自相关法估计基音周期的原理。

1.2主要容本次基音周期的估算,我们选用的是短时自相关函数法,包括四个模块。

第一个模块为基音的端点检测,主要为了区分浊音和清音。

第二个模块为基音检测中的带通滤波器,主要为了减少共振峰的干扰。

第三个模块为短时自相关函数法做基音检测,主要为了计算出基音周期。

第四个模块为平滑处理,主要为了消除偏离值点。

2.模块一(端点检测)2.1主要负责工作利用能熵比法进行语音端点检测,区分语音帧的起点以与终点。

2.2具体实现方法2.2.1实验步骤1)取一段语音“tone4.wav”,该语音容是“妈妈,好吗,上马,骂人”,语音长度为3.5秒,采样率Fs=8000. 进行简单的去除直流分量,然后幅值归一化,时域波形如图1所示。

2)设置好分帧参数,帧长wlen=320,帧移inc=80,调用函数y=enframe(x,wlen,inc)';对语音信号x分帧处理。

最后帧数Fn=337。

3)设置端点检测门限值T1=0.05,使用能熵比法进行端点检测。

对分帧后的语音y 每一帧进行FFT运算,然后计算每一帧的能熵比值。

从而计算出语音y中的语音端点。

结果如图2所示。

2.2.2能熵比法设语音信号时域波形为,加窗分帧处理后得到的第i帧语音信号为,则FFT后表示为,其中下标i表示为第i帧,而k表示为第k条谱线。

该语音帧在频域中的短时能量为式中,N为FFT的长度,只去正频率部分。

而对于某一谱线k的能量谱为,则每个频率分量的归一化谱概率密度函数定义为该语音帧的短时谱熵定义为其中,只取正频率部分的谱熵,对应的能熵比表示为2.2.3代码编写在主程序中,执行的是[voiceseg,vosl,SF,Ef]=pitch_vad1(y,fn,T1);而调用了以下函数function [voiceseg,vosl,SF,Ef]=pitch_vad1(y,fn,T1,miniL)if nargin<4, miniL=10; endif size(y,2)~=fn, y=y'; end % 把y转换为每列数据表示一帧语音信号wlen=size(y,1); % 取得帧长for i=1:fnSp = abs(fft(y(:,i))); % FFT取幅值(:表示所有y(:,1)表示第一列)Sp = Sp(1:wlen/2+1); % 只取正频率部分Esum(i) = sum(Sp.*Sp); % 计算能量值(能量放入Esum 里)prob = Sp/(sum(Sp)); % 计算概率H(i) = -sum(prob.*log(prob+eps)); % 求谱熵值(eps表示很小的数,避免为零)(谱熵放入H里)endhindex=find(H<0.1);%(find返回非零元素,hindex放入,即谱熵值小于0.1的索引)H(hindex)=max(H);%(除去元音)Ef=sqrt(1 + abs(Esum./H)); % 计算能熵比(将每一帧的能熵比放入Ef里)Ef=Ef/max(Ef); % 归一化zindex=find(Ef>=T1); % 寻找Ef于T1的部分zseg=findSegment(zindex); % 给出端点检测各段的信息zsl=length(zseg); % 给出段数j=0;SF=zeros(1,fn);for k=1 : zsl % 在大于T1中剔除小于miniL 的部分if zseg(k).duration>=miniLj=j+1;in1=zseg(k).begin;in2=zseg(k).end;voiceseg(j).begin=in1;voiceseg(j).end=in2;voiceseg(j).duration=zseg(k).duration;SF(in1:in2)=1; % 设置SF(有话段的SF帧为1)endendvosl=length(voiceseg); % 有话段的段数2.2.4实验结果图1 “妈妈,好吗,上马,骂人”语音的时域波形图2 图中实线代表语音起始点,虚线代表语音终点2.2.5结果分析基音周期是语音信号的重要参数之一,它描述了语音激励源的一个重要特征。

基于谐波自相关的基音检测

基于谐波自相关的基音检测
a u t o c o r r e l a t i o n me t h o d .
l o we r t h a n t h a t o f
Ke y wo r d s :p i t c h d e t e c t i o n;h a r mo n i c a u t o c o r r e l a t i o n;p e r i o d i c a l l y u n i t i mp u l s e — t r a i n
o b j e c t i v e f u n c t i o n f o r mu l a t e d a s t h e s h o r t — - t i me a u t o c o r r e l a t i o n f u n c t i o n o f t h e n o i s y s p e e c h we i g h t e d a n i mp u l s e — —
建 立谐 波 自相 关模 型 , 通 过 最 小二 乘 法 提 取 基 音 谐 波 频 率 。 然 后 根 据 基 音 谐 波 频 率 建 立 一 个 周 期 单 位 脉 冲 序 列
函数 , 用该 函 数 加 权 短 时 自相 关 函 数 计 算谐 波 数 。 最 后 利 用提 取 的 基 音 谐 波 和 相 应 的 谐 波 数 目进 行 基 音 频 率 估 计 。 实 验 表 明在 较 低 信 噪 比 时 , 谐 波 自相 关 法 基 音检 测 错 误 率 为 5 . 0 , 比 自相 关 法 降低 了 1 3 . 6 。
J a n u a r y 2 0 1 3
网址 : www. s y s e l e . c o m
基 于谐 波 自相 关 的基 音 检 测

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

f0的名词解释

f0的名词解释

f0的名词解释在声学和语音学领域中,f0是一个重要的概念,表示音频中的基频或者是基音频率。

基音频率是一个声音波形中重复出现的最低频率,它对于理解人类语音的韵律和音调特征至关重要。

本文将对f0进行详细解释,包括其概念、测量方法以及在语音研究和应用中的重要性。

什么是f0?f0,亦称为基频、基音频率或音调,是声音波形中重复出现的最低频率。

他是指音频中实际上听到的主要振动频率,也是音频信号中最显著的周期性成分。

换句话说,f0代表了一段音频中声音的音高。

在语音学中,f0对于理解人类语音的韵律和音调特征非常重要。

通过研究f0的变化,我们可以获得音节、词语以及句子层面上的音调信息。

例如,高音调往往表示疑问或强调,而低音调则可能表示陈述或冷静。

测量f0的方法为了测量一个音频信号的f0,研究人员使用了各种方法和技术。

其中最常见的方法是自相关分析和基音检测。

自相关分析通过计算音频信号与其自身之间的相似性,来寻找可能的周期。

基音检测则是利用数字信号处理算法,通过分析声音波形中的周期性分量,来确定f0的频率。

此外,还有一些基于梅尔倒谱系数(MFCC)的技术,可以用于测量f0。

MFCC是对声音信号进行语音特征提取的一种流行方法,可以获取声音的频谱信息。

在使用MFCC进行f0测量时,我们可以提取信号频谱的相关信息,从而计算出f0的频率。

f0的重要性和应用f0在语音研究和应用中扮演着重要的角色。

首先,f0的变化对于理解语音中的音调和韵律非常关键。

通过分析f0的曲线,我们可以获得一段话中的重音、语调的变化和从句的边界等信息。

其次,f0在语音合成和转换中有着广泛的应用。

通过控制f0的频率和曲线,语音合成系统可以生成具有不同音调和韵律的语音。

例如,在合成电子书籍的语音版本时,通过调整f0的频率和曲线,可以使合成语音更加自然和可懂。

另外,在语音识别和语音情感识别领域,f0也被广泛应用。

通过分析f0的变化,可以识别说话者的情感状态,例如高兴、生气或悲伤。

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

基于自相关函数的藏语语音基音周期检测
【 ) C£ 一 , >C £
y)C(】{ 0 J C (= I ) 【 , x : ( ≤
( ) £ <- +c , ) - ( C£
() 5
2 自相 关 函数 基 音 周 期检 测 的基 本 原 理 , 对 于离 散 信 号 ^ 自相 关 函数 定 义为
式 中 为 削 波 电平 。xn是 原 始 语音 信 号 ,( 是 削波 后 的语 音 ( ) yn ) 信 号 。 见 经 中心 削 波 处 理 后 , 可 由声 道谐 振 特 性 产 生 的 大部 分 阻 ) ) ) () 1 尼振 荡 已被 削 去 . 留下 来 的是 包 含 基音 周期 的信 息 。 保 进 一 步分 析 可 知 . 自相 关 函数 提 取 基 音 周 期 时 , 心 的是 用 关 R 表征 了将 信 号 延迟 后 与 它 本 身 的相 似 性 。 1 k是 自相 关 的 延 迟 时 间 。可 以 证 明 , 自相关 函数 具 有 如下 性 质 。 时 间 .也 就 是 自相 关 函数 峰 值 出 现 的 位 置 ,而 峰 值 本身 无 关 紧 () 1自相 关 函数 具 有 周 期保 持 性 。 果 xn 周期 信 号 , 其 要 。这 样 就 可 以采 用 三 电 平 削 波 法 , 输入 输 出关 系 为 如 () 是 则 其 自相 关 数也 具 有 周 期 性 , 两 者 的 周期 相 同 。 且 自相 关 函 数 提 供 了 f,Ⅲ C . £ (> 估 计 信 号 周期 值 的一 种 方 法 。 y ) C【 】 0In C ( = ’() ;{ ,( J £ x) () 6 I1( < C 一, ” 一 £ ) (1 号 延迟 后 其 自相 关 函数 保 持 不 变 。 即信 号 xn的 自相 2信 (1 关 函 数 与它 的延 迟 信 号 信 号 的 自相 关 函数 完 全相 同 。 经 三 电平 削 波后 , 自相关 函数 的计 算 极 为 简单 。用 y ) 削 波 ( 表示 n ( 白噪 声 的 自相 关 函数 具 有 原 点 集 中 性 。 自相 关 函数 用 于 器 的输 出 . 3 ) 则短 时 自相 关 函数 为 基 音 周 期检 测 时 具 有 一 定 的抗 噪性 尺() 】=∑ 【(+ )’ ) 玎 m+ )’ +} ,、 | } 玎 mw m】 (+ w m |】 1 ( 【 ( 】 ) 由语 音 信 号产 生 的数 字 模 型 可 知 .浊 音 是 由声 门处 形 成 的 脉 冲 串激 励 声 道 产 生 的 .浊音 等 于 脉 冲 串与 声 道 单 位 冲激 响 应 如果 短 时 窗 是矩 形 窗 . 上式 变 为 则 Ⅳ 一1 一k 的卷积。 由于 激 励 源 是 准 周期 性 的 . 因而 语 音 信 号 也 呈 现 准 周 期 尺 () ∑ yn m 玎 m+ ) | = 】 } ( + )( + k ,、 Q 性 , 重 复 频 率取 决 于 激 励 源 的频 率 ( 其 基音 频 率 ) 但 是 由 于受 到 。 声 道 阻 尼振 荡 的 影 响 。 音 信 号 的 波形 结 构 表 现 得极 为 复 杂 . 浊 为 式 中 yn myn m+ ) 取 值 只 有 一 , l三 种 情 况 , 而 不 用 作 (+ )(+ k的 lO, 因 基 音 周 期 的 自动 检 测 带 来 了极 大 的 困难 。 此 . 以利 用 自相 关 乘 法 运算 . 为 可 这就 可 以大 大 节省 计 算 时 间 。 函 数 的 周期 保 持 性 , 间接 地 来 估 计浊 音 信 号 的 基 音 周 期 。 周 4 藏语 语 音 的 基 音周 期 检 测 来 在 . 期 的 整数 倍 处 。 的 自相 关 函数 可 以达 到极 大 值 . 而从 自相 关 它 从 图1 是从藏语语音目 龟 目 1中 气 截取的一段浊 函 数 的第 一 个 峰 值 的 位 置 可 以 间 接地 估 计 出基 音 周 期 .这 就 是 音 信 号 。采 样 频 率 f lk 。 s O Hz = 用 自相 关 函数 进 行 基 音 周 期 检测 的基 本 原 理 语 音 信 号是 非 平 稳 的 随 机 过 程 , 特性 是 随 时 间 变 化 的 . 其 但

基于自相关的语音基音周期检测方法研究

基于自相关的语音基音周期检测方法研究
2用 短 时 平均 能量 进 行 清 , 音 的 判 断是 基 音 检 测 的 第一 步 . 浊
为信号 xn和 Y() () n的互相关函数 。如果 Y()x()则互相关 函 n = n, 数 变 成 了 自相 关 函数 :
R( Ⅱ m)
X() n m) nx(+
式 中 , 为 信 号 的延 迟 点 数 。 m 自相 关 函 数反 映 了信 号 xf 和 自身 n 1 作 了一 段 延 迟之 后 的 x( m) 似 程 度 。 n 的相 + 自相 关 函 数 具 有 以下 的 性 质 : 果 序 列 xn 具 有 周 期 N , 如 () 。 则 其 自相关 函数 也 是 同 周期 的周 期 函 数 。 : x 】 ( 即 若 ( =xn+N1 n n , 则 R =Rm + 。 ㈤ ( 清 音 信 号 没 有 周期 性 ,它 的 自相 关 函 数 也 没 有 周 期 , ㈤ R 会 随着 1 的增 大 迅 速 衰 减 。浊 音 信 号 具 有 准 周 期 性 . 的 自相 1 1 它 关 函数 R 具 有 与 xn 同 的周 期 。浊 音 信 号 的 自相 关 函数 在 ㈤ (1 相 基 音 周 期 的 整数 倍 位 置 上 出现 峰 值 .而 清 音 信 号 的 自相 关 函数 没 有 明显 的 峰值 。 自相 关法 基 音 检 测 就 是 利用 R m 的这 一 性 质 f) 对 语 音 信 号 进行 基 音 检 测 的 。 于 浊音 信 号 。 要检 测 到 N 的位 对 只 置 , 可 以估 计 语音 信 号 的基 音周 期 值 。 就




2 0 年 第 1 期 08 1
基 于 自相 关 的语 音 基 音 周 期检 测 方 法研 究

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

基于短时自相关函数法的基音周期检测
for i=1 : vsl % 只对有话段数据处理
ixb=vseg(i).begin;
ixe=vseg(i).end;
ixd=ixe-ixb+1;% 求取一段有话段的帧数
for k=1 : ixd % 对该段有话段数据处理
u=y(:,k+ixb-1); % 取来一帧数据
ru= xcorr(u, 'coeff'); % 计算归一化自相关函数
ru = ru(wlen:end);% 取延迟量为正值的部分
[tmax,tloc]=max(ru(lmin:lmax)); % 在基音频率范围内寻找最大值
period(k+ixb-1)=lmin+tloc-1; % 给出对应最大值的延迟量
end
end
4.2.4实验结果
图4端点检测的语音信号
图5有话段的基音周期
图2图中实线代表语音起始点,虚线代表语音终点
2.2.5结果分析
基音周期是语音信号的重要参数之一,它描述了语音激励源的一个重要特征。语音的头、尾部并不能具有声带振动那样的周期性,也就是检测不到相应的基音周期。如果要进行基音周期的计算,首要的必然是检测语音端点,将有话段从整段语音中分离出来,才能开始对语音的基音周期进行计算.
Esum(i) = sum(Sp.*Sp); % 计算能量值 (能量放入Esum里)
prob = Sp/(sum(Sp));% 计算概率
H(i) = -sum(prob.*log(prob+eps)); % 求谱熵值(eps表示很小的数,避免为零)(谱熵放入H里)
end
hindex=find(H<0.1);%(find返回非零元素,hindex放入,即谱熵值小于0.1的索引)

基于MATLAB的基音检测分析

基于MATLAB的基音检测分析

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

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

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

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

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

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

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

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

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

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

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

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

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

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

一种改进的基音周期检测方法

一种改进的基音周期检测方法
加窗来分 帧 , 窗长 度一般 应大于基音周期 的两倍 , 以 所

般 选 择 10 2 0 ( 0 z 1~ 0T ) 2 — 4 点 80 0H ,5 3 I 。 IS
Ma a 上进行仿真 , tb l 实验证 明, 准确性得到提高 。
短 时能量分析 : 语音 信号 的大部分能量 集 中在浊
T e i n l s r t a e b b n — a s f tr n e t r lp i g o r d c t e f c s o e o d a mo i.T e h sg a i p er t d y a d p s l ,a d n e s i p n t e e d t at r l p n i a a fe ci i g s s d h l c lu a i g h a tc re ai n o f ce t n t e e r e f h c mp e i p u e w i e ac lt t e u o o r l t c e in a d h d g e o t e o l x s n o i r d c d g e t .T e s o h n t o i ti s t e se f p th a d mo t i h e u e al r y h mo t i g meh d man a n tp o i n s oh p t . h c c
语音 技术 ⑨@ @ 响 ⑨⑨ 6@ @ 润 0 U
文章 编号 :0 2 8 8 (0 1 0 — 0 3 0 1 0 — 6 4 2 1 )4 0 5 — 3

种改进 的基音周期检测 方法
曾树 华

论文 ・
( 南铁路科技职 业技 术学院, 湖 湖南 株 洲 4 20 ) 10 3

基音周期的提取

基音周期的提取

测出来的峰值就会偏离原来峰值的真实位置。另外,某些浊
音中,第一共振峰频率可能会等于或低于基音频率。此时,
如果其幅度很高,它就可能在自相关函数中产生一个峰值,
而该峰值又可以同基音频率的峰值相比拟,从而给基音检测
带来误差。为了提高基音周期检测的可靠性,采用了两种预
处理方法对原始信号进行预处理,即中心削波处理和滤波。
N −k −1
Rn = ∑ y(n + m) y(n + m + k) m=0
m1′
m2′
= ∑ y(n + m) y(n + m + k) + ∑ y(n + m) y(n + m + k) + L
m1
m2
mi′
+ ∑ y(n + m) y(n + m + k)
其中
m1
mi

m1′
、m2

m2′
、……、mi
C++程序略。
(六)结论
本算法通过对自相关函数稍做改动,基音检测中采用三 电平削波,只需 130 点的自相关计算,计算次数明显减少, 既提高了运算速度,又提高了基音提取的精度,并且实现起 来非常简便。
语音文件为“欢迎学习”,FRAME=300,BETWEEN=100,基 音提取的结果为:
0,25,26,26,27,27,27,28,28,28,57,57,28, 28,28,28,28,0,31,31,33,35,36,39,40,44,46, 46,48,48,47,47,45,45,45,46,47,0,0,0,0,0, 0,0,0,0,0,0,50,51,51,51,50,49,50,51,53, 0,0,0,0,0,0,0,0,0,0,0,51,51,50,49,49, 49,49,49,51,51

常用的基音周期检测的方法有哪些

常用的基音周期检测的方法有哪些

常用的基音周期检测的方法有哪些?它们的基本原理是什么?自相关法、平均幅度差函数法、并行处理法、倒谱法、简化逆滤波法自相关法的基本原理是浊音信号的自相关函数在基音周期的整数倍位置上出现峰值;而清音的自相关函数没有明显的峰值出现。

因此检测是否有峰值就可判断是清音或浊音,检测峰值的位置就可提取基音周期值。

平均幅度差函数法的基本原理是对周期性的浊音语音,Fn(k)呈现与浊音语音周期相一致的周期特性,Fn(k)在周期的各个整数倍点上具有谷值特性,因而通过Fn(k)的计算可以来确定基音周期。

而对于清音语音信号,Fn(k)却没有这种周期特性。

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

倒谱(CEP)法利用语音信号的倒频谱特征,检测出表征声门激励周期的基音信息。

采取简单的倒滤波方法可以分离并恢复出声门脉冲激励和声道响应,根据声门脉冲激励及其倒谱的特征可以求出基音周期。

简述时域分析的技术(最少三项)及其在基因检测中的应用。

短时能量及短时平均幅度分析、短时过零率分析、短时相关分析、短时平均幅度差函数基音检测中的应用:基音检测的提取。

二、名词解释(每题3分,共15分)端点检测:就从包含语音的一段信号中,准确的确定语音的起始点和终止点,区分语音信号和非语音信号。

共振峰:当准周期脉冲激励进入声道时会引起共振特性,产生一组共振频率,称为共振峰频率或简称共振峰。

语谱图:是一种三维频谱,它是表示语音频谱随时间变化的图形,其纵轴为频率,横轴为时间,任一给定的频率成分在给定时刻的强弱用相应点的灰度或色调的浓淡来表示。

码本设计:就是从大量信号样本中训练出好的码本,从实际效果出发寻找好的失真测度定义公示,用最少的搜素和计算失真的运算量。

语音增强:语音质量的改善和提高,目的去掉语音信号中的噪声和干扰,改善它的质量。

谱平整自相关基音检测器的设计

谱平整自相关基音检测器的设计

文 章编号 :6 1 6 2 20 )2 09 3 17 —9 6 (0 7 0 —0 4 —0
谱 平整 自相关 基 音检 测器 的设 计
裴 洪 文 武凤 翔2 ,
(. 1郑州大学升达经贸管理学院, 河南 郑州 4 19 ; 5 11
2华北水利水电学院水利职业学院, . 河南 郑州 400 ) 508
B troh mt低 通滤 波器 : ue r ( ) tw t
“、 一 1 ‘
‘—
09 539 - . 7 2 8 z 1+0 3 9 2 z 2 . 2 3 2 -
12 峰检测 . 12 1 求相 关函数序列 ..
对汉语 拼音 , 基频范围为 7 0。50 z =800 z 0H , 0 H 时相应于 1 6—14 1 个样值 , 只需求 (6 , (7 , (8 , 1) 1) 1) …… , ( 1)即可 , 14 为了和 ( ) 比较 , O相 加上一个 () 1o 自相关值。 O共 0个 利用 自相关进行基音检测时 , 到了 自相关的两个性质 : 用
收稿 日期 106—1 2 20 2— 6 图1 L C 的大小对 自关 函数 的影响
第一作者简介 :  ̄ :1 6 , 河南禹州人 , 装 (9 一)男, 6 郑州大学升达 学院资讯 管理 学系硕士研 究生。
维普资讯
平顶 山工学院学报
2O 年 3月 O7
( )> Q
l ( )l Q n ≤ s
Ci


Yn ={ n+ s ) , n =cs ) () 【 ) ( < Y ) [ n] s ( n ( (
是削波 电平 。 越大 , Q 超过 的峰越 少 , 削波的作 用越 明显 ; 越小 , 超过 的峰越多 , 削波作 用越不 明显 。 的大小对 自相关 函数的影响如图 1 所示 。 由图 1可知 , 采用 较高的削波 电平对检测基音 是有利 的, 但过 高的削 波电平 R …

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

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





2011 年
( 2 ) 取样模块 从频率为 8 000 Hz 的语音信 号中截取 Length( 样点数 ) 长的个样点值, 一般取 样点数设计成帧长度的整数倍; ( 3 ) 分帧模块 主要将语音去样点分割为若 干个语音帧, 语音信号属于短时平稳信号, 一般认 为在 10 ~ 30 ms 内语音特性基本上是不变的, 或 者变化缓慢, 因此可从中截取一段进行频谱分析 , 在范例中取一帧信号的长度为 30 ms, 即每帧为 240 点; ( 4 ) 短时能量分析 对分割好的语音帧信号 进行清浊音的判断, 知道浊音变清音的时刻, 提取 浊音段; ( 5 ) 自相关分析 计算浊音段信号的自相关 函数, 根据自相关函数的周期性计算语音信号的 基音周期.
本文利用信号的自相关运算实现了两个语音 信号的基音周期检测. 在检测过程中采用极性相 关和峰值估计法, 一方面可降低相关计算中乘法 的计算量, 另一方面也降低了进行自相关运算的 点数, 从而提高了基因周期检测的效率 . 这种极性
( 编辑
吴寿林)
檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿 . [2001 - 12 - 12] . http: / / proach for Webbased CRM [J / OL] ( 上接第 296 页) 函数截取结果.
基音周期的估计称为基音周期检测, 基音周 期检测的最终目的是得到与声音振动频率吻合较 好的基音周期变化轨迹曲线. 在语音信号的处理 中只有准确捕获语音信号参数, 才能高效地识别 语音. 而在这些语音信号参数中, 基音周期提取的 精确性和效率直接影响到合成语音能否真实快速 地再现原始语音信号. 本文在基音周期检测一般 方法的基础上, 对自相关运算过程加以修改, 并给 出使用该种方法对两段语音信号进行基音周期检 测的结果.

两种基音周期检测方法

两种基音周期检测方法

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

自相关函数具有很好的抗噪性,但易受半频、倍频错误影响。

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

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 )的使用,从而使得这一算法简单有效,而不再采用结构复杂的快速傅里叶变换法、递归计算法等;N越小,误差越大,但计算量较小。

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

专业班级 08级信息工程组别
成员
1、引言
人在发浊音时,气流通过声门使声带产生张弛振荡式振动,产生一股准周期脉冲气流,这一气流激励声道就产生浊音,又称有声语音,它携带着语音中的大部分能量。

这种声带振动的频率称为基频,相应的周期就称为基音周期( Pitch) ,它由声带逐渐开启到面积最大(约占基音周期的50% ) 、逐渐关闭到完全闭合(约占基音周期的35% ) 、完全闭合(约占基音周期的15% )三部分组成。

当今主流的基音周期检测技术主要有时域的自相关法、频域的倒谱法、时频结合的小波变换分析方法以及在其基础上的衍生算法。

本文所采用的方法是自相关法
2.设计思路
(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、程序代码
function pitch
x=wavread('E:\luyin\wkxp.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);
end
end
p=Rm(10:n); %防止误判,去掉前边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('各帧基音周期');
T1= medfilt1(T,5); %去除野点
figure(3);stem(T1,'.');axis([0 length(T1) 0 10]);
xlabel('帧数(n)');ylabel('周期(ms)');title('各帧基音周期');
4、运行结果与分析
(1)
运行
x=wavread('E:\luyin\wkxp.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);
end
end
p=Rm(10:n); %防止误判,去掉前边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= medfilt1(T,5); %去除野点
figure(3);stem(T1,'.');axis([0 length(T1) 0 10]);
xlabel('帧数(n)');ylabel('周期(ms)');title('各帧基音周期');
运行结果如下
图3
5、设计中遇到的问题与心得
(1)设计中遇到的问题:
由于每一帧做短时自相关时,Rm(k)开始的几个点的值比第一个周期的峰值还大,因此无法正常提取出第一个峰值对应的点。

开始程序的运行结果如下:
图4
于是经过和同学讨论之后决定舍弃Rm开始几个值较大的点,于是运行结果就正常了
图5
(2)心得体验:
短时自相关函数法基音检测的主要原理是通过比较原始信号和它移位后的信号之间的类似性来确定基音周期,如果移位距离等于基音周期,那么两个信号具有最大类似性。

基于自相关函数的算法是基音周期估计的常用方法,特别适用于噪声环境下的基音提取。

自相关函数在基音周期处表现为峰值,相邻两个峰值之间的间隔即为一个基音周期。

但是短时自相关函数法也存在以下缺点:
①倍频现象
通常情况下,基波分量往往不是最强的分量,丰富的谐波成分使语音信号的波形变得非常复杂,给基音检测带来了困难,经常发生基频估计结果为其实际基音频率的二次倍频或二次分频的情况。

加之还有清浊混杂等情况,使基音检测成为一大难题。

如图5 ( a)是一帧语音信号,图4 ( b)是这帧语音信号的自相关函数,可以看出自相关函数在基音周期处表现为峰值,这些峰值点之间的间隔的平均值就是基音周期,如图6 ( b)所示可以看出自相关函数检测出的基音周期是原始信号基音周期的一半,这是由于谐波峰值点(箭头所示)的影响,这就是上述缺点中所说的倍频现象。

图6
图7
②运算量大,效率低下
无论是对随机的语音信号还是对离散的信号进行处理,只要是使用自相关函数对信号进行周期估计,必然涉及大量的乘法运算。

虽然经过实验证明,自相关函数法是一种简单而且有效的方法,但是大量的乘法运算严重影响算法的效率。

然而从估计基音周期的角度看,短时自相关函数所包含的信息许多是多余的,真正能反映基音周期性的只是少数几个峰,而其余的大多数峰都是由于声道的谐振特性引起的。

为此,可以用三电平削波法来突现反映基音周期的信息,同时压缩与共无关的信息。

三电平法具体的方法就不在此详细说明了。

相关文档
最新文档