当前位置:文档之家› 语音信号处理实验讲义

语音信号处理实验讲义

语音信号处理实验讲义
语音信号处理实验讲义

语音信号处理实验讲义

编写人:蔡萍 时间:2011-12

实验一 语音信号生成模型分析

一、实验目的

1、了解语音信号的生成机理,了解由声门产生的激励函数、由声道产生的调制函数和由嘴唇产生的辐射函数。

2、编程实现声门激励波函数波形及频谱,与理论值进行比较。

3、编程实现已知语音信号的语谱图,区分浊音信号和清音信号在语谱图上的差别。

二、实验原理

语音生成系统包含三部分:由声门产生的激励函数()G z 、由声道产生的调制函数()V z 和由嘴唇产生的辐射函数()R z 。语音生成系统的传递函数由这三个函数级联而成,即

()()()()H z G z V z R z =

1、激励模型

发浊音时,由于声门不断开启和关闭,产生间隙的脉冲。经仪器测试它类似于斜三角波的脉冲。也就是说,这时的激励波是一个以基音周期为周期的斜三角脉冲串。单个斜三角波的频谱表现出一个低通滤波器的特性。可以把它表示成z 变换的全极点形式

12

1()(1)

cT

G z e

z --=

-?

这里c 是一个常数,T 是脉冲持续时间。周期的三角波脉冲还得跟单位脉冲串的z 变换相乘:

112

1

()()()1(1)v cT A U z E z G z z e z ---=?=

?--?

这就是整个激励模型,v A 是一个幅值因子。

2、声道模型

当声波通过声道时,受到声腔共振的影响,在某些频率附近形成谐振。反映在信号频谱图上,在谐振频率处其谱线包络产生峰值,把它称为共振峰。

一个二阶谐振器的传输函数可以写成

12

()1i

i i i A V z B z C z

--=

-- 实践表明,用前3个共振峰代表一个元音足够了。对于较复杂的辅音或鼻音共振峰要到5

个以上。多个()i V z 叠加可以得到声道的共振峰模型

12

1

11

()()11R

r

r M

M

i

r i N k

i i i i

k k b z

A V z V z

B z

C z a z -=---======---∑∑∑

3、辐射模型

从声道模型输出的是速度波,而语音信号是声压波。二者倒比称为辐射阻抗,它表征了口唇的辐射效应,可用下式表示:

10()(1)R z R z -=-

三、实验内容

1、设声门脉冲单个三角波的数学表达式为

11111221

[1cos ] 02()()cos 20 n n N N n N g n N n N N N ππ?-≤≤?????-?=≤≤+????

??????

其他

试画出三角波波形图及其频谱。取12=5=8N N ,。 参考程序:

%三角波及其频谱

n=linspace(0,25,125); g=zeros(1,length(n)); i=0;

for i=0:40

if n(i+1)<=5

g(i+1)=0.5*(1-cos(n(i+1)*pi/5)); else

g(i+1)=cos((n(i+1)-5)*pi/8); end end

figure(1)

subplot(1,2,1) plot(n,g)

xlabel('时间/ms') ylabel('幅度')

axis([0,25,-0.4,1.2])

r=fft(g,1024);

r1=abs(r);

yuanlai=20*log10(r1);

signal(1:64)=yuanlai(1:64);

pinlv=(0:1:63)*8000/512;

subplot(1,2,2)

plot(pinlv,signal);

xlabel('频率/Hz')

ylabel('幅度/dB')

axis([0,620,0,30])

图1-1 三角波及其频谱

2、给出语音段“数字信号处理”(speech.wav),画出它的语谱图。clear all;

[x,sr]=wavread('speech_dsp.wav');

s=length(x);

w=round(44*sr/1000);

n=w;

shift=w/2;

h=w-shift;

%win=hanning(n)';

win=hamming(n)';

c=1;

ncols=1+fix((s-n)/h);

d=zeros((1+n/2),ncols);

for b=0:h:(s-n)

u=win'.*x((b+1):(b+n));

t=fft(u);

d(:,c)=t(1:(1+n/2));

c=c+1;

end

tt=[0:h:(s-n)]/sr;

ff=[0:(n-2)]*sr/n;

imagesc(tt/1000,ff/1000,20*log10(abs(d)));

colormap(gray);

axis xy

xlabel('时间/s')

ylabel('频率/kHz')

图1-2 语谱图

四、思考题

1、声门激励脉冲信号是高频衰减的还是高频增强的?

2、画语谱图时为什么要给语音信号加汉明窗?若加矩形窗会有什么区别?

3、在语谱图上观察,浊音信号的和清音信号的频谱有什么区别?

实验二 语音信号时域特征分析

一、实验目的

1、了解自相关函数及自相关函数在语音信号处理中的应用。

2、编写程序分析语音信号的短时自相关特征,计算语音信号的基音周期。

3、编写修正短时自相关函数的程序,并与未修正的函数进行比较。

二、实验原理

自相关函数用于衡量信号自身时间波形的相似性。由前面的讨论可知,清音和浊音的发声机理不同,因而在波形上也存在着较大的差异。浊音的时间波形呈现出一定的周期性,波形之间相似性较好;清音的时间波形呈现出随机噪声的特性,杂乱无章,样点间的相似性较差,这样,可以用短时自相关函数来测定语音的相似特性。

时域离散确定信号的自相关函数定义为:

()()()m R k x m x m k α

+=-∞

=

+∑

对于语音信号来说,采用短时分析方法,可以定义短时自相关函数为

()()()()()n m R k x m w n m x m k w n k m α

+=-∞

=

-+--∑

因为()()n n R k R k -=,所以

()()[()()][()()]n n m R k R k x m x m k w n m w n m k α

+=-∞

=-=

---+∑

定义()()()k h n w n w n k =+,则上式可以写成

()[()()]()n k

m R k x m x m k h n m α

+=-∞

=

--∑

如果长基音周期用窄的窗,将得不到预期的基音周期;但是如果短的基音周期用长的

窗,自相关函数将对多个基因周期做平均计算,从而模糊语音的短时特性,这是不希望的。为了解决这个问题,可以采用修正的短时自相关函数,选择的窗长不一定要等于自相关函数的最大自变量取值。这种方法可以采用较窄的窗,同时避免了短时自相关函数随k 增加而衰减的不足。

三、实验内容

1、根据给出的浊音信号,分别画出浊音信号的时域波形、加矩形窗和加汉明窗后计算短时自相关归一化后的结果。语音的抽样频率为8kHz,窗长为320。

参考程序:

[x,fs,nbits]=wavread('speech_dsp.wav');

s1=x(2500:2820);

N=320;

A=[];

for k=1:320

sum=0;

for m=1:N-k+1

sum=sum+s1(m)*s1(m+k-1);

end

A(k)=sum

end

for k=1:320

A1(k)=A(k)/A(1);

end

f=zeros(1,320);

n=1,j=1;

while j<=320

f(1,j)=x(n)*[0.54-0.46*cos(2*pi*n/319)];

j=j+1;

n=n+1;

end

B=[];

for k=1:320

sum=0;

for m=1:N-k+1

sum=sum+s1(m)*s1(m+k-1);

end

B(k)=sum

end

for k=1:320

B1(k)=B(k)/B(1);

