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

基音周期估值在语音信号处理应用中具有十分 重要的作用。本节介绍语音信号基音周期估值 最基本的两种方法:
基于短时自相关法的基音周期估值 基于短时平均幅度差函数法的基音周期 估值
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 三电平削波函数
语音信号的自相关基音周期检测

语音信号的自相关基音周期检测语音信号是一种人类最基本的交流方式,它包含人声的频率、强度和时间三个方面的信息。
语音信号的自相关和基音周期是语音信号分析中的重要技术,对于语音信号分析、识别、合成等应用有着积极的作用。
一、语音信号的自相关语音信号的自相关是指语音信号的样本与样本之间的相关性。
在语音信号中,相邻的样本之间一般都具有相关性,该相关性可以通过计算信号的自相关函数获得。
自相关函数描述了语音信号在不同延迟情况下的相似程度,也就是说,自相关函数可以反映语音信号的周期特征和基音周期。
二、语音信号的基音周期检测语音信号的基音周期是指人语中相邻两个基音周期之间的时间长度。
基音周期检测是一项关键的语音信号分析技术,在音素识别、语音合成、语音编码等领域应用广泛。
基音周期检测方法主要有三种:自相关法、FFT法和LP法。
自相关法是指通过计算信号与自身在不同延迟下的相似度,判断语音信号的基音周期。
具体来说,自相关法首先将语音信号进行预加重和分帧处理,然后计算每一帧的自相关函数,最后采用模板匹配的方法找到最强的周期峰值,从而得到基音周期。
FFT法则是将分帧后的语音信号进行傅里叶变换,提取频谱信息,并通过在频域滑动一个窗口,检测周期性的能量最大值,确定基音周期数。
LP法是通过线性预测,将语音信号分解成具有不同频率的谐波分量,然后利用实验数据验证模型,得到基音周期。
总的来说,不同的基音周期检测方法有其各自的优缺点。
自相关法较为简单但在噪声环境下准确度不高,FFT法可以检测到非周期性的基音,但精度不如自相关法,LP法精度较高但计算复杂度较大。
作为一门复杂的反演问题,语音信号的自相关和基音周期检测一直是语音处理研究中的重要问题,目前的研究主要集中在解决语音信号分析和识别中的实际问题和应用,为提高语音合成、语音编码等方面的应用水平提供技术支持。
3.8-3.9 基音和共振峰估计解析

N k 1 m 0
S (m)S
n
n
(m k )
• Rn(k)不为零的范围为是k=(-N+1)~(N—1),且为偶函数。 由3.3小节的分析可知,浊音信号的自相关函数在基音周期 的整数倍位置上出现峰值;而清音的自相关函数没有明显的 峰值出现。因此检测是否有峰值就可判断是清音或浊音,检 测峰值的位置就可提取基音周期值。
X
第1-2页
天津商业大学信息工程学院
语音信号处理 电子教案
2.基音周期估计的方法 (1)自相关法
(2)平均幅度差函数法
(3)并行处理法 (4)倒谱法 (5)简化逆滤波法 (6)小波变换法
第1-3页
X
电子教案
(1)自相关法
• 语音信号s(m)经窗长为N的窗口截取为一段加窗语音信号 Sn(m)后,定义Sn(m)的自相关函数(ACF)Rn(k)(亦即语音信号 s(m)的短时自相关函数)为:
第1-9页
X
天津商业大学信息工程学院
语音信号处理 电子教案
(5)简化逆滤波法(SIFT)
• 简化的逆滤波跟踪(SIFT)算法是相关处理法进行基 音提取的一种现代化的版本。该方法的基本思想是: 先对语音信号进行LPC分析和逆滤波,获得语音信号 的预测残差,然后将残差信号通过自相关滤波器滤 波,再作峰值检测,进而获得基音周期。语音信号 通过线性预测逆滤波器后达到频谱的平坦化,因为 逆滤波器是一个使频谱子坦化的滤波器,所以它提 供了一个简化的(亦即廉价的)频谱平滑器。预测 误差是自相关器的输入,通过与门限的比较可以确 定浊音,通过辅助信息可以减少误差。
第1-8页
X
天津商业大学信息工程学院
语音信号处理 电子教案
基音周期预测

