语音修正的短时自相关的实现
语音信号的短时时域分析

x=linspace(0,100,10001); h=zeros(10001,1); h(1:2001)=0; h(2002:8003)=1; h(8004:10001)=0; figure(1); subplot(1,2,1) plot(x,h,'k');
黑色 title('矩形窗时域波形'); xlabel('样点数'); ylabel('幅度'); axis([0,100,-0.5,1.5]) line([0,100],[0,0]) w1=linspace(0,61,61); w1(1:61)=1; w2=fft(w1,1024); w3=w2/w2(1) w4=20*log10(abs(w3)); w=2*[0:1023]/1024; subplot(1,2,2); plot(w,w4,'k') axis([0,1,-100,0]) title('矩形窗幅度特性'); xlabel('归一化频率 f/fs'); ylabel('幅度/dB');
H ( z ) 1 z 1
设 n 时刻的语音采样值为 x(n) ,经过预加重处理后的结果为:
y (n) x(n) x(n 1)
高通滤波器的幅频特性和相频特性如下:
图1 预加重前和预加重后的一段语音信号时域波形:
2
图2 预加重前和预加重后的一段语音信号频谱:
图3 例一:语音信号预加重
x=linspace(20,80,61); h=hamming(61); figure(1); subplot(1,2,1); plot(x,h,'k'); title('Hamming窗时域波形'); xlabel('样点数'); ylabel('幅度'); w1=linspace(0,61,61); w1(1:61)=hamming(61); w2=fft(w1,1024); w3=w2/w2(1); w4=20*log10(abs(w3)) w=2*[0:1023]/1024; subplot(1,2,2) plot(w,w4,'k') axis([0,1,-100,0]) title('Hamming窗幅度特性'); xlabel('归一化频率 f/fs'); ylabel('幅度/dB能量 %定义画图数量和布局 %画 N=50 时的语音能量图 %横坐标 %纵坐标 %曲线标识 %定义横纵坐标范围
修后-基于短时自相关法的周期估值+(1)

基于短时自相关法的基音周期估值【摘要】MATLAB是一种科学计算的软件,其具有处理数据的重要作用。
且MATLAB运用的形式是矩阵形式。
另外,MATLAB把性能的数值计算与可视化集合为一个整体,还提供了大量的内置函数。
也正是因为如此,它在当代科学计算工作、系统控制以及处理信息等领域得到广泛的应用和研究。
【关键词】清音;浊音;基音周期;自相关函数;研究随着现代语音处理技术的快速发展以及检测方法的进一步提高,其在实施过程中,想要去除声音的刺激是否是完整的周期脉冲,与声道的影响是十分困难的。
照此一来,基音周期就进行定位的定位间距是不可能的,或者具有相当大的困难。
除此之外,加上基音周期的变化范围比较广,因此,其个人发音的习惯、性别、年龄、发音力度以及发音时情感等多重因素都对基音周期定量具有严重的影响,并且不能够准确确定。
照此一来,在这样的前提下,其健壮和准确的特性就起不到应有的作用。
直至今日,还未发现任何一种万能方法,能够确保其在任何情况下都能准确地、可靠地估计出基音的周期。
根据调查发现,当前运用的主要方法主要有基于传统的语音模型,最具代表性的就是自相关法、平均幅度差函数法、线性预测分析方法、小波变换法及在四种算法上的基础上的衍生算法等。
此外,由于语言的本身的语音声学性能,加上语言的自然性,其成为当前人类传播的最有效,最方便的一种方式。
在当前信息化盛行的现代,其针对语音处理技术内容所做的研究不仅具有现代意义,同时还有助于其更有效的生产,运输,存储,访问应用程序以及储存语音信息,更重要的一点是还推动了社会发展,具有不可替代的重要作用。
因此,有必要对基音周期估计量进行研究。
一般情况下,信号与系统中MATLAB应用的方式是通过用符号运算和数值计算进行仿真分析的。
加上信号与系统课程中的许多内容大都是基于公式而进行演算,此外,MATLAB又是借助数学符号工具箱来为工作提供的运算功能的,这在一定程度上基本满足设计的实际需求。
语音信号的自相关基音周期检测

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

成员
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)所示可以看出自相关函数检测出的基音周期是原始信号基音周期的一半,这是由于谐波峰值点(箭头所示)的影响,这就是上述缺点中所说的倍频现象。
语音信号处理实验讲义