end

%画图

s2=s1/max(s1);

figure(1)

subplot(3,1,1)

plot(s2)

title('一帧语音信号');

xlabel('样点数');

ylabel('幅度');

axis([0,320,-1,1]);

subplot(3,1,2)

plot(A1)

title('加矩形窗的自相关函数')

xlabel('延时k')

ylabel('自相关函数R(k)')

axis([0,320,-1,1]);

subplot(3,1,3)

plot(B1)

title('加汉明窗的自相关函数')

xlabel('延时k')

ylabel('自相关函数R(k)')

axis([0,320,-1,1]);

图2-1 浊音信号加不同窗时的自相关函数

2、仍选取上题中的语音信号,改变窗长和截取语音段的长度,计算修正的短时自相关函数。取值分别为:

(1)N=320,M=640;

(2)N=160,M=320;

(3)N=70,M=140;

[x,fs,nbits]=wavread('speech_dsp.wav');

s1=x(2500:3140);

b=s1;

%窗长640,自相关运算取320个点。

b1=b(1:640);

N=320;

A=[];

for k=1:320

sum=0;

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')

axis([0,320,-0.5,1])

%窗长320,自相关运算取160个点。

b2=b(1:320);

N=160;

A=[];

for k=1:160

sum=0;

for m=1:N

sum=sum+b2(m)*b2(m+k-1);

end

B(k)=sum;

end

for k=1:160

B1(k)=B(k)/B(1);

end

%画图

figure(1)

subplot(3,1,2)

plot(B1);

xlabel('延时k')

ylabel('R(k)')

legend('N=160')

axis([0,320,-0.5,1])

%窗长140,自相关运算取70个点。

b3=b(1:140);

N=70;

A=[];

for k=1:70

sum=0;

for m=1:N

sum=sum+b3(m)*b3(m+k-1); end

C(k)=sum;

end

for k=1:70

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,320,-0.5,1])

图2-2 修正的自相关函数(参加自相关运算的点数N 取不同值) 四、思考题

1、自相关函数的作用是什么?互相关函数的作用是什么?

2、浊音信号分别加矩形窗和汉明窗时自相关函数有什么不同?

3、清音信号的自相关函数和浊音信号的有什么区别?

实验三 语音信号频域特征分析

一、实验目的

1、了解语音信号进行短时傅里叶分析的基础。

2、画出浊音信号加不同窗时的时域波形和频谱,并进行比较。

3、画出清音信号加不同窗时的时域波形和频谱,并与浊音信号进行比较。 二、实验原理

语音信号本质上是非平稳信号,其非平稳特性是由发声器官的物理运动产生的。发声器官的运动由于存在惯性,所以可以假设语音信号在10~30ms 这样短的时间段内是平稳的,这是短时傅里叶分析的基础。

某一帧的短时傅里叶变换的定义式如下:

()()()jw

jwm

n m X e x m w n m e

α

+-=-∞

=

-∑

式中,()w n m -是窗函数,不同的窗函数,可得到不同的傅里叶变换的结果。在式中,短时傅里叶变换有两个变量,即离散时间n 及连续频率w ,若令2/w k N π=,则可得到离散的短时傅里叶变换如下:

22()()(),01k k m j

j

N

N

n m X e

x m w n m e

k N ππα

+-=-∞

=

-≤≤-∑

对于()w n m 窗来说,它除了具有选出()x m 序列中被分析部分的作用外,它的形状对时变傅里叶变换的特性也有重要作用。采用矩形窗时,基音谐波的各个峰都比较尖锐,而整个频谱图显得比较破碎,这是因为矩形窗的主瓣较窄,具有较高的频率分辨率,但它也具有较高的旁瓣,因而使基音的相邻谐波之间的干扰比较严重。相邻谐波之间的这种“泄露”的现象,抵消了矩形窗主瓣窄的优点,因此,在语音短时频谱分析中极少采用矩形窗。当加汉明窗时,得到的短时频谱要平滑得多,因而在语音分析中汉明窗用得比较普遍。 三、实验内容

1、根据给出的浊音语音,画出它分别加矩形窗和汉明窗的时域波形和短时频谱。 %函数文件fra.m ,对语音信号进行帧长为frame ,重叠为shift 的分帧 function output=fra(frame,shift,x) len=length(x);

frame_num=floor((len-frame)/shift)+1; y=zeros(frame_num,frame); for i=1:frame_num

y(i,:)=x((shift*(i-1)+1):(shift*(i-1)+frame))'; end

output=y;

%浊音的波形和短时频谱图(窗长256)

[x,fs,nbits]=wavread('speech_dsp.wav'); 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); r1=abs(r); r1=r1/max(r1);

yuanlai=20*log10(r1);

signal(1:512)=yuanlai(1:512); pinlv=(0:1:511)*8000/1024; subplot(2,2,2)

plot(pinlv,signal); xlabel('频率/Hz') ylabel('对数幅度/dB') title('加矩形窗时语音谱') axis([0,4000,-80,15])

%加汉明窗

f=ee'.*hamming(length(ee));

f1=f/max(f);

subplot(2,2,3)

plot(f1)

axis([0,256,-1.5,1.5])

xlabel('样点数')

ylabel('幅度')

title('窗选语音')

%加汉明窗傅立叶变换

r=fft(f,1024);

r1=abs(r);

r1=r1/max(r1);

yuanlai=20*log10(r1);

signal(1:512)=yuanlai(1:512);

pinlv=(0:1:511)*8000/1024;

subplot(2,2,4)

plot(pinlv,signal);

xlabel('频率/Hz')

ylabel('对数幅度/dB')

title('加汉明窗时语音谱')

axis([0,4000,-80,15])

图3-1 浊音信号加不同窗时的频谱

2、根据给出的清音语音,画出它分别加矩形窗和汉明窗的时域波形和短时频谱。%清音的波形和短时频谱图(窗长256)

[x,fs,nbits]=wavread('speech_dsp.wav');

e=fra(256,128,x);

ee=e(10,:);

subplot(2,2,1)

ee1=ee/max(ee);

plot(ee1)

xlabel('样点数')

ylabel('幅度')

title('清音原始语音')

axis([0,256,-1.5,1.5])

%清音加矩形窗傅立叶变换

r=fft(ee,1024);

r1=abs(r);

r1=r1/max(r1);

yuanlai=20*log10(r1);

signal(1:512)=yuanlai(1:512); pinlv=(0:1:511)*8000/1024; subplot(2,2,2)

plot(pinlv,signal);

xlabel('频率/Hz')

ylabel('对数幅度/dB')

title('清音加矩形窗时语音谱') axis([0,4000,-80,15])

%清音加汉明窗

f=ee'.*hamming(length(ee));

f1=f/max(f);

subplot(2,2,3)

plot(f1)

axis([0,256,-1.5,1.5])

xlabel('样点数')

ylabel('幅度')

title('清音窗选语音')

%清音加汉明窗傅立叶变换

r=fft(f,1024);

r1=abs(r);

r1=r1/max(r1);

yuanlai=20*log10(r1);

signal(1:512)=yuanlai(1:512); pinlv=(0:1:511)*8000/1024; subplot(2,2,4)

plot(pinlv,signal);

xlabel('频率/Hz')