专业班级组别成员实验内容:编程求解出各自声音信号的基音周期。
1 程序代码(或者软件流程图等)(1)function zhouqi=jiyinzhouqi(filename)%帧长和帧位移是重要的参数,位移是帧长的0~1/2%短时自相关分析%filename语音文件*.wav%zhouqi基音周期,以毫秒为单位表示[signal,fs]=wavread(filename); %用于得到声音文件的数据和采样率shift=0.02; %每次移动20毫秒shift=round(fs*shift); %帧移n1=fix(fs*0.01)+1; %分析起点0.01ms,帧长20msn2=fix(fs*0.03)+1;shift_count=fix((length(signal)-n1)/shift);value =zeros(1,shift_count); %存放每次移位后的帧的基音周期for ii=1:shift_count %分析次数if n2<length(signal) %防止溢出data=signal(n1:n2); %加窗,提取一帧数据N=n2-n1+1; %每一帧的长度R=zeros(1,N); %创建一个一行N列的矩阵for k=1:N-1 %求自相关序列for jj=1:N-kR(k)=R(k)+data(jj)*data(jj+k); %矩阵用于储存每次自相关的结果; endendvalue(ii)=find_maxn(R); %调用基音周期分析函数,求最大值所对应的位置,即基音周期n1=n1+shift; %移动帧,计算下一帧的基音周期n2=n2+shift;endendfigure(1)stem(value); %画出基因周期走势图axis([0 length(value) 0 1000])aver=mean(value); %基音周期的平均值,未去除野点value=value(logical(abs(value-aver)<=aver/5));%找出偏移均值超出均值的1/5的基音周期,将其去除len= length(value); %去除大野点后剩余的基音点数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; %将野点置零,同时数组长度减一endendendvalue=value(( value~=0)); %出去所有野点后的基音周期数组len= length(value); %去除野点以后的基音点数figure(2)stem(value);axis([0 length(value) 0 max(value)])zhouqi=1000*sum(value)/len/fs; %求平均的基音周期,单位是毫秒(2) function nmax=find_maxn(r) %寻找峰值最大的n值及基音周期%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);(3) function zhouqi=get_frq_frame(filename)%帧长和帧位移是重要的参数,位移是帧长的0~1/2%短时自相关分析%filename语音文件*.wav%zhouqi基音周期,以毫秒为单位表示[signal,fs]=wavread(filename);%用于得到声音文件的数据和采样率shift=0.02; %每次移动20毫秒shift=round(fs*shift); %帧移n1=fix(fs*0.01)+1; %分析起点0.01ms,帧长20msn2=fix(fs*0.03)+1;shift_count=fix((length(signal)-n1)/shift);value = zeros(1,shift_count); %存放每次移位后的帧的基音周期zhouqi = zeros(1,shift_count); %存放每次移位后的帧的基音周期for ii=1:shift_count %分析次数if n2<length(signal) %防止溢出data=signal(n1:n2); %加窗,提取一帧数据N=n2-n1+1; %每一帧的长度R=zeros(1,N);for k=1:N-1 %求自相关序列for jj=1:N-kR(k)=R(k)+data(jj)*data(jj+k);endendvalue(ii)=find_maxn(R); %调用基音周期分析函数,求最大值所对应的位置,即基音周期n1=n1+shift; %移动帧,计算下一帧的基音周期n2=n2+shift;zhouqi(ii) = 8000/value(ii);endendfor ii=1:length(zhouqi)if zhouqi(ii)==0zhouqi(ii) = [];endendplot(zhouqi);2 程序使用说明(1) function zhouqi=jiyinzhouqi(filename)① 函数基音周期是计算所采样的声音的平均基音周期的函数,函数使用加窗计算自相关函数的办法,通过帧移得到不同位置加窗信号的相关性,然后用矩阵R储存相对应的n2-n1+1个自相关值。
语音信号处理 实验报告用修正的短时自相关检测语音的基音周期

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

