当前位置:文档之家› 语音信号处理实验指导书

语音信号处理实验指导书

语音信号处理实验指导书实验一 语音信号采集与简单处理一、 实验目的、要求 (1)掌握语音信号采集的方法(2)掌握一种语音信号基音周期提取方法 (3)掌握短时过零率计算方法 (4)了解Matlab 的编程方法 二、 实验原理 基本概念: (a )短时过零率:短时内,信号跨越横轴的情况,对于连续信号,观察语音时域波形通过横轴的情况;对于离散信号,相邻的采样值具有不同的代数符号,也就是样点改变符号的次数。

对于语音信号,是宽带非平稳信号,应考察其短时平均过零率。

其中sgn[.]为符号函数⎪⎩⎪⎨⎧<=>=0 x(n)-1sgn(x(n))0 x(n)1sgn(x(n))短时平均过零的作用 1.区分清/浊音:浊音平均过零率低,集中在低频端; 清音平均过零率高,集中在高频端。

2.从背景噪声中找出是否有语音,以及语音的起点。

(b )基音周期基音是发浊音时声带震动所引起的周期性,而基音周期是指声带震动频率的倒数。

基音周期是语音信号的重要的参数之一,它描述语音激励源的一个重要特征,基音周期信息在多个领域有着广泛的应用,如语音识别、说话人识别、语音分析与综合以及低码率语音编码,发音系统疾病诊断、听觉残障者的语音指导等。

因为汉语是一种有调语言,基音的变化模式称为声调,它携带着非常重要的具有辨意作用的信息,有区别意义的功能,所以,基音的提取和估计对汉语更是一个十分重要的问题。