ylabel('对数幅度/dB')

title('清音加汉明窗时语音谱')

axis([0,4000,-80,15])

图3-1 清音信号加不同窗时的频谱

四、思考题

1、浊音信号分别加矩形窗和汉明窗时的频谱有什么区别?

2、清音信号的频谱和浊音信号相比有什么不同?

3、对语音信号进行短时傅里叶分析的基础是什么?

实验四语音信号的同态处理和倒谱分析

一、实验目的

1、掌握同态处理的原理,倒谱与复倒谱的含义。

2、利用同态处理对语音信号进行基音检测。

3、利用同态处理对语音信号进行共振峰检测。

二、实验原理

1、基音检测

语音的倒谱是将语音的短时谱取对数后再进行IDFT得到的,所以浊音信号的周期性激励反映在倒谱上是同样周期的冲激。借此,可从倒谱波形中估计出基音周期。一般把倒谱波形中第二个冲激,认为是对应激励源的基频。下面给出一种倒谱法求基音周期的框图。先计算倒谱,然后在预期的基音周期附近寻找峰值。如果倒谱的峰值超出了预先规定的门限,则输入语音段定为浊音,而峰的位置就是基音周期的良好估值。如果没有超出门限的峰值,则输入语音段定为清音。如果计算的是一个时变的倒谱,则可估计出激励源模型及基音周期随时间的变化。一般每隔10~20ms计算一次倒谱,这是因为在一般语音中激励参数是缓慢变化的。

图4.1 一种倒谱法求基音周期的实现框图

2、共振峰检测

倒谱将基音谐波和声道的频谱包络分离开来。倒谱的低时部分可以分析声道、声门和辐射信息,而高频部分可用来分析激励源信息。对倒谱进行低时窗选,通过语音倒谱分析系统的最后一级,进行DFT后的输出即为平滑后的对数模函数,这个平滑得对数谱显示了特定输入语音段的谐振结构,即谱的峰值基本上对应于共振峰频率,对平滑过的对数谱中的峰值进行定位,即可估计共振峰。原理框图如图4.2所示。

图4.2 共振峰检测框图

三、实验内容

1、利用同态处理计算给出语音信号的基音周期和基频。

[y,fs,nbits]=wavread('speech_dsp.wav');

time1=1:length(y);

time=(1:length(y))/fs;

frameSize=floor(30*fs/1000);

startIndex=round(2080);

endIndex=startIndex+frameSize-1;

frame=y(startIndex:endIndex);

ylen=frameSize;

frameSize=length(frame);

frame2=frame.*hamming(length(frame));

rwy=rceps(frame2);

cepstrum=rwy(1:ylen/2);

for i=1:ylen/2

cepstrum1(i)=rwy(ylen/2+1-i);

end

for i=(ylen/2+1):ylen

cepstrum1(i)=rwy(i+1-ylen/2);

end

%基音检测

LF=floor(fs/500);

HF=floor(fs/70);

cn=cepstrum(LF:HF);

[mx_cep ind]=max(cn);

if mx_cep>0.08

a=fs/(LF+ind);

else

a=0;

end

pitch=a

%画图

figure(1);

subplot(3,1,1);

plot(time1,y);

title('语音波形');

axis tight

ylim=get(gca,'ylim');

line([time1(startIndex),time1(startIndex)],ylim,'color','r'); line([time1(endIndex),time1(endIndex)],ylim,'color','r'); xlabel('样点数');

ylabel('幅度');

subplot(3,1,2);

plot(frame);

axis([0,240,-0.5,0.5])

title('一帧语音');

xlabel('样点数');

ylabel('幅度');

subplot(3,1,3);

time2=[-119:1:-1,0:1:120];

plot(time2,cepstrum1);

axis([-120,120,-0.5,0.5])

title('一帧语音的倒谱');

xlabel('样点数');

ylabel('幅度');

图4-1 对浊音信号进行基音检测

2、利用同态处理计算给出语音信号的共振峰。[y,fs,nbits]=wavread('speech_dsp.wav'); time1=1:length(y);

time=(1:length(y))/fs;

frameSize=floor(30*fs/1000);

startIndex=round(2080);

endIndex=startIndex+frameSize-1;

frame=y(startIndex:endIndex);

%frameSize=length(frame);

frame2=frame.*hamming(length(frame)); rwy=rceps(frame2);

ylen=length(rwy);

cepstrum=rwy(1:ylen/2);

%基音检测

LF=floor(fs/500);

HF=floor(fs/70);

cn=cepstrum(LF:HF);

[mx_cep,ind]=max(cn);

%共振峰检测核心代码

%找到最大的突起的位置

NN=ind+LF;

ham=hamming(NN);

cep=cepstrum(1:NN);

ceps=cep.*ham;

%formant1=20*log(abs(fft(ceps))); formant1=abs(fft(ceps));

formant(1:2)=formant1(1:2);

for t=3:NN

%do some median filtering

z=formant1(t-2:t);

md=median(z);

formant2(t)=md;

end

for t=1:NN-1

if t<=2

formant(t)=formant1(t);

else

formant(t)=formant2(t-1)*0.25+formant2(t)*0.5+formant2(t+1)*0.25; end

end

subplot(3,1,1)

plot(cepstrum);

title('倒谱');

xlabel('样点数');

ylabel('幅度');

axis([0,ylen/2,-0.5,0.5])

spectral=20*log10(abs(fft(frame2)));

subplot(3,1,2);

xj=(0:(length(spectral)/2-1))*fs/length(spectral);

plot(xj,spectral(1:length(spectral)/2));

title('频谱')

xlabel('频率/Hz')

ylabel('幅度/dB')

axis([0,fs/2,-100,50])

subplot(3,1,3);

xi=(0:(NN/2-1))*fs/NN;

plot(xi,formant(1:NN/2));

title('平滑对数幅度谱');

xlabel('频率/Hz')

ylabel('幅度/dB')

axis([0,fs/2,0,0.5])

图4-2 共振峰检测

四、思考题

1、什么是语音信号的同态处理?倒谱与复倒谱有什么区别?

2、在基音检测过程中,程序段

if mx_cep>0.08

a=fs/(LF+ind);

else

a=0;

end

的作用是什么?

3、解释共振峰的含义。不同人发同音时共振峰相同吗?

实验五语音信号增强算法的仿真与分析

一、实验目的

1、掌握用谱减法进行语音增强的原理。

2、编写程序对带噪语音信号进行增强处理。

3、编写程序计算增强前后信号的信噪比,分析增强后的语音信号有什么缺点。

二、实验原理

谱减法是利用噪声的统计平稳性以及加性噪声与语音不相关的特点而提出的一种语音增强方法。这种方法没有使用参考噪声源,但它假设噪声是统计平稳的,即有语音期间噪声幅度谱的期望值与无语音间隙噪声的幅度谱的期望值相等。用无语音间隙测量计算得到的噪声频谱的估计值取代有语音期间噪声的频谱,与含噪语音频谱相减,得到语音频谱的估计值。当上述差值得到负的幅度值时,将其置零。由于人耳对语音的感知主要通过语音信号中各频谱分量幅度获得的,对各分量的相位不敏感。因此,此类语音增强方法将估计的对象放在短时谱幅度上。