for m=1:N
sum=sum+b1(m)*b1(m+k-1);
end
A(k)=sum;
end
for k=1:320
A1(k)=A(k)/A(1);
end
%画图
figure(1)
subplot(3,1,1)
plot(A1);
xlabel('延时k')
ylabel('R(k)')
legend('N=320')
e=fra(256,128,x);
ee=e(20,:);
subplot(2,2,1)
ee1=ee/max(ee);
plot(ee1)
xlabel('样点数')
ylabel('幅度')
title('原始语音')
axis([0,256,-1.5,1.5])
%矩形窗傅立叶变换
r=fft(ee,1024);
axis([0,320,-0.5,1])
图2-2 修正的自相关函数(参加自相关运算的点数N取不同值)
四、思考题
1、自相关函数的作用是什么?互相关函数的作用是什么?
2、浊音信号分别加矩形窗和汉明窗时自相关函数有什么不同?
3、清音信号的自相关函数和浊音信号的有什么区别?
实验三语音信号频域特征分析
一、实验目的
plot(s2)
title('一帧语音信号');
xlabel('样点数');
ylabel('幅度');
axis([0,320,-1,1]);
subplot(3,1,2)
请描述短时自相关函数在语音信号时域处理的应用

请描述短时自相关函数在语音信号时域处理的应用短时自相关函数(Short-term autocorrelation
function,STAF)是描述语音信号时域特征的一种重要工具,通常用于分析语音信号的波形结构、频率特性等信息。
下面是STAF在语音信号时域处理中的应用:
1. 语音信号的频谱分析:通过计算短时自相关函数,可以确定语音信号在不同频率上的成分个数和强度分布情况。
这对于语音信号的频谱分析具有重要的参考意义。
2. 语音信号的滤波器设计:通过计算STAF,可以确定语音信号在不同频率上的系数,为语音信号的滤波器设计提供参考。
例如,使用快速傅里叶变换(FFT)进行频域分析,然后使用适当的滤波器来实现语
音信号的降噪、去基线等处理。
3. 短时功率谱密度分析(Short-term power spectrum density,SPD):通过计算短时自相关函数,可以得到语音信号在不同
频率上的功率谱密度分布情况。
这对于语音信号的功率谱分析具有重要的参考意义,可以用于语音信号的功率谱估计、功率限制等任务。
4. 语音信号的短时特征提取:通过计算短时自相关函数,可以得到语音信号的短时特征。
这些特征可以用于识别不同的说话人、区分不同的语音信号等任务。
例如,可以使用一些基于短时特征的语音分类算法,如基于语音谱聚类的算法。
短时自相关函数是语音信号时域处理中重要的工具,可以用于分析语音信号的波形结构、频率特性、滤波器设计、功率谱密度分析、
短时特征提取等任务,为语音信号的处理提供更好的参考和支持。
《语音信号处理》实验2-基音周期估计

华南理工大学《语音信号处理》实验报告实验名称:基音周期估计姓名:学号:班级:10级电信5班日期:2013年5 月15日1.实验目的本次试验的目的是通过matlab编程,验证课本中基音周期估计的方法,本实验采用的方法是自相关法。
2. 实验原理1、基音周期基音是发浊音时声带震动所引起的周期性,而基音周期是指声带震动频率的倒数。
基音周期是语音信号的重要的参数之一,它描述语音激励源的一个重要特征,基音周期信息在多个领域有着广泛的应用,如语音识别、说话人识别、语音分析与综合以及低码率语音编码,发音系统疾病诊断、听觉残障者的语音指导等。
因为汉语是一种有调语言,基音的变化模式称为声调,它携带着非常重要的具有辨意作用的信息,有区别意义的功能,所以,基音的提取和估计对汉语更是一个十分重要的问题。
由于人的声道的易变性及其声道持征的因人而异,而基音周期的范围又很宽,而同—个人在不同情态下发音的基音周期也不同,加之基音周期还受到单词发音音调的影响,因而基音周期的精确检测实际上是一件比较困难的事情。
基音提取的主要困难反映在:①声门激励信号并不是一个完全周期的序列,在语音的头、尾部并不具有声带振动那样的周期性,有些清音和浊音的过渡帧是很难准确地判断是周期性还是非周期性的。
②声道共振峰有时会严重影响激励信号的谐波结构,所以,从语音信号中直接取出仅和声带振动有关的激励信号的信息并不容易。
③语音信号本身是准周期性的(即音调是有变化的),而且其波形的峰值点或过零点受共振峰的结构、噪声等的影响。
④基音周期变化范围大,从老年男性的50Hz到儿童和女性的450Hz,接近三个倍频程,给基音检测带来了一定的困难。
由于这些困难,所以迄今为止尚未找到一个完善的方法可以对于各类人群(包括男、女、儿童及不向语种)、各类应用领域和各种环境条件情况下都能获得满意的检测结果。
尽管基音检测有许多困难,但因为它的重要性,基音的检测提取一直是一个研究的课题,为此提出了各种各样的基音检测算法,如自相关函数(ACF)法、峰值提取算法(PPA)、平均幅度差函数(AMDF)法、并行处理技术、倒谱法、SIFT、谱图法、小波法等等。
声音的特征提取方法