∑--=-=1)]1(sgn[)](sgn[21N m n n n m x m x Z由于人的声道的易变性及其声道持征的因人而异,而基音周期的范围又很宽,而同—个人在不同情态下发音的基音周期也不同,加之基音周期还受到单词发音音调的影响,因而基音周期的精确检测实际上是一件比较困难的事情。

基音提取的主要困难反映在:①声门激励信号并不是一个完全周期的序列,在语音的头、尾部并不具有声带振动那样的周期性,有些清音和浊音的过渡帧是很难准确地判断是周期性还是非周期性的。

②声道共振峰有时会严重影响激励信号的谐波结构,所以,从语音信号中直接取出仅和声带振动有关的激励信号的信息并不容 易。

③语音信号本身是准周期性的(即音调是有变化的),而且其波形的峰值点或过零点受共振峰的结构、噪声等的影响。

④基音周期变化范围大,从老年男性的50Hz 到儿童和女性的450Hz ,接近三个倍频程,给基音检测带来了一定的困难。

由于这些困难,所以迄今为止尚未找到一个完善的方法可以对于各类人群(包括男、女、儿童及不向语种)、各类应用领域和各种环境条件情况下都能获得满意的检测结果。

尽管基音检测有许多困难,但因为它的重要性,基音的检测提取一直是一个研究的课题,为此提出了各种各样的基音检测算法,如自相关函数(ACF)法、峰值提取算法(PPA)、平均幅度差函数(AMDF)法、并行处理技术、倒谱法、SIFT 、谱图法、小波法等等。

三、使用仪器、材料微机(带声卡)、耳机,话筒。

四、 实验步骤 (1)语音信号的采集利用Windows 语音采集工具采集语音信号,将数据保存wav 格式。

采集一组浊音信号和一组清音信号,信号的长度大于3s 。

(2)采用短时相关函数计算语音信号浊音基音周期,考虑窗长度对基音周期计算的影响。

采用倒谱法求语音信号基音周期。

(3)计算短时过零率,清音和浊音的短时过零率有何区别。

五、实验过程原始记录(数据,图表,计算) 短时过零率短时相关函数P j j n s n s j R N jn n n n ,,1)()()(1=-=∑-=∑--=-=10)]1(sgn[)](sgn[21Nm n n nm x m x Z六、实验结果,及分析图一清浊音图二浊音自相关函数图三清音自相关函数实验结果分析:清音短时过零率高,浊音过零率低。

浊音、清音自相关函数可以看出,浊音存在基音周期,清音不存在基音周期。

浊音的基音周期是自相关函数峰值之间的时间差。

七、实验参考程序1.段时能量a1=zeros(1,620);K=450;R=zeros(1,250);duanshnl=0;maxx=0;speech=zeros(1,1000);sp1=wavread('D:\语音信号处理试验\a.wav');%8000采样频率maxx=max(sp1);speech(1:1000)=sp1(1:1000);duanshnl=speech(1:1000)*speech(1:1000)';duanshnl=duanshnl/(maxx^2)plot(sp1(1:400));hold onsp=wavread('D:\语音信号处理试验\s.wav');%8000采样频率speech(1:1000)=sp(1:1000);qduanshnl=speech(1:1000)*speech(1:1000)';qduanshnl=qduanshnl/(maxx^2)plot(sp(1:400),'r')2 短时过零率close alla1=zeros(1,620);K=450;R=zeros(1,250);duanshnl=0;maxx=0;speech=zeros(1,1000);sp1=wavread('D:\语音信号处理试验\a.wav');%11000采样频率sp=wavread('D:\语音信号处理试验\f.wav');%11000采样频率L=mean(sp);sp=sp-L;L2=mean(sp1);sp1=sp1-L2;%以下程序计算短时过零率m1=0;m2=0;for i=1:2000if sp1(i)>0spp1(i)=1;elsespp1(i)=-1;endendfor i=1:2000if sp(i)>0spp(i)=1;elsespp(i)=-1;endendfor i=2:2000m1=m1+0.5*abs(spp1(i)-spp1(i-1));m2=m2+0.5*abs(spp(i)-spp(i-1)); % m2 >> m1endplot(sp1(1:2000),'r');hold onplot(sp(1:2000));3 相关函数法计算基音周期a1=zeros(1,620);K=450;R=zeros(1,250);sp=wavread('e:\E\letter\a1.wav');%11000采样频率for i=1:250for j=1:601-1-iR(i)=R(i)+sp(j)*sp(j+i);endendplot(R/14)hold onR=zeros(1,250);sp=wavread('e:\E\letter\f1.wav');%11000采样频率f1=sp(3300:4000);%11000采样频率for i=1:250for j=1:601-1-iR(i)=R(i)+f1(j)*f1(j+i);endendplot(R/14,'r')4 倒谱法计算基音周期close alla1=zeros(1,620);K=500;sp=wavread('D:\a1.wav');%11000采样频率sound=zeros(1,K);speech=zeros(1,K);tt=zeros(1,K);hanning=zeros(1,K); for number=1:Khanning(number)=(1/2)*(1-cos((2*pi)*(number-1)/(K-1)));endsound=sp(K:2*K-1);tt=abs(fft(sound(1:K)));for i=1:Kspeech(i)=logm(tt(i));endspeech=real(ifft(speech));plot(speech,'g')hold onsound=sound.*hanning';tt=abs(fft(sound(1:K)));for i=1:Kspeech(i)=logm(tt(i));endspeech=real(ifft(speech));plot(speech,'r');sp=wavread('D:\f1.wav');%11000采样频率f1=sp(3000:4000);%11000采样频率%f1=sp(K:4000);sound=f1(K:2*K-1);tt=abs(fft(sound(1:K)));for i=1:Kspeech(i)=logm(tt(i));endspeech=real(ifft(speech));figureplot(speech,'g')hold onsound=sound.*hanning';tt=abs(fft(sound(1:K)));for i=1:Kspeech(i)=logm(tt(i));endspeech=real(ifft(speech));plot(speech,'r');实验二语音信号的频域处理一、实验目的、要求(1)掌握语音信号频域分析方法(2)了解语音信号频域的特点(3)了解谱减法作为频域语音增强的原理与编程实现(3)了解谱减法的缺点,并分析产生该缺点的原因二、实验原理语音虽然是一个时变、非平稳的随机过程。

但在短时间内可近似看作是平稳的。

因此如果能从带噪语音的短时谱中估计出“纯净”语音的短时谱,即可达到语音增强的目的。

由于噪声也是随机过程,因此这种估计只能建立在统计模型基础上。

利用人耳感知对语音频谱分量的相位不敏感的特性,这类语音增强算法主要针对短时谱的幅度估计。

短时话幅度估计概述 设一帧加窗后的带噪语音为()()()01y n s n d n n N =+≤≤- (2.1)其中()s n 为纯净语音,()d n 假设为平稳加性高斯噪声。

将()y n 在一组基{()}k n φ上展开,使展对系数为各不相关的随机变量。

设()y n 的相关函数为(,)y R n m ,由K -L 展开得知{()}k n φ满足1()()(,)()N k y k m K n R n m m λφφ-==∑ (2.2)则()y n 的展开式为110()()()()N k k K N k k n y n Y nY y n n φφ-=-=⎧=⎪⎪⎨⎪=⎪⎩∑∑ (2.3) 如果()y n 的相关长度小于帧长N ,则()k n φ的近似函数为2()k nk n j N πϕ⎛⎫=⎪⎝⎭(2.4)可见()y n 的展开过程实际上相当于离散博里叶交换,其展开系数(为傅里叶变换系数。

相关主题