基音周期语音"#$%&自相关 ’ 倍线性逆 !"#有无声低通及峰值 抽取滤波器插值判 决滤波检 测无声 抽取模型参数无声无声检测器 图 ( 简化逆滤跟踪算法原理框图文章编号!!$$%&$%’$"($$-#$+&$$,!&$,一种基音周期估计方法陈洪立$中国铁通萍乡分公司#江西 萍乡 556777%摘 要!基音是语音信号中一个极为重要的参数! 基音周期的估计在语音编码"语音合成和语音识 别中有着广泛的 应 用# 本 文 介 绍了 一 种 极为 重 要 的 !"#$$!%&’(%)%*+ %,-*./* )%(0*. 0.123%,4 简 化 逆 滤波 跟 踪%基音周期估计算法#并对该算法进行了仿真# 仿真结果表明#!"#$ 基因周期估计算法具有较好的估 计性能!关键词!基音周期#语音信号处理#简化逆滤波跟踪基音周期的估计方法大致可以分为三类)(*%(& 波形估计法" 直接由语音波形来估计基音周!" !"期 ! 分 析 出 波 形 上 的 周 期 峰 值 ! ’//012&$数据减少法’3403&等"包括 并 行 处 理 法 基音是指发浊音时声带振动所引起的周期性!而 基音周期是指声带振动频率的倒数" 基音的提取和估 计是语音信号处理中一个十分重要的问题!尤其是对 汉语更是如此" 因为汉语是一种有调语言!基音的变 化模式成为声调!它携带着非常重要的具有辨意作用 的信息" 自从语音信号的研究以来!基音周期估计一 直是个重要的研究课题!为此提出了很多方法! 然而 这些方法都有局限性#迄今为止! 尚未找到一个完善 的方法可以适用于不同的讲话者$ 要求和环境! 这是 因为基音提出有许多困难)(*"基音提取的主要困难反映在)+*%(&声门激励信号 并不是一个完全的周期序列" 在语音的头$尾部并不 具有声带振动那样的周期性!特别是清音和浊音之间 的过渡帧很难判断它们是否是周期性的" +&很难从语 音信号中去除声道的影响!直接取出仅和声带振动有 关的激励信号!例如声道共振峰有时会严重影响激励 信号的谐波结构" ,&在浊音段很难精确地确定每个基 音周期的起止位置!这是因为语音信号本身是准周期 性的’即音调是变化的&!同时!波形的峰以及过零受 共振峰结构$噪声等的影响" -&基音周期变化范围大! 从老年男性的 .$%& 到女童的 ’$$%&!接近三倍频程! 给基音检测带来一定的困难"+& 相关处理法" 计算语音信号的短时相关函数!根据相关函数的周期性来获得基音周期的估计!常见 的有自相关函数法’54671&$ 平均振幅差分函数法 ’4538&$简化逆滤波法’9:87&等",& 变化法" 将语音信号变换到频域或者倒谱域 来估计基音周期!比如倒谱法’2;/&"其中相关处理法因为其抗波形相位失真能力强! 且在硬件处理上的结构简单而被广泛应用! 为此!着 重分析相关处理法中的 9:87 基音周期估计法"$ " %&’( 基音周期估计算法简化逆滤波器跟踪算法是相关处理法进行基音提取的一种现代化版本" 这种方法首先抽取声道模型参数!利用这些参数对原信号进行逆滤波!从预测误差中 得到音源序列!之后再用相关法求得基音周期)(<+*"收稿日期!!""#$"%$&’图 ) 原始语音样本的信号波形图 + 数字低通滤波器的频率特性图 / 滤波后的语音信号波形图 * 残差信号波形工作过程为""# 信号经过 "#$%& 取样后$ 通过 ’((%& 的数字 低通滤波器$其目的是滤除声道谱中声道响应部分的 影响$使峰值检测更加容易%)& 进行 * 倍抽取$使采样率降低 * 倍$这是因为 激励序列的宽度小于 "$%&$所以用 )$%& 的采样频率 足够’当然后面需要进行 * 倍的插值$以恢复原来的 采样率%+& 对抽取后的信号进行线性逆滤波处理$ 同时滤波器是 *( 阶的$图 + 描绘了滤波器的频率特性% 滤 波后的信号波形如图 / 所示% 比较图 ) 和图 / 可以看 出$滤波后的语音信号由于去除了因声道引起高频分 量而显得更加平滑$周期性更为明显% 此后$进行了逆 滤波处理$得到的残差信号波形如图 * 所示$ 逆滤波 后的信号频谱更加平坦了$ 周期性已经非常明显$由 波形就可清楚地辨认出每个周期的起止位置% 之后是 残差信号的自相关函数$波形描绘在图 9 中% 最后对 自相关函数波形进行峰值检测$ 获得基音周期的估 提取信号模型参数 (,-. 参数&$ 检测出峰值及其位 计% 检测到的峰值序列以及基音周期序列见表 "% 由 置$便可以得到基音周期% 逆滤波器能使频谱平坦化$ 是一种简化的低成本频谱平滑器%/& 最后进行有0无声判决%在基音周期的估计中$广泛采用语音波形或误差 信号波形的低通滤波$因为这种低通滤波对提高基音周期估计精度具有良好的效果% 低 通滤波在除去高阶共振峰影响的同时$还可以弥补自 相关函数时间分辨率的不足% 在使用了线性滤波预测 误差的自相关函数的基音提取中$时间分辨率的弥补 显得尤其重要%表中结果可知$基音周期的估计值为 :8(56% 至此$完 成 了 ;<=3 算 法 的 仿 真 工 作 $ 仿 真 结 果 令 人 满 意 % !" !"#$ 这里我们对简化逆滤波跟踪算法进行了仿真$软件环 境选用 123,24% 仿真中$选取一段长为 )((56 的男 性语音作为样本$该样本的采样率为 ))7"$%&% 图 ) 描 绘了这段语音的信号波形$ 波形有明显的周期性$可以粗略估计其周期约为 (8("6$即 "(56%图 ) 自相关函数信号波形表 0 峰值位置以及基音周期(单位 23% 峰值点 $/( 0’/( 01/( $)/( *(/* ($/( "’/* "1/( ))/* 基音周期 1/’1/’ +/& 1/’ 1/’ 1/’ 1/’ 1/’ 1/’ 峰值点 +(( 1$/* &’/* &1/* 0’)/* 00(/$ 0$$/* 0*’/$ 0*1/* 基音周期+/& 1/’ 1/’ 1/’ +/& 1/’ 1/’ 1/’ 1/’ 峰值点 0()/* 0"(/* 0)$/* 0+’/* 0+1/* 01)/* 0&(/( 基音周期 1/’ 1/’ 1/’ 1/’ 1/’ 1/’ 1/0!" !"论文介绍了一种语音信号处理中常用的基音周期估计方法" 即简化逆滤波跟踪算法) 在详细分析4567 算法的基础上"选取一段语音样本"对该算法进行了计算机仿真"仿真结果表明"该算法确实具有良 好的估计性能# 算法处理过程简单"易于工程化实现" 说明该算法有很强的实用性# 我们下一步要开展的工 作就是在此基础上"利用 4567 基音周期算法"进行语 音变速不变调技术的研究#参考文献8%9 胡航!语音信号处理!哈尔滨!哈尔滨工业大学 出版社",’’’8,9 陈永彬!语音信号处理!上海!上海交通大学出 版社"%&1&!上接第 !"页" 决用户在使用电信业务中的困难或 江西电信 % 件$互联互通问题 %.% 计算%&江西铁通 %件$互联互通问题 %.% 计算%"江西联通 % 件& 江西移 动 $ 件"手机经销商 $ 件’疑惑"以取得用户的谅解# 对于电信业务经营者明显涉嫌违反电信条例和电信服务标准"侵害用户利益的 用户申诉"向相关企业发函进行立案调查有 %’ 件"企 业及时回复 %’ 件"及时回复率 %’’-# 经核查"确系企 业有责任的案件有 + 件"占立案申诉的 +’-" 其中有$ 季度申诉总量比上季度增加了 $* 件" +(- # 正 式 立 案 数 比 上 季 度 增 加 了 ( 件 " %**-#上升了上升 了。
语音基音周期估计基础