声音的特征提取方法声音是日常生活中不可或缺的一部分,每个人的声音都有其独特的特征。
声音的特征提取在语音识别、情感识别、人声合成等领域中有着重要的应用。
本文将介绍几种常见的声音特征提取方法。
1. 短时能量短时能量是指在一段时间内声音的能量大小。
通常以毫瓦为单位衡量。
计算方法为将声音分为若干个等长的时间段,然后计算每个时间段内声音信号的平方和,再取平均值。
通过计算短时能量,可以判断声音的强度和音频片段的节奏性。
2. 频谱特征频谱特征是指声音信号在频域上的特征。
常见的频谱特征有频率、幅度、相位等。
其中,频率是指声音信号中各个频率成分的大小;幅度是指声音信号各个频率成分的振幅大小;相位则是指各个频率成分相对于参考信号的相位差。
频谱特征的提取可以通过FFT(快速傅里叶变换)算法实现。
3. 梅尔频率倒谱系数梅尔频率倒谱系数(MFCC)是一种常用的声音特征提取方法。
它模拟人耳对声音的感知方式,将声音信号从时域转换到频域。
MFCC的提取过程可以分为以下几步:首先,将声音信号分帧;然后,对每一帧进行FFT变换,并计算出梅尔频率谱;接着,对梅尔频率谱进行离散余弦变换,得到MFCC系数。
MFCC系数可以用于声音识别、语音合成、情感识别等领域。
4. 过零率过零率是指声音信号在时域上穿过零点的次数。
过零率可以反映声音信号的频率和音调。
通常,过零率越高,声音的高音部分越多。
过零率可以用于声音识别、语音合成、音乐处理等领域。
5. 短时自相关函数短时自相关函数(STACF)是指声音信号在时域上的自相关性。
它可以反映声音信号的周期性和谐波结构。
计算方法为将声音分帧,并计算每一帧内各个时刻的自相关系数。
通过STACF,可以提取出声音的基频信息,用于声音合成和语音识别。
总结声音的特征提取是一项重要的任务,它可以帮助我们从声音信号中提取出有用的信息。
本文介绍了几种常见的声音特征提取方法,包括短时能量、频谱特征、MFCC、过零率以及STACF。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
语音修正的短时自相关的实现
一.实验目的
1、熟悉语音修正自相关的意义。
2、充分理解取不同窗长时的语音的修正自相关的变化情况。
3、熟悉Matlab编程语音在语音信号处理中的作用。
4、能够实现程序的重新编制。
二.实验原理
对于语音来说,采用短时分析方法,语音短时自相关函数为
但是,在计算短时自相关时,窗选语音段为有限长度N,而求和上限为N-1-k,因此当k增加时可用于计算的数据就越来越少了,从而导致k增加时自相关函数的幅度减小。
为了解决这个问题,提出了语音修正的短时自相关。
修正的短时自相关函数,其定义如下:
三.实验要求
1、实验前自己用Cool Edit 音频编辑软件录制声音,并把它保存为.txt文件。
2、编程时间不同矩形窗长N=320,160,70的短时修正自相关。
3、用Matlab画出短时修正自相关的图形。
4、写出实验报告,分析实验结果。
四.实验步骤
1、用Cool Edit 读入浊音语音,设置采样率为8kHz,16位,单声道。
2、将读入的语音wav文件保存为txt文件。
3、读入Matlab中,并且对照取不同矩形窗长N的短时修正自相关函数,画出图形。
五.实验程序及数据
fid=fopen('voice.txt','rt')
b=fscanf(fid,'%f');
b1=b(1:320);
N=160; 此处N变为160
A=[];
for k=1:160;
sum=0;
for m=1:N;
sum=sum+b1(m)*b1(m+k-1);
end
A(k)=sum;
end
for k=1:160
A1(k)=A(k)/A(1);
end
figure(1)
subplot(3,1,1)
plot(A1);
xlabel('延时k')
ylabel('R(k)')
legend('N=320')
axis([0,180,-0.5,1]);
b2=b(1:160);
N=80; N变为80
B=[];
for k=1:80;
sum=0;
for m=1:N;
sum=sum+b2(m)*b2(m+k-1);
end
B(k)=sum;
end
for k=1:80
B1(k)=B(k)/B(1);
end
figure(1)
subplot(3,1,2)
plot(B1);
xlabel('延时k') ylabel('R(k)') legend('N=80')
axis([0,180,-0.5,1]); b3=b(1:120);
N=60; N 变为60 C=[];
for k=1:60; sum=0; for m=1:N;
sum=sum+b3(m)*b3(m+k-1); end
C(k)=sum; end
for k=1:60
C1(k)=C(k)/C(1); end
figure(1)
subplot(3,1,3) plot(C1);
xlabel('延时k') ylabel('R(k)') legend('N=70')
axis([0,180,-0.5,1]);
20
40
60
80100120
140
160180
-0.5
00.51延时k
R (k )
20
40
60
80100120
140
160180
-0.5
00.51延时k
R (k )
20
40
60
80100120
140
160
180
-0.5
00.51
延时k
R (k )。