谱减法的基本原理图如图5.1所示。

图5.1 基于语音短时谱估计的原理框图

谱减法在频域将带噪语音的功率谱减去噪声的功率谱得到纯净语音功率谱估计,开方后就得到语音幅度谱估计,用带噪语音的相位来近似纯净语音的相位,再利用反傅里叶变换恢复时域信号。它的优点是简单,而且实时实现较容易。但谱减法适用的信噪比范围较窄,在信噪比较低时对语音的可懂度损伤较大。

三、实验内容

1、用谱减法对带噪语音进行语音增强处理。

clear all;

%-----------读入语音文件--------------

[speech,fs,nbits]=wavread('speech_dsp.wav');

%-----------参数定义------------

winsize=256;

n=0.04;

len=length(speech);

numofwin=floor(len/winsize);

ham=hamming(winsize)';

hamwin=zeros(1,len);

enhanced=zeros(1,len);

x=speech'+n*randn(1,len);

noisy=n*randn(1,winsize);

N=fft(noisy);

语音信号处理与及其MATLAB实现分析

目录 摘要 (2) 第一章绪论 (3) 1.1 语音课设的意义 (3) 1.2 语音课设的目的与要求 (3) 1.3 语音课设的基本步骤 (3) 第二章设计方案论证 (5) 2.1 设计理论依据 (5) 2.1.1 采样定理 (5) 2.1.2 采样频率 (5) 2.1.3 采样位数与采样频率 (5) 2.2 语音信号的分析及处理方法 (6) 2.2.1 语音的录入与打开 (6) 2.2.2 时域信号的FFT分析 (6) 2.2.3 数字滤波器设计原理 (7) 2.2.4 数字滤波器的设计步骤 (7) 2.2.5 IIR滤波器与FIR滤波器的性能比较 (7) 第三章图形用户界面设计 (8) 3.1 图形用户界面概念 (8) 3.2 图形用户界面设计 (8) 3.3 图形用户界面模块调试 (9) 3.3.1 语音信号的读入与打开 (9) 3.3.2 语音信号的定点分析 (9) 3.3.3 N阶高通滤波器 (11) 3.3.4 N阶低通滤波器 (12) 3.3.5 2N阶带通滤波器 (13) 3.3.6 2N阶带阻滤波器 (14) 3.4 图形用户界面制作 (15) 第四章总结 (18) 附录 (19) 参考文献 (24)

摘要 数字信号处理是将信号以数字方式表示并处理的理论和技术。数字信号处理与模拟信号处理是信号处理的子集。 数字信号处理的目的是对真实世界的连续模拟信号进行测量或滤波。因此在进行数字信号处理之前需要将信号从模拟域转换到数字域,这通常通过模数转换器实现。而数字信号处理的输出经常也要变换到模拟域,这是通过数模转换器实现的。 数字信号处理的算法需要利用计算机或专用处理设备如数字信号处理器(DSP)和专用集成电路(ASIC)等。数字信号处理技术及设备具有灵活、精确、抗干扰强、设备尺寸小、造价低、速度快等突出优点,这些都是模拟信号处理技术与设备所无法比拟的。 数字信号处理的核心算法是离散傅立叶变换(DFT),是DFT使信号在数字域和频域都实现了离散化,从而可以用通用计算机处理离散信号。而使数字信号处理从理论走向实用的是快速傅立叶变换(FFT),FFT的出现大大减少了DFT的运算量,使实时的数字信号处理成为可能、极大促进了该学科的发展。 MATLAB是矩阵实验室(Matrix Laboratory)的简称,和Mathematica、Maple 并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++ ,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。

语音信号处理实验指导书