语⾳基⾳周期估计基础先说下为什么要检测语⾳基⾳周期(1)基⾳决定了语⾳的⾳调。
汉语是⼀种有调的语⾳,同⼀句话,语调不同,意义差别⾮常⼤,准确的检测语⾳的基⾳周期,有利于“理解”话语中的意思。
(2)语⾳合成、声调控制等⾳效果制作的需要。
再说下什么是基⾳周期按照经典的语⾳激励模型,声带周期性的张开和闭合所需要的时间,就是指基⾳的周期(假如声带某次从开启到闭合的时间为4ms,那么,它的基⾳频率为250Hz)。
很显然,要准确的检测基⾳周期,需要尽可能的先去掉声道模型和辐射模型的⼲扰。
⼀般来说,男性的基⾳频率约为50Hz~250Hz,⼥性的基⾳频率约为:100Hz~500Hz,所以我们通常把基⾳频率的上限限制为500Hz,同时,⼜由于50Hz对应的是交流电的⼯频频率,难以去掉它的噪声⼲扰,所以这个频率检测时也不予考虑。
综上,基⾳频率的检测范围在60Hz~500Hz或者70Hz~500Hz⽐较好。
基⾳周期检测的困难(1)有些⾳的发⾳不具有声带的震动,通常这些⾳为过渡⾳。
(2)基波的分量往往不是最强的分量,容易把⼀些浊⾳的谐波当做基波(这是因为经过声道激励后,⼀些谐波分量变的⽐较强)(3)基⾳周期变化范围⼤,从⽼年男⼈的50Hz到⼉童和⼥性的500Hz,给检测带来了⼀定的困难。
基⾳周期检测预处理(1)端点检测(多媒体核⼼技术群中在2015-04-18⽇已经讲过了)(2)带通滤波(60Hz~500Hz),尽可能去掉声道模型和辐射模型的⼲扰(去掉50Hz是为了避免⼯频噪声的⼲扰)基⾳周期估计的⽅法(1)平均幅度差法 语⾳的浊⾳,通常会呈现出⼀定的周期性,这个周期性与基⾳的周期⼀致,通过计算平均幅度差,来找到这个周期,就可以得到基⾳的周期。
(2)相关法 同样的道理,通过计算语⾳信号的⾃相关特性,并寻找相应的周期性,也可以得到语⾳的基⾳周期(3)倒谱法 使⽤倒谱处理,使得脉冲激励与声道响应进⾏分离,再查找最⼤值,就可以得到语⾳的基⾳周期(4)线性预测法 这类⽅法是先利⽤线性预测法,得到预测系数,再⽤这些系数去重建信号,这样就弱化了声道响应的影响。
语音信号处理_实验一_报告2

实验一语音信号的频域特性1. 观察语音信号的时域波形特点,总结其规律。
答:1)清音段:能量低,过零率高,波形特点有点像随机的噪声。
这部分信号常与语音的辅音段对应。
2)浊音段:能量高,过零率地,波形具有周期特点。
所谓的短时平稳性质就是处于这个语音浊音段中。
3)过渡段:一般是指从辅音段向元音段信号变化之间的部分。
信号变化快,是语音信号处理中最复杂、困难的部分。
2.总结清音b/p/m/f/d/t/n/l/g/k/h/j/q/x//z/c/s/zh/ch/sh/r/共21个的短时幅值、短时过零率和自相关函数的规律,估算这21个清音的平均短时幅值和平均短时过零率;答:加矩形窗的21个清音的平均短时幅值和平均短时过零率为下表:清音音节平均短时幅值平均短时过零率b 2.126 1.000p 0.706 9.100m 2.427 5.000f 0.685 1.500d 0.817 9.667t 1.168 1.000n 1.150 4.176l 2.084 6.200g 0.150 24.333k 0.959 7.333h 0.629 21.857j 0.129 13.000q 0.184 36.909x 0.168 21.400z 0.173 6.200c 0.785 7.294s 0.158 17.000zh 0.203 31.500ch 0.237 27.535sh 0.182 28.692r 1.814 5.5333. 总结浊音a/o/e/i/u/v/ao/ai/ei/ou/an/en/in/ang/eng/ong/ing/共17个的短时幅值、短时过零率和自相关函数的规律,估算这17个浊音的平均短时幅值和平均短时过零率,从自相关函数上估算这17个浊音的基音周期;答:浊音能量高,短时幅值也比较高,短时过零率比较低,由于浊音有一定的准周期性,所以自相关函数有比较明显的峰值和周期性。
浊音音节平均短时幅值平均短时过零率基音周期a 3.662 0.643 57o 2.948 0.184 71e 2.531 0.148 59i 1.693 0.061 60u 1.300 0.032 61v 1.081 0.024 66ao 2.000 0.123 71ai 2.307 0.121 57ei 1.828 0.074 67ou 0.294 0.000 67an 1.500 0.061 58en 1.827 0.073 54in 2.257 0.118 56ang 0.591 0.009 65eng 1.473 0.053 56ong 1.712 0.059 64ing 0.494 0.014 714. /r/、/m/、/n/ 从这几个音素的自相关函数图形判断为“清音”还是“浊音”,若为浊音估算其基音周期;答:(1)/r/: 自相关函数具有周期性,基音周期为67(样本点数)(2)/m/: 自相关函数具有周期性,基音周期为67(样本点数)(3)/n/ : 自相关函数具有周期性,基音周期为59(样本点数)可以看出/r/、/m/、/n/这几个因素的自相关函数图形有准周期性,并且有比较明显的峰值,所以为浊音。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
华南理工大学《语音信号处理》实验报告
实验名称:基音周期估计
姓名:
学号:
班级:10级电信5班
日期:2013年5 月15日
1.实验目的
本次试验的目的是通过matlab编程,验证课本中基音周期估计的方法,本实验采用的方法是自相关法。
2. 实验原理
1、基音周期
基音是发浊音时声带震动所引起的周期性,而基音周期是指声带震动频率的倒数。
基音周期是语音信号的重要的参数之一,它描述语音激励源的一个重要特征,基音周期信息在多个领域有着广泛的应用,如语音识别、说话人识别、语音分析与综合以及低码率语音编码,发音系统疾病诊断、听觉残障者的语音指导等。
因为汉语是一种有调语言,基音的变化模式称为声调,它携带着非常重要的具有辨意作用的信息,有区别意义的功能,所以,基音的提取和估计对汉语更是一个十分重要的问题。
由于人的声道的易变性及其声道持征的因人而异,而基音周期的范围又很宽,而同—个人在不同情态下发音的基音周期也不同,加之基音周期还受到单词发音音调的影响,因而基音周期的精确检测实际上是一件比较困难的事情。
基音提取的主要困难反映在:①声门激励信号并不是一个完全周期的序列,在语音的头、尾部并不具有声带振动那样的周期性,有些清音和浊音的过渡帧是很难准确地判断是周期性还是非周期性的。
②声道共振峰有时会严重影响激励信号的谐波结构,所以,从语音信号中直接取出仅和声带振动有关的激励信号的信息并不容易。
③语音信号本身是准周期性的(即音调是有变化的),而且其波形的峰值点或过零点受共振峰的结构、噪声等的影响。
④基音周期变化范围大,从老年男性的50Hz到儿童和女性的450Hz,接近三个倍频程,给基音检测带来了一定的困难。
由于这些困难,所以迄今为止尚未找到一个完善的方法可以对于各类人群(包括男、女、儿童及不向语种)、各类应用领域和各种环境条件情况下都能获得满意的检测结果。
尽管基音检测有许多困难,但因为它的重要性,基音的检测提取一直是一个研究的课题,为此提出了各种各样的基音检测算法,如自相关函数(ACF)法、峰值提取算法(PPA)、平均幅度差函数(AMDF)法、并行处理技术、倒谱法、SIFT、谱图法、小波法等等。
2、自相关函数
对于离散的语音信号x(n),它的自相关函数定义为:
R(k)=Σx(n)x(n-k),
如果信号x(n))具有周期性,那么它的自相关函数也具有周期性,而且周期
与信号x(n)的周期性相同。
自相关函数提供了一种获取周期信号周期的方法。
在周期信号周期的整数倍上,它的自相关函数可以达到最大值,因此可以不考虑起始时间,而从自相关函数的第一个最大值的位置估计出信号的基音周期,这使自相关函数成为信号基音周期估计的一种工具。
3、短时自相关函数
语音信号是非平稳的信号,所以对信号的处理都使用短时自相关函数。
短时自相关函数是在信号的第N个样本点附近用短时窗截取一段信号,做自相关计算所得的结果
Rm(k)=Σx(n)x(n-k)
式中,n表示窗函数是从第n点开始加入。
3. 实验数据及平台
本实验所采用的数据语音文件isolated word.WAV,平台是MATLAB2010。
4. 实验过程(步骤)
1、读取wav文件;
2、利用自相关法进行基音周期估计;
3、去除野点。
5. 实验结果及讨论
1、读取wav文件
function pitch
x=wavread('E:\yuuyin\isolated word.WAV');%读取声音文件
figure(1);
stem(x,'.'); %显示声音信号的波形得到的波形如下:
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 11]);
xlabel('帧数(n)');ylabel('周期(ms)');title('各帧基音周期');
结果如下图:
由图中可以看出基音周期大约为10ms,但是图中存在太多的野点,为此,需要对此进行进一步的处理,即去除野点。
3、去除野点
T1= medfilt1(T,5); %去除野点
figure(3);stem(T1,'.');axis([0 length(T1) 0 11]);
xlabel('帧数(n)');ylabel('周期(ms)');title('各帧基音周期');
得到的结果如下:
6. 实验总结
短时自相关函数法基音检测的主要原理是通过比较原始信号和它移位后的信号之间的类似性来确定基音周期,如果移位距离等于基音周期,那么两个信号具有最大类似性。
基于自相关函数的算法是基音周期估计的常用方法,特别适用于噪声环境下的基音提取。
自相关函数在基音周期处表现为峰值,相邻两个峰值之间的间隔即为一个基音周期。
但是计算自相关函数的运算量是很大的,其原因是计算机进行乘法运算非常费时。
为此可以对中心削波函数进行修正,采用三电平中心削波的方法。
三电平削波的自相关函数的计算很简单,因为削波后的信号的取值只有-1、0、1三种情况,因而不需作乘法运算而只需要简单的组合逻辑便可以。
7. 实验代码
function pitch
x=wavread('E:\yuuyin\isolated word.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 11]);
xlabel('帧数(n)');ylabel('周期(ms)');title('各帧基音周期');
T1= medfilt1(T,5); %去除野点
figure(3);stem(T1,'.');axis([0 length(T1) 0 11]);
xlabel('帧数(n)');ylabel('周期(ms)');title('各帧基音周期');。