语音信号处理实验指导书 实验一 语音信号采集与简单处理 一、 实验目的、要求 (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 j n n n n ,,1) ()()(1 =-=∑-= ∑--=-=10 )]1(sgn[)](sgn[21N m n n n m x m x Z

基于Matlab的语音信号处理与分析

系(院)物理与电子工程学院专业电子信息工程题目语音信号的处理与分析 学生姓名 指导教师 班级 学号 完成日期:2013 年5 月 目录 1 绪论.............................................................................................................. 错误!未定义书签。 1.1课题背景及意义................................................................................. 错误!未定义书签。 1.2国内外研究现状................................................................................. 错误!未定义书签。 1.3本课题的研究内容和方法................................................................. 错误!未定义书签。 1.3.1 研究内容................................................................................ 错误!未定义书签。 1.3.2 开发环境................................................................................ 错误!未定义书签。 2 语音信号处理的总体方案............................................................................ 错误!未定义书签。 2.1 系统基本概述.................................................................................... 错误!未定义书签。 2.2 系统基本要求与目的........................................................................ 错误!未定义书签。 2.3 系统框架及实现................................................................................ 错误!未定义书签。 2.3.1 语音信号的采样.................................................................... 错误!未定义书签。 2.3.2 语音信号的频谱分析............................................................ 错误!未定义书签。 2.3.3 音乐信号的抽取.................................................................... 错误!未定义书签。 2.3.4 音乐信号的AM调制.............................................................. 错误!未定义书签。 2.3.5 AM调制音乐信号的同步解调............................................... 错误!未定义书签。 2.4系统设计流程图................................................................................. 错误!未定义书签。 3 语音信号处理基本知识................................................................................ 错误!未定义书签。 3.1语音的录入与打开............................................................................. 错误!未定义书签。 3.2采样位数和采样频率......................................................................... 错误!未定义书签。 3.3时域信号的FFT分析......................................................................... 错误!未定义书签。 3.4切比雪夫滤波器................................................................................. 错误!未定义书签。 3.5数字滤波器设计原理......................................................................... 错误!未定义书签。 4 语音信号实例处理设计................................................................................ 错误!未定义书签。 4.1语音信号的采集................................................................................. 错误!未定义书签。

语音信号处理实验报告

语音信号处理实验 班级: 学号: 姓名: 实验一基于MATLAB的语音信号时域特征分析(2学时)

1)短时能量 (1)加矩形窗 a=wavread('mike.wav'); a=a(:,1); subplot(6,1,1),plot(a); N=32; for i=2:6 h=linspace(1,1,2.^(i-2)*N);%形成一个矩形窗,长度为2.^(i-2)*N En=conv(h,a.*a);% 求短时能量函数En subplot(6,1,i),plot(En); if(i==2) ,legend('N=32'); elseif(i==3), legend('N=64'); elseif(i==4) ,legend('N=128'); elseif(i==5) ,legend('N=256'); elseif(i==6) ,legend('N=512'); end end

00.51 1.52 2.5 3 x 10 4 -1 1 x 10 4 024 x 10 4 05 x 10 4 0510 x 10 4 01020 x 10 4 02040 (2)加汉明窗 a=wavread('mike.wav'); a=a(:,1); subplot(6,1,1),plot(a); N=32; for i=2:6 h=hanning(2.^(i-2)*N);%形成一个汉明窗,长度为2.^(i-2)*N En=conv(h,a.*a);% 求短时能量函数En subplot(6,1,i),plot(En); if(i==2), legend('N=32'); elseif(i==3), legend('N=64'); elseif(i==4) ,legend('N=128');

语音信号处理试验教程

语音信号处理试验 实验一:语音信号时域分析 实验目的: (1)录制两段语音信号,内容是“语音信号处理”,分男女声。 (2)对语音信号进行采样,观察采样后语音信号的时域波形。 实验步骤: 1、使用window自带录音工具录制声音片段 使用windows自带录音机录制语音文件,进行数字信号的采集。启动录音机。录制一段录音,录音停止后,文件存储器的后缀默认为.Wav。将录制好文件保存,记录保存路径。男生女生各录一段保存为test1.wav和test2.wav。 图1基于PC机语音信号采集过程。 2、读取语音信号 在MATLAB软件平台下,利用wavread函数对语音信号进行采样,记住采样频率和采样点数。通过使用wavread函数,理解采样、采样频率、采样位数等概念! Wavread函数调用格式: y=wavread(file),读取file所规定的wav文件,返回采样值放在向量y中。

[y,fs,nbits]=wavread(file),采样值放在向量y中,fs表示采样频率(hz),nbits表示采样位数。 y=wavread(file,N),读取前N点的采样值放在向量y中。 y=wavread(file,[N1,N2]),读取从N1到N2点的采样值放在向量y中。 3、编程获取语音信号的抽样频率和采样位数。 语音信号为test1.wav和test2.wav,内容为“语音信号处理”,两端语音保存到工作空间work文件夹下。在M文件中分别输入以下程序,可以分两次输入便于观察。 [y1,fs1,nbits1]=wavread('test1.wav') [y2,fs2,nbits2]=wavread('test2.wav') 结果如下图所示 根据结果可知:两端语音信号的采样频率为44100HZ,采样位数为16。 4、语音信号的时域分析 语音信号的时域分析就是分析和提取语音信号的时域参数。进行语音分析时,最先接触到并且夜市最直观的是它的时域波形。语音信

语音信号处理实验报告

通信与信息工程学院 信息处理综合实验报告 班级:电子信息工程1502班 指导教师: 设计时间:2018/10/22-2018/11/23 评语: 通信与信息工程学院 二〇一八年 实验题目:语音信号分析与处理 一、实验内容 1. 设计内容 利用MATLAB对采集的原始语音信号及加入人为干扰后的信号进行频谱分析,使用窗函数法设计滤波器滤除噪声、并恢复信号。 2.设计任务与要求 1. 基本部分

(1)录制语音信号并对其进行采样;画出采样后语音信号的时域波形和频谱图。 (2)对所录制的语音信号加入干扰噪声,并对加入噪声的信号进行频谱分析;画出加噪后信号的时域波形和频谱图。 (3)分别利用矩形窗、三角形窗、Hanning窗、Hamming窗及Blackman 窗几种函数设计数字滤波器滤除噪声,并画出各种函数所设计的滤波器的频率响应。 (4)画出使用几种滤波器滤波后信号时域波形和频谱,对滤波前后的信号、几种滤波器滤波后的信号进行对比,分析信号处理前后及使用不同滤波器的变化;回放语音信号。 2. 提高部分 (5)录制一段音乐信号并对其进行采样;画出采样后语音信号的时域波形和频谱图。 (6)利用MATLAB产生一个不同于以上频段的信号;画出信号频谱图。 (7)将上述两段信号叠加,并加入干扰噪声,尝试多次逐渐加大噪声功率,对加入噪声的信号进行频谱分析;画出加噪后信号的时域波形和频谱图。 (8)选用一种合适的窗函数设计数字滤波器,画出滤波后音乐信号时域波形和频谱,对滤波前后的信号进行对比,回放音乐信号。 二、实验原理 1.设计原理分析 本设计主要是对语音信号的时频进行分析,并对语音信号加噪后设计滤波器对其进行滤波处理,对语音信号加噪声前后的频谱进行比较分析,对合成语音信号滤波前后进行频谱的分析比较。 首先用PC机WINDOWS下的录音机录制一段语音信号,并保存入MATLAB软件的根目录下,再运行MATLAB仿真软件把录制好的语音信号用audioread函数加载入MATLAB仿真软件的工作环境中,输入命令对语音信号进行时域,频谱变换。 对该段合成的语音信号,分别用矩形窗、三角形窗、Hanning窗、Hamming窗及Blackman窗几种函数在MATLAB中设计滤波器对其进行滤波处理,滤波后用命令可以绘制出其频谱图,回放语音信号。对原始语音信号、合成的语音信号和经过滤波器处理的语音信号进行频谱的比较分析。 2.语音信号的时域频域分析 在Matlab软件平台下可以利用函数audioread对语音信号进行采样,得到了声音数据变量y,同时把y的采样频率Fs=44100Hz放进了MATALB的工作空间。

《语音信号处理》实验报告材料

实用 中南大学 信息科学与工程学院 语音信号处理 实验报告 指导老师:覃爱娜 学生班级:信息0704 学生名称:阮光武 学生学好:0903070430 提交日期:2010年6月18日

实验一 语音波形文件的分析和读取 一、实验的任务、性质与目的 本实验是选修《语音信号处理》课的电子信息类专业学生的基础实验。通过实验: (1)掌握语音信号的基本特性理论:随机性,时变特性,短时平稳性,相关性等; (2)掌握语音信号的录入方式和*.WAV音波文件的存储结构; (3)使学生初步掌握语音信号处理的一般实验方法。 二、实验原理和步骤: WAV文件格式简介 WAV文件是多媒体中使用了声波文件的格式之一,它是以RIFF格式为标准。每个WAV文件的头四个字节就是“RIFF”。WAV文件由文件头和数据体两大部分组成,其中文件头又分为RIFF/WAV文件标识段和声音数据格式说明段两部分。常见的WAV声音文件有两种,分别对应于单声道(11.025KHz采样率、8Bit的采样值)和双声道(44.1KHz采样率、16Bit的采样值)。采样率是指声音信号在“模拟→数字”转换过程中,单位时间内采样的次数;采样值是指每一次采样周期内声音模拟信号的积分值。对于单声道声音文件,采样数据为8位的短整数(short int 00H-FFH);而对于双声道立体声声音文件,每次采样数据为一个16位的整数(int),高八位和低八位分别代表左右两个声道。WAV文件数据块包含以脉冲编码调制(PCM)格式表示的样本。在单声道WAV文件中,道0代表左声道,声道1代表右声道;在多声道WAV文件中,样本是交替出现的。WAV文件的格式见表1。

大学本科语音信号处理实验讲义8学时

语音信号处理实验讲义 时间:2011-12

目录 实验一语音信号生成模型分析 (3) 实验二语音信号时域特征分析 (7) 实验三语音信号频域特征分析 (12) 实验四语音信号的同态处理和倒谱分析 (16)

实验一 语音信号生成模型分析 一、实验目的 1、了解语音信号的生成机理,了解由声门产生的激励函数、由声道产生的调制函数和由嘴唇产生的辐射函数。 2、编程实现声门激励波函数波形及频谱,与理论值进行比较。 3、编程实现已知语音信号的语谱图,区分浊音信号和清音信号在语谱图上的差别。 二、实验原理 语音生成系统包含三部分:由声门产生的激励函数()G z 、由声道产生的调制函数()V z 和由嘴唇产生的辐射函数()R z 。语音生成系统的传递函数由这三个函数级联而成,即 ()()()()H z G z V z R z = 1、激励模型 发浊音时,由于声门不断开启和关闭,产生间隙的脉冲。经仪器测试它类似于斜三角波的脉冲。也就是说,这时的激励波是一个以基音周期为周期的斜三角脉冲串。单个斜三角波的频谱表现出一个低通滤波器的特性。可以把它表示成z 变换的全极点形式 12 1()(1) cT G z e z --= -? 这里c 是一个常数,T 是脉冲持续时间。周期的三角波脉冲还得跟单位脉冲串的z 变换相乘: 112 1 ()()()1(1)v cT A U z E z G z z e z ---=?= ?--? 这就是整个激励模型,v A 是一个幅值因子。 2、声道模型 当声波通过声道时,受到声腔共振的影响,在某些频率附近形成谐振。反映在信号频谱图上,在谐振频率处其谱线包络产生峰值,把它称为共振峰。 一个二阶谐振器的传输函数可以写成 12 ()1i i i i A V z B z C z --= -- 实践表明,用前3个共振峰代表一个元音足够了。对于较复杂的辅音或鼻音共振峰要到5个以上。多个()i V z 叠加可以得到声道的共振峰模型 12 1 11 ()()11R r r M M i r i N k i i i i k k b z A V z V z B z C z a z -=---======---∑∑∑ ∑ 3、辐射模型 从声道模型输出的是速度波,而语音信号是声压波。二者倒比称为辐射阻抗,它表征了

语音信号处理实验报告实验二

通信工程学院12级1班 罗恒 2012101032 实验二 基于MATLAB 的语音信号频域特征分析 一、 实验要求 要求根据已有语音信号,自己设计程序,给出其倒谱、语谱图的分析结果,并根据频域分析方法检测所分析语音信号的基音周期或共振峰。 二、 实验目的 信号的傅立叶表示在信号的分析与处理中起着重要的作用。因为对于线性系统来说,可以很方便地确定其对正弦或复指数和的响应,所以傅立叶分析方法能完善地解决许多信号分析和处理问题。另外,傅立叶表示使信号的某些特性变得更明显,因此,它能更深入地说明信号的各项红物理现象。 由于语音信号是随着时间变化的,通常认为,语音是一个受准周期脉冲或随机噪声源激励的线性系统的输出。输出频谱是声道系统频率响应与激励源频谱的乘积。声道系统的频率响应及激励源都是随时间变化的,因此一般标准的傅立叶表示虽然适用于周期及平稳随机信号的表示,但不能直接用于语音信号。由于语音信号可以认为在短时间内,近似不变,因而可以采用短时分析法。 三、 实验设备 1.PC 机; 2.MATLAB 软件环境; 四、 实验内容 1.上机前用Matlab 语言完成程序编写工作。 2.程序应具有加窗(分帧)、绘制曲线等功能。 3.上机实验时先调试程序,通过后进行信号处理。 4.对录入的语音数据进行处理,并显示运行结果。 5.依次给出其倒谱、语谱图的分析结果。 6. 根据频域分析方法检测所分析语音信号的基音周期或共振峰。 五、 实验原理及方法 1、短时傅立叶变换 由于语音信号是短时平稳的随机信号,某一语音信号帧的短时傅立叶变换的定义为: 其中w(n -m)是实窗口函数序列,n 表示某一语音信号帧。令n -m=k',则得到 ()()()jw jwm n m X e x m w n m e ∞-=-∞= -∑

数字语音信号处理实验报告

语音信号处理实验报告 专业班级电子信息1203 学生姓名钟英爽 指导教师覃爱娜 完成日期2015年4月28日 电子信息工程系 信息科学与工程学院

实验一语音波形文件的分析和读取 一、实验学时:2 学时 二、实验的任务、性质与目的: 本实验是选修《语音信号处理》课的电子信息类专业学生的基础实验。通过实验 (1)掌握语音信号的基本特性理论:随机性,时变特性,短时平稳性,相关性等; (2)掌握语音信号的录入方式和*.WAV音波文件的存储结构; (3)使学生初步掌握语音信号处理的一般实验方法。 三、实验原理和步骤: WAV 文件格式简介 WAV 文件是多媒体中使用了声波文件的格式之一,它是以RIFF格式为标准。每个WAV 文件的头四个字节就是“RIFF”。WAV 文件由文件头和数据体两大部分组成,其中文件头又分为RIFF/WAV 文件标识段和声音数据格式说明段两部分。常见的WAV 声音文件有两种,分别对应于单声道(11.025KHz 采样率、8Bit 的采样值)和双声道(44.1KHz 采样率、16Bit 的采样值)。采样率是指声音信号在“模拟→数字”转换过程中,单位时间内采样的次数;采样值是指每一次采样周期内声音模拟信号的积分值。对于单声道声音文件,采样数据为8 位的短整数(short int 00H-FFH);而对于双声道立体声声音文件,每次采样数据为一个16 位的整数(int),高八位和低八位分别代表左右两个声道。WAV 文件数据块包含以脉冲编码调制(PCM)格式表示的样本。在单声道WAV 文件中,道0 代表左声道,声道1 代表右声道;在多声道WAV 文件中,样本是交替出现的。WAV 文件的格式 表1 wav文件格式说明表

语音信号处理实验报告实验一

通信工程学院12级1班罗恒2012101032 实验一语音信号的低通滤波和短时分析综合实验 一、实验要求 1、根据已有语音信号,设计一个低通滤波器,带宽为采样频率的四分之一,求输出信号; 2、辨别原始语音信号与滤波器输出信号有何区别,说明原因; 3、改变滤波器带宽,重复滤波实验,辨别语音信号的变化,说明原因; 4、利用矩形窗和汉明窗对语音信号进行短时傅立叶分析,绘制语谱图并估计基音周期,分析两种窗函数对基音估计的影响; 5、改变窗口长度,重复上一步,说明窗口长度对基音估计的影响。 二、实验目的 1.在理论学习的基础上,进一步地理解和掌握语音信号低通滤波的意义,低通滤波分析的基本方法。 2.进一步理解和掌握语音信号不同的窗函数傅里叶变化对基音估计的影响。 三、实验设备 1.PC机; 2.MATLAB软件环境; 四、实验内容 1.上机前用Matlab语言完成程序编写工作。 2.程序应具有加窗(分帧)、绘制曲线等功能。 3.上机实验时先调试程序,通过后进行信号处理。 4.对录入的语音数据进行处理,并显示运行结果。 5. 改变滤波带宽,辨别与原始信号的区别。 6.依据曲线对该语音段进行所需要的分析,并且作出结论。 7.改变窗的宽度(帧长),重复上面的分析内容。 五、实验原理及方法 利用双线性变换设计IIR滤波器(巴特沃斯数字低通滤波器的设计),首先要设计出满足指标要求的模拟滤波器的传递函数Ha(s),然后由Ha(s)通过双线性变换可得所要设计的IIR滤波器的系统函数H(z)。如果给定的指标为数字滤波器的指标,则首先要转换成模拟滤波器的技术指标,这里主要是边界频率Wp和Ws 的转换,对ap和as指标不作变化。边界频率的转换关系为∩=2/T tan(w/2)。接着,按照模拟低通滤波器的技术指标根据相应设计公式求出滤波器的阶数N和3dB截止频率∩c ;根据阶数N查巴特沃斯归一化低通滤波器参数表,得到归一化传输函数Ha(p);最后,将p=s/ ∩c 代入Ha(p)去归一,得到实际的模拟滤波器传输函数Ha(s)。之后,通过双线性变换法转换公式s=2/T((1-1/z)/(1+1/z))得到所要设计的IIR滤波器的系统函数H(z)。

语音信号处理实验报告11

实验一 语音信号的时域分析 一、 实验目的、要求 (1)掌握语音信号采集的方法 (2)掌握一种语音信号基音周期提取方法 (3)掌握语音信号短时能量和短时过零率计算方法 (4)了解Matlab 的编程方法 二、 实验原理 语音是一时变的、非平稳的随机过程,但由于一段时间内(10-30ms)人的声带和声道形状的相对稳定性,可认为其特征是不变的,因而语音的短时谱具有相对稳定性。在语音分析中可以利用短时谱的这种平稳性,将语音信号分帧。 10~30ms 相对平稳,分析帧长一般为20ms 。 语音信号的分帧是通过可移动的有限长度窗口进行加权的方法来实现的。几种典型的窗函数有:矩形窗、汉明窗、哈宁窗、布莱克曼窗。 语音信号的能量分析是基于语音信号能量随时间有相当大的变化,特别是清音段的能量一般比浊音段的小得多。定义短时平均能量 [][]∑∑+-=∞-∞=-=-= n N n m m n m n w m x m n w m x E 122)()()()( 下图说明了短时能量序列的计算方法,其中窗口采用的是直角窗。 过零就是信号通过零值。对于连续语音信号,可以考察其时域波形通过时间轴的情况。而对于离散时间信号,如果相邻的取样值改变符号则称为过零。由此可以计算过零数,过零数就是样本改变符号的次数。单位时间内的过零数称为平

均过零数。 语音信号x (n )的短时平均过零数定义为 ()[]()[]()()[]()[]() n w n x n x m n w m x m x Z m n *--=---= ∑∞ -∞=1sgn sgn 1sgn sgn 式中,[]?sgn 是符号函数,即 ()[]()()()()???<-≥=01 01sgn n x n x n x 短时平均过零数可应用于语音信号分析中。发浊音时,尽管声道有若干个共振峰,但由于声门波引起了谱的高频跌落,所以其语音能量约集中干3kHz 以下。而发清音时.多数能量出现在较高频率上。既然高频率意味着高的平均过零数,低频率意味着低的平均过零数,那么可以认为浊音时具有较低的平均过零数,而清音时具有较高的平均过零数。然而这种高低仅是相对而言,没有精确的数值关系。 短时平均过零的作用 1.区分清/浊音: 浊音平均过零率低,集中在低频端; 清音平均过零率高,集中在高频端。 2.从背景噪声中找出是否有语音,以及语音的起点。 基音是发浊音时声带震动所引起的周期性,而基音周期是指声带震动频率的倒数。基音周期是语音信号的重要的参数之一,它描述语音激励源的一个重要特征,基音周期信息在多个领域有着广泛的应用,如语音识别、说话人识别、语音分析与综合以及低码率语音编码,发音系统疾病诊断、听觉残障者的语音指导等。因为汉语是一种有调语言,基音的变化模式称为声调,它携带着非常重要的具有辨意作用的信息,有区别意义的功能,所以,基音的提取和估计对汉语更是一个十分重要的问题。 由于人的声道的易变性及其声道持征的因人而异,而基音周期的范围又很宽,而同—个人在不同情态下发音的基音周期也不同,加之基音周期还受到单词发音音调的影响,因而基音周期的精确检测实际上是一件比较困难的事情。基音提取的主要困难反映在:①声门激励信号并不是一个完全周期的序列,在语音的

新语音信号处理实验指导2015年秋

《语音信号处理》 实验指导书 哈尔滨理工大学 自动化学院 电子信息科学与技术系 2014.10

语音信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴的学科,是目前发展最为迅速的信息科学研究领域的核心技术之一。通过语音传递信息是人类最重要、最有效、最常用和最方便的交换信息形式。同时,语言也是人与机器之间进行通信的重要工具,它是一种理想的人机通信方式,因而可为信息处理系统建立良好的人机交互环境,进一步推动计算机和其他智能机器的应用,提高社会的信息化程度。语音信号处理是一门新兴的学科,同时又是综合性的多学科领域和涉及面很广的交叉学科。虽然从事这一领域研究的人员主要来自信号与信息处理及计算机应用等学科,但是它与语音学、语言学、声学、认知科学、生理学、心理学等许多学科也有非常密切的联系。 20世纪60年代中期形成的一系列数字信号处理的理论和算法,如数字滤波器、快速傅立叶变换(FFT)等是语音信号数字处理的理论和技术基础。随着信息科学技术的飞速发展,语音信号处理取得了重大的进展:进入70年代之后,提出了用于语音信号的信息压缩和特征提取的线性预测技术(LPC),并已成为语音信号处理最强有力的工具,广泛应用于语音信号的分析、合成及各个应用领域,以及用于输入语音与参考样本之间时间匹配的动态规划方法;80年代初一种新的基于聚类分析的高效数据压缩技术—矢量量化(VQ)应用于语音信号处理中;而用隐马尔可夫模型(HMM)描述语音信号过程的产生是80年代语音信号处理技术的重大发展,目前HMM已构成了现代语音识别研究的重要基石。近年来人工神经网络(ANN)的研究取得了迅速发展,语音信号处理的各项课题是促进其发展的重要动力之一,同时,它的许多成果也体现在有关语音信号处理的各项技术之中。 为了深入理解语音信号数字处理的基础理论、算法原理、研究方法和难点,根据数字语音信号处理教学大纲,结合课程建设的需求,我们编写了本实验指导书。

哈尔滨工程大学 语音信号处理实验报告

实 验 报 告 实验课程名称: 语音信号处理实验 姓名: 班级: 20120811 学号: 指导教师 张磊 实验教室 21B#293 实验时间 2015年4月12日 实验成绩 实验序号 实验名称 实验过程 实验结果 实验成绩 实验一 语音信号的端点检测 实验二 语音信号的特征提取 实验三 语音信号的基频提取

实验一 语音信号的端点检测 一、实验目的 1、掌握短时能量的求解方法 2、掌握短时平均过零率的求解方法 3、掌握利用短时平均过零率和短时能量等特征,对输入的语音信号进行端点检测。 二、实验设备 HP 计算机、Matlab 软件 三、实验原理 1、短时能量 语音信号的短时能量分析给出了反应这些幅度变化的一个合适的描述方法。对于信号)}({n x ,短时能量的定义如下: ∑ ∑∞ -∞ =∞ -∞ =*=-= -= m m n n h n x m n h m x m n w m x E )()()()()]()([222 2、短时平均过零率 短时平均过零率是指每帧内信号通过零值的次数。对于连续语音信号,可以 考察其时域波形通过时间轴的情况。对于离散信号,实质上就是信号采样点符号变化的次数。过零率在一定程度上可以反映出频率的信息。短时平均过零率的公式为: ∑∑-+=∞ -∞=--= ---=1)] 1(sgn[)](sgn[2 1 ) ()]1(sgn[)](sgn[21N n n m w w m n m x m x m n w m x m x Z 其中,sgn[.]是符号函数,即 ? ? ?<-≥=0)(10)(1 )](sgn[n x n x n x

语音信号处理与识别

信号系统课程设计报告 欧阳光亮2012029020025 语音信号处理与识别 目的:理解时域和频域尺度变换基本概念,掌握信号时频域分析方法,正确理解采样定理,准确理解滤波器的概念。 内容: (1)使用Matlab中wavrecord命令录制一段3秒的语音信号,使用wavplay命令播放,录制命令和播放命令中的采样频率设置成相同和不同两种情况,对观察到的现象进行分析并结合课本中的知识对该现象进行解释; (2)使用不同的采样频率录制一段3秒的语音信号,画出信号的时域波形和频谱;找到语音信号的主要频谱成分所在的带宽;观察并分析不同采样频率对波形和频谱的影响;寻找声音信号不出现明显失真的最低采样频率;(3)录制一段男生的语音信号和一段女生的语音信号,对两段音频信号进行混合,设计滤波器将混合的语音信号分开成单独的男声和女声信号,如果分离效果不好,对原因进行解释。 Matlab命令:wavrecord, wavplay, wavwrite, wavread, save, load, fft, fftshift, filter, plot, subplot, figure. 过程: (1)相同: fs1=16000; %取样频率 fs2=16000; %播放频率 duration=5; %录音时间 fprintf('Press any key to start %g seconds of recording...\n',duration); pause; fprintf('Recording...\n'); y=wavrecord(duration*fs1,fs1); %duration*fs 是总的采样点数 fprintf('Finished recording.\n'); fprintf('Press any key to play the recording...\n'); pause; wavplay(y,fs2);

语音信号处理实验一采集和预处理

实验一语音信号的采集及预处理 一、实验目的 在理论学习的基础上,进一步地理解和掌握语音信号预处理及短时加窗的意义及基于matlab的实现方法。 二、实验原理 1.语音信号的录音、读入、放音等:练习matlab中几个音频处理函数,利用函数wavread 对语音信号进行采样,记住采样频率和采样点数,给出以下语音的波形图(2.wav)。利用wavplay或soundview放音。也可以利用wavrecord自己录制一段语音,并进行以上操作(需要话筒)。 2.语音信号的分帧:对语音信号进行分帧,可以利用voicebox工具箱中的函数enframe。 voicebox工具箱是基于GNU协议的自由软件,其中包含了很多语音信号相关的函数。3.语音信号的加窗:本步要求利用window函数设计窗口长度为256(N=256)的矩形窗(rectwin)、汉明窗(hamming)及汉宁窗(hann)),利用wvtool函数观察其时域波形图及频谱特性,比较得出结论。观察整个信号加矩形窗及汉明窗后的波形,利用subplot与reshape函数将分帧后波形、加矩形窗波形及加汉明窗波形画在一张图上比较。取出其中一帧,利用subplot与reshape函数将一帧语音的波形、加矩形窗波形及加汉明窗波形画在一张图上比较将得出结论。 4.预加重:即语音信号通过一个一阶高通滤波器1 9375 1- -z。 .0 三、实验步骤、实验程序、图形及结论 1.语音信号的录音、读入、放音等 程序: [x,fs,nbit]=wavread('D:\2.wav'); %fs=10000,nbit=16 y=soundview('D:\2.wav') 2.语音信号的分帧 程序: [x,fs,nbit]=wavread('D:\2.wav'); len=256; inc=128; y=enframe(x,len,inc); figure; subplot(2,1,1),plot(x) subplot(2,1,2),plot(y)

语音信号处理实验

哈尔滨工程大学实验报告 班级:电信三班 学号:2013081416 姓名:刘世杰

语音信号处理实验 一、实验目的 1、掌握短时能量的求解方法、短时平均过零率的求解方法,对输入的语音信号进行端点检测。 2、掌握语音信号的Mel 倒谱特征(MFCC )的求解方法,语音信号的线性预测原理以及LPC 特征的求解方法。 3、掌握语音信号基频的概念,加深对基频刻画声调特征作用的理解,掌握语音信号基频特征的典型求解方法。 4、掌握MATLAB 相应的功能以及使用方法。 二、仪器设备 HP 计算机、MATLAB 软件 三、实验原理 (一)语音信号的短时分析 端点检测是语音信号处理过程中非常重要的一步,它的准确性直接影响到语音信号处理的速度和结果。本次实验利用短时过零率和短时能量相结合的语音端点检测算法利用短时过零率来检测清音,用短时能量来检测浊音,两者相配合便实现了信号信噪比较大情况下的端点检测。 先引入以下三个概念 1、短时能量计算 定义n 时刻某语言信号的短时平均能量En 为: ∑∑--=+∞∞--=-=n N n m m n w m x m n w m x En )1(22 )]()([)]()([ 式中N 为窗长,可见短时平均能量为一帧样点值的平方和。特殊地,当窗函数为矩形窗时,有∑--== n N n m m x En )1(2)( 2、短时过零率 过零就是指信号通过零值。过零率就是每秒内信号值通过零值的次数。 对于离散时间序列,过零则是指序列取样值改变符号,过零率则是每个样本的改变符号的次数。对于语音信号,则是指在一帧语音中语音信号波形穿过横轴(零电平)的次数。可以用相邻两个取样改变符号的次数来计算。 如果窗的起点是n=0,短时过零率Z 为 波形穿过横轴(零电平)的次数

《语音信号处理》实验3-LPC特征提取

华南理工大学《语音信号处理》实验报告 实验名称:LPC特征提取 姓名: 学号: 班级:10级电信5班 日期:2013年5 月24日

1. 实验目的 1、熟练运用MATLAB 软件进行语音信号实验; 2、熟悉短时分析原理、LPC 的原理; 3、学习运用MATLAB 编程进行LPC 的提取; 4、学会利用短时分析原理提取LPC 特征序列。 2. 实验原理 1、LPC 分析基本原理 LPC 分析为线性时不变因果稳定系统V (z )建立一个全极点模型,并利用均方误差准则,对已知的语音信号s(n)进行模型参数估计。 如果利用P 个取样值来进行预测,则称为P 阶线性预测。假P 个 取样值()()(){ } 1,2,S n S n S n p --- 的加权之和来预测信号当前取样值()S n ,则预测 信号()S n ∧ 为: ()() 1 p k k S n a n k ∧==-∑ (1) 其中加权系数用k a 表示,称为预测系数,则预测误差为: ()()()()() 1 p k k e n s n S n s n a n k ∧ ==-=--∑ (2) 要使预测最佳,则要使短时平均预测误差最小有: ()2 min E e n ε??==?? (3) ()20,(1) k e n k p a ????? =≤≤? (4) 令 ()()(),,i k E s n i S n k φ=--???? (5) 最小的ε可表示成: ()() min 10,00,p k k a k εφφ==-∑ (6) 显然,误差越接近于零,线性预测的准确度在均方误差最小的意义上为最佳,由此可以计算出预测系数。 通过LPC 分析,由若干帧语音可以得到若干组LPC 参数,每组参数形成一个

相关主题
文本预览
相关文档 最新文档