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

语音信号处理实验报告

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

语音信号处理实验

班级:

学号:

姓名:

实验一 基于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

100.5

1

1.5

2

2.5

3x 10

4

024

N=3200.5

1

1.5

2

2.5

3x 10

4

05

N=6400.5

1

1.5

2

2.5

3x 10

4

0510

N=12800.5

1

1.5

2

2.5

3x 10

4

01020

N=2560

0.5

1

1.5

2

2.5

3x 10

4

02040

N=512

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

100.5

1

1.5

2

2.5

3x 10

4

012

N=3200.5

1

1.5

2

2.5

3x 10

4

024

N=6400.5

1

1.5

2

2.5

3x 10

4

024

N=12800.5

1

1.5

2

2.5

3x 10

4

0510

N=2560

0.5

1

1.5

2

2.5

3x 10

4

01020

N=512

2) 短时平均过零率 a=wavread('mike.wav'); a=a(:,1); n=length(a); N=320;

subplot(3,1,1),plot(a); h=linspace(1,1,N);

En=conv(h,a.*a); %求卷积得其短时能量函数En subplot(3,1,2),plot(En);

for i=1:n-1 if a(i)>=0 b(i)= 1;

else b(i) = -1; end if a(i+1)>=0 b(i+1)=1; else b(i+1)= -1; end

w(i)=abs(b(i+1)-b(i)); %求出每相邻两点符号的差值的绝对值

end k=1; j=0;

while (k+N-1)

Zm(k)=Zm(k)+w(k+i); end j=j+1;

k=k+N/2; %每次移动半个窗 end for w=1:j

Q(w)=Zm(160*(w-1)+1)/(2*N); %短时平均过零率 end

subplot(3,1,3),plot(Q),grid;

00.51 1.52 2.5

3

x 10

4

-1

100.51 1.52 2.5

3

x 10

4

10

20020406080100120140160180

0.5

3) 自相关函数 N=240

y=wavread('mike.wav'); y=y(:,1);

x=y(13271:13510); x=x.*rectwin(240); R=zeros(1,240); for k=1:240

for n=1:240-k

R(k)=R(k)+x(n)*x(n+k); end end j=1:240;

plot(j,R); grid;

050100150200250

-1.5

-1-0.500.511.52

2.5

实验二 基于MATLAB 分析语音信号频域特征

1)短时谱 clear

a=wavread('mike.wav'); a=a(:,1);

subplot(2,1,1),

plot(a);title('original signal'); grid N=256;

h=hamming(N); for m=1:N

b(m)=a(m)*h(m)

end

y=20*log(abs(fft(b))) subplot(2,1,2)

plot(y);title('短时谱'); grid

0.5

1

1.52

2.5

3

x 10

4

-1-0.500.5

1original signal

00.20.40.60.81 1.2 1.4 1.6 1.82

0.5

1

短时谱

2)语谱图

[x,fs,nbits]=wavread('mike.wav') x=x(:,1);

specgram(x,512,fs,100); xlabel('时间(s)'); ylabel('频率(Hz)');

title('语谱图');

时间(s)

频率(H z )

语谱图

0.51

1.52

1000

2000

3000

4000

5000

3)倒谱和复倒谱

(1)加矩形窗时的倒谱和复倒谱 clear

a=wavread('mike.wav',[4000,4350]); a=a(:,1); N=300;

h=linspace(1,1,N); for m=1:N

b(m)=a(m)*h(m); end

c=cceps(b); c=fftshift(c); d=rceps(b); d=fftshift(d); subplot(2,1,1)

plot(d);title('加矩形窗时的倒谱') subplot(2,1,2)

plot(c);title('加矩形窗时的复倒谱')

050100150200250300

-2

-1

10

50

100

150

200

250

300

-10-505

10加矩形窗时的复倒谱

(2)加汉明窗时的倒谱和复倒谱 clear

a=wavread('mike.wav',[4000,4350]); a=a(;,1); N=300;

h=hamming(N); for m=1:N

b(m)=a(m)*h(m); end

c=cceps(b); c=fftshift(c); d=rceps(b); d=fftshift(d); subplot(2,1,1)

plot(d);title('加汉明窗时的倒谱') subplot(2,1,2)

plot(c);title('加汉明窗时的复倒谱')

50

100

150

200

250

300

-3-2-10

10

50

100

150

200

250

300

-10-505

10加汉明窗时的复倒谱

实验三基于MATLAB的LPC分析

MusicSource = wavread('mike.wav');

MusicSource=MusicSource(:,1);

Music_source = MusicSource';

N = 256; % window length,N = 100 -- 1000;

Hamm = hamming(N); % create Hamming window

frame = input('请键入想要处理的帧位置= ');

% origin is current frame

origin = Music_source(((frame - 1) * (N / 2) + 1):((frame - 1) * (N / 2) + N));

Frame = origin .* Hamm';

%

%Short Time Fourier Transform

%

[s1,f1,t1] = specgram(MusicSource,N,N/2,N);

[Xs1,Ys1] = size(s1);

for i = 1:Xs1

FTframe1(i) = s1(i,frame);

end

N1 = input('请键入预测器阶数= '); % N1 is predictor's order

[coef,gain] = lpc(Frame,N1); % LPC analysis using Levinson-Durbin recursion

est_Frame = filter([0 -coef(2:end)],1,Frame); % estimate frame(LP)

FFT_est = fft(est_Frame);

err = Frame - est_Frame; % error

% FFT_err = fft(err);

subplot(2,1,1),plot(1:N,Frame,1:N,est_Frame,'-r');grid;title('原始语音帧vs.预测后语音帧') subplot(2,1,2),plot(err);grid;title('误差');

pause

%subplot(2,1,2),plot(f',20*log(abs(FTframe2)));grid;title('短时谱')

%

% Gain solution using G^2 = Rn(0) - sum(ai*Rn(i)),i = 1,2,...,P

%

fLength(1 : 2 * N) = [origin,zeros(1,N)];

Xm = fft(fLength,2 * N);

X = Xm .* conj(Xm);

Y = fft(X , 2 * N);

Rk = Y(1 : N);

PART = sum(coef(2 : N1 + 1) .* Rk(1 : N1));

G = sqrt(sum(Frame.^2) - PART);

A = (FTframe1 - FFT_est(1 : length(f1'))) ./ FTframe1 ; % inverse filter A(Z)

subplot(2,1,1),plot(f1',20*log(abs(FTframe1)),f1',(20*log(abs(1 ./ A))),'-r');grid;title('短时谱'); subplot(2,1,2),plot(f1',(20*log(abs(G ./ A))));grid;title('LPC谱');

pause

%plot(abs(ifft(FTframe1 ./ (G ./ A))));grid;title('excited')

%plot(f1',20*log(abs(FFT_est(1 : length(f1')) .* A / G )));grid;

%pause

%

% find_pitch

%

temp = FTframe1 - FFT_est(1 : length(f1'));

% not move higher frequnce

pitch1 = log(abs(temp));

pLength = length(pitch1);

result1 = ifft(pitch1,N);

% move higher frequnce

pitch1((pLength - 32) : pLength) = 0;

result2 = ifft(pitch1,N);

% direct do real cepstrum with err

pitch = fftshift(rceps(err));

origin_pitch = fftshift(rceps(Frame));

subplot(211),plot(origin_pitch);grid;title('原始语音帧倒谱(直接调用函数)');

subplot(212),plot(pitch);grid;title('预测误差倒谱(直接调用函数)');

pause

subplot(211),plot(1:length(result1),fftshift(real(result1)));grid;title('预测误差倒谱(根据定义编写,没有去除高频分量)');

subplot(212),plot(1:length(result2),fftshift(real(result2)));grid;title('预测误差倒谱(根据定义编写,去除高频分量)');

50

100

150200

250

300

-0.4

-0.200.2

0.4原始语音帧vs.预测后语音帧

50

100

150

200

250

300

-0.2

-0.100.1

0.2误差

010203040506070

-100

-50

50短时谱

010203040506070

40

60

80

100LPC 谱

050100150200250300

-1

-0.5

0.5原始语音帧倒谱(直接调用函数)

050100150200250300

-1

-0.5

0.5预测误差倒谱(直接调用函数)

50

100

150

200

250

300

-0.6

-0.4-0.20

0.2预测误差倒谱(根据定义编写,没有去除高频分量)

50

100

150

200

250

300

-0.3

-0.2-0.10

0.1预测误差倒谱(根据定义编写,去除高频分量)

50

100

150

200

250

300

-0.6

-0.4-0.20

0.2预测误差倒谱(根据定义编写,没有去除高频分量)

50

100

150

200

250

300

-0.3

-0.2-0.10

0.1预测误差倒谱(根据定义编写,去除高频分量)

50

100

150

200

250

300

-0.6

-0.4-0.20

0.2预测误差倒谱(根据定义编写,没有去除高频分量)

50

100

150

200

250

300

-0.3

-0.2-0.10

0.1预测误差倒谱(根据定义编写,去除高频分量)

实验四基于VQ的特定人孤立词语音识别研究1、mfcc.m

function ccc = mfcc(x)

bank=melbankm(24,256,8000,0,0.5,'m');

bank=full(bank);

bank=bank/max(bank(:));

for k=1:12

n=0:23;

dctcoef(k,:)=cos((2*n+1)*k*pi/(2*24));

end

w = 1 + 6 * sin(pi * [1:12] ./ 12);

w = w/max(w);

xx=double(x);

xx=filter([1 -0.9375],1,xx);

xx=enframe(xx,256,80);

for i=1:size(xx,1)

y = xx(i,:);

s = y' .* hamming(256);

t = abs(fft(s));

t = t.^2;

c1=dctcoef * log(bank * t(1:129));

c2 = c1.*w';

m(i,:)=c2';

end

dtm = zeros(size(m));

for i=3:size(m,1)-2

dtm(i,:) = -2*m(i-2,:) - m(i-1,:) + m(i+1,:) + 2*m(i+2,:); end

dtm = dtm / 3;

ccc = [m dtm];

ccc = ccc(3:size(m,1)-2,:);

2、vad.m

function [x1,x2] = vad(x)

x = double(x);

x = x / max(abs(x));

FrameLen = 240;

FrameInc = 80;

amp1 = 10;

amp2 = 2;

zcr1 = 10;

zcr2 = 5;

maxsilence = 8; % 6*10ms = 30ms

minlen = 15; % 15*10ms = 150ms

status = 0;

count = 0;

silence = 0;

tmp1 = enframe(x(1:end-1), FrameLen, FrameInc);

tmp2 = enframe(x(2:end) , FrameLen, FrameInc);

signs = (tmp1.*tmp2)<0;

diffs = (tmp1 -tmp2)>0.02;

zcr = sum(signs.*diffs, 2);

amp = sum(abs(enframe(filter([1 -0.9375], 1, x), FrameLen, FrameInc)), 2);

amp1 = min(amp1, max(amp)/4);

amp2 = min(amp2, max(amp)/8);

x1 = 0;

x2 = 0;

for n=1:length(zcr)

goto = 0;

switch status

case {0,1}

if amp(n) > amp1

x1 = max(n-count-1,1);

status = 2;

silence = 0;

count = count + 1;

elseif amp(n) > amp2 | ...

zcr(n) > zcr2

status = 1;

count = count + 1;

else

status = 0;

count = 0;

end

case 2,

if amp(n) > amp2 | ...

zcr(n) > zcr2

count = count + 1;

else

silence = silence+1;

if silence < maxsilence count = count + 1;

elseif count < minlen

status = 0;

silence = 0;

count = 0;

else

status = 3;

end

end

case 3,

break;

end

end

count = count-silence/2;

x2 = x1 + count -1;

3、codebook.m

%clear;

function xchushi= codebook(m)

[a,b]=size(m);

[m1,m2]=szhixin(m);

[m3,m4]=szhixin(m2);

[m1,m2]=szhixin(m1);

[m7,m8]=szhixin(m4);

[m5,m6]=szhixin(m3);

[m3,m4]=szhixin(m2);

[m1,m2]=szhixin(m1);

[m15,m16]=szhixin(m8);

[m13,m14]=szhixin(m7);

[m11,m12]=szhixin(m6);

[m9,m10]=szhixin(m5);

[m7,m8]=szhixin(m4);

[m5,m6]=szhixin(m3);

[m3,m4]=szhixin(m2);

[m1,m2]=szhixin(m1);

chushi(1,:)=zhixinf(m1);

chushi(2,:)=zhixinf(m2);

chushi(3,:)=zhixinf(m3);

chushi(4,:)=zhixinf(m4);

chushi(5,:)=zhixinf(m5);

chushi(6,:)=zhixinf(m6);

chushi(7,:)=zhixinf(m7);

chushi(8,:)=zhixinf(m8);

chushi(9,:)=zhixinf(m9);

chushi(10,:)=zhixinf(m10);

chushi(11,:)=zhixinf(m11);

chushi(12,:)=zhixinf(m12);

chushi(13,:)=zhixinf(m13);

chushi(14,:)=zhixinf(m14);

chushi(15,:)=zhixinf(m15);

chushi(16,:)=zhixinf(m16);

sumd=zeros(1,1000);

k=1;

dela=1;

xchushi=chushi;

while(k<=1000)

sum=ones(1,16);

for p=1:a

for i=1:16

d(i)=odistan(m(p,:),chushi(i,:));

end

dmin=min(d);

sumd(k)=sumd(k)+dmin;

for i=1:16

if d(i)==dmin

xchushi(i,:)=xchushi(i,:)+m(p,:); sum(i)=sum(i)+1;

end

end

end

for i=1:16

xchushi(i,:)=xchushi(i,:)/sum(i); end

if k>1

dela=abs(sumd(k)-sumd(k-1))/sumd(k); end

k=k+1;

chushi=xchushi;

return

4、testvq.m

clear;

disp('这是一个简易语音识别系统,请保证已经将您的语音保存在相应文件夹中')

disp('正在训练您的语音模版指令,请稍后...')

for i=1:10

fname = sprintf('D:\\matlab\\work\\dtw1\\海儿的声音\\%da.wav',i-1); x = wavread(fname);

[x1 x2] = vad(x);

m = mfcc(x);

m = m(x1:x2-5,:);

ref(i).code=codebook(m);

end

disp('语音指令训练成功,恭喜!?')

disp('正在测试您的测试语音指令,请稍后...')

for i=1:10

fname = sprintf('D:\\matlab\\work\\dtw1\\海儿的声音\\%db.wav',i-1);

x = wavread(fname);

[x1 x2] = vad(x);

mn = mfcc(x);

mn = mn(x1:x2-5,:);

%mn = mn(x1:x2,:)

test(i).mfcc = mn;

end

sumsumdmax=0;

sumsumdmin=0;

disp('对训练过的语音进行测试')

for w=1:10

sumd=zeros(1,10);

[a,b]=size(test(w).mfcc);

for i=1:10

for p=1:a

for j=1:16

d(j)=odistan(test(w).mfcc(p,:),ref(i).code(j,:));

end

dmin=min(d);

sumd(i)=sumd(i)+dmin;%×üê§??

end

sumdmin=min(sumd)/a;

sumdmin1=min(sumd);

sumdmax(w)=max(sumd)/a;

sumsumdmin=sumdmin+sumsumdmax;

sumsumdmax=sumdmax(w)+sumsumdmax;

disp('正在匹配您的语音指令,请稍后...')

for i=1:10

if (sumd(i)==sumdmin1)

switch (i)

case 1

fprintf('您输入的语音指令为:%s; 识别结果为%s\n','前', '前');

case 2

fprintf('您输入的语音指令为:%s; 识别结果为%s\n','后', '后');

case 3

fprintf('您输入的语音指令为:%s; 识别结果为%s\n','左', '左');

case 4

fprintf('您输入的语音指令为a:%s; 识别结果为%s\n','右', '右');

case 5

fprintf('您输入的语音指令为:%s; 识别结果为%s\n','东', '东');

case 6

fprintf('您输入的语音指令为:%s; 识别结果为%s\n','南', '南');

case 7

fprintf('您输入的语音指令为:%s; 识别结果为%s\n','西', '西');

case 8

fprintf('您输入的语音指令为:%s; 识别结果为%s\n','北', '北');

case 9

fprintf('您输入的语音指令为a:%s; 识别结果为%s\n','上', '上');

case 10

fprintf('您输入的语音指令为a:%s; 识别结果为%s\n','下', '下');

otherwise

fprintf('error');

end

end

end

end

delamin=sumsumdmin/10;

delamax=sumsumdmax/10;

基于dsp的语音信号采集与回放系统的设计--开题报告

HEFEI UNIVERSITY 课程设计开题报告 题目:《基于DSP系统的语音采集与回放系统》 专业:11 级电子信息工程 姓名:章健吴广岭何志刚 学号:1105011029 1105011030 1105011044 指导老师:汪济洲老师 完成时间:2014年12月1日

一、开题报告题目 基于DSP系统的语音采集与回放系统。 二、研究背景与意义 语音处理是数字信号处理最活跃的研究方向之一,它是信息高速公路、多媒体技术、办公自动化、现代通信及职能系统等新兴领域应用的核心技术之一。用数字化的方法进行语音的传送、存储、分析、识别、合成、增强等是整个数字化通信网中的最重要、最基本的组成部分之一。一个完备的语音信号处理系统不但要具有语音信号的采集和回放功能, 还要能够进行复杂的语音信号分析和处理。通常这些信号处理算法的运算量很大, 而且又要满足实时的快速高效处理要求, 随着DSP 技术的发展, 以DSP 为内核的 设备越来越多。为语音信号的处理提供了优质可靠的平台. 软件编程的灵活性给很多设备增加不同的功能提供了方便, 利用软件在已有的硬件平台上实现不同的功能已成为 一种趋势。近年来,随着DSP的功能日益增强,性能价格比不断上升,开发手段不断改进,DSP在数据采集系统的应用也在不断完善。 三、主要内容与目标 随着计算机多媒体技术,网络通信技术和DSP(Digital Signal Processor)技术的飞速发展,语音的数字通信得到越来越多的应用,语音信号的数字化一直是通信发展的主要方向之一,语音的数字通信和模拟通信相比,无疑有着更大的优越性,这主要体现在以下几个方面:数字语音比模拟语音具有更好的话音质量;具有更强的干扰性,并易于加密;可节省带宽,能更有效的利用网络资源;更加易于存储和处理。最简单的数字化就是直接对原始语音信号进行A/D 转换,但这样得到的语音的数据量非常大。为了减少语音信号所占用的带宽或存储空间,就必须对数字语音信号进行压缩编码。语音编码的目的就在于在保证语音音质和可懂度的条件下,采用尽可能少的比特数来表示语音,即尽可能的降低编码比特率,以便在有限的传输带宽内让出更多的信道来传输图像和其他数据流,从而达到传输资源的有效利用和网络容量的提高。在通信越来越发达的当今世界,尤其最近几十年,语音压缩编码技术在移动通信、IP 电话通信、保密通信、卫星通信以及语音存储等很多方面得到了广泛的应用。 语音信号处理在手持设备、移动设备和无线个人设备中的应用正在不断增加。今天的个人手持设备语音大多时候仅仅局限于语音拨号,但是已经出现了适用于更广泛开发语音识别和文本到语音应用的技术。语音功能为用户提供自然的输入和输出方式,它比其他形式的I/O更安全,尤其是当用户在开车期间。在大多数应用中,语音都是键盘和显示器的理想补充。其他潜在的语音应用包括如下几个方面。 (1)语音电子邮件。包括浏览邮箱、利用语音输入写电子邮件以及收听电子邮件的读出。 (2)信息检索。股票价格、标题新闻、航班信息、天气预报等都可以通过语音从互联网收听。例如,用户不用先进入某个网址并输入股票名字或者浏览预定义列表,可以通过语音命令实现。 (3)个人信息管理。允许用户通过语音指定预约、查看日历、添加联络信息等等。 (4)语音浏览。利用语音程序菜单,用户可以在网上冲浪、添加语音收藏夹并收听网页内容的读出。 (5)语音导航。在自动和人眼不够用的条件下获取导航的完全语音输入/输出驾驶

语音信号处理实验指导书

语音信号处理实验指导书 实验一 语音信号采集与简单处理 一、 实验目的、要求 (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的语音信号时域特征分析(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');

语音信号处理实验报告

通信与信息工程学院 信息处理综合实验报告 班级:电子信息工程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的工作空间。

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

通信工程学院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文件格式说明表

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

实用 中南大学 信息科学与工程学院 语音信号处理 实验报告 指导老师:覃爱娜 学生班级:信息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。

语音信号虚拟分析仪开题报告

燕山大学 本科毕业设计(论文)开题报告 课题名称:语音信号虚拟分析 仪 学院(系):里仁学院电子工程 系 年级专业:08 电子信息工程 学生姓名:徐柳坡 指导教师:孟玲玲 完成日期:2012.03.16

一、综述本课题国内外研究动态,说明选题的依据和意义 语音信号处理分析的发展可以说是从1940年前后Dudley的声码器和Potter等人的可见语音开始的;20世纪60年代中期形成的一系列数字信号处理方法和技术,如数字滤波器、快速傅立叶变换等成为语音信号数字处理的理论和技术基础;到了80年代,由于矢量量化、隐马尔可夫模型和人工神经网络等相继被应用于语音信号处理,并经过不断改进与完善,使得语音信号处理技术产生了突破性的进展。进入90年代以来,语音信号处理在实用化方面取得了许多实质性的进展。一方面,对声学语音学统计模型的研究逐渐深入,鲁棒的语音识别、基于语音段的建模方法及隐马尔可夫模型与人工神经网络的结合成为研究的热点。另一方面,为了语音识别实用化的需要,讲者自适应、听觉模型、快速搜索识别算法以及进一步的语言模型的研究等课题倍受关注。 笔者研究本课题是因为信号处理技术几乎涉及到所有的工程技术领域,而频谱分析正是信号处理中一个非常重要的分析手段。基于LabVIEW的虚拟频谱分析仪由数据采集、信号分析和处理、结果输出显示3大部分组成。利用I/O接口设备完成信号的采集,数据分析和处理则由LabVIEW软件完成。 语音信号分析有非常重要的意义。信号处理几乎涉及到所有的工程技术领域,如,军事,航空航天,生物医学等。而频谱分析正是信号处理中一个非常重要的分析手段。 总之,研究用LabVIEW分析语音信号既具有学术价值也具有实际应用价值。 二、研究的基本内容,拟解决的主要问题 研究的基本内容:利用声卡,在计算机上开发虚拟仪器功能,实现音频信号分析及特性参数测试。 软件设计:波形显示,电压测量,频谱分析及典型参数计算。主要使用LabVIEW图形化编程语言来代替传统仪器对被测信号进行采集、分析处理以及对测量结果的表达与输出。 最后,输入信号调理。对输出结果进行分析判断,改善设计的不足和错

语音信号处理答案

二、问答题(每题分,共分) 、语音信号处理主要研究哪几方面的内容? 语音信号处理是研究用数字信号处理技术对语言信号进行处理的一门学科,语音信号处理的理论和研究包括紧密结合的两个方面:一方面,从语言的产生和感知来对其进行研究,这一研究与语言、语言学、认知科学、心理、生理等学科密不可分;另一方面,是将语音作为一 种信号来进行处理,包括传统的数字信号处理技术以及一些新的应用于语音信号的处理方法 和技术。 、语音识别的研究目标和计算机自动语音识别的任务是什么? 语音识别技术,也被称为自动语音识别,(),其目标是将人类的语音中的词汇内容转换为 计算机可读的输入,例如按键、二进制编码或者字符序列。 计算机自动语音识别的任务就是让机器通过识别和理解过程把语音信号转变为相应的文本 或命令的高技术。 、语音合成模型关键技术有哪些? 语音合成是实现人机语音通信,建立一个有听和讲能力的口语系统所需的两项关键技术,该系统主要由三部分组成:文本分析模块、韵律生成模块和声学模块。.如何取样以精确地抽取人类发信的主要特征,.寻求什么样的网络特征以综合声道的频率响应,.输出合成声音的质量如何保证。 、语音压缩技术有哪些国际标准? 二、名词解释(每题分,共分) 端点检测:就从包含语音的一段信号中,准确的确定语音的起始点和终止点,区分语音信号和非语音信号。 共振峰:当准周期脉冲激励进入声道时会引起共振特性,产生一组共振频率,称为共振峰频率或简称共振峰。 语谱图:是一种三维频谱,它是表示语音频谱随时间变化的图形,其纵轴为频率,横轴为时间,任一给定的频率成分在给定时刻的强弱用相应点的灰度或色调的浓淡来表示。 码本设计:就是从大量信号样本中训练出好的码本,从实际效果出发寻找好的失真测度定义 公示,用最少的搜素和计算失真的运算量。 语音增强:语音质量的改善和提高,目的去掉语音信号中的噪声和干扰,改善它的质量 三、简答题(每题分,共分) 、简述如何利用听觉掩蔽效应。 一个较弱的声音(被掩蔽音)的听觉感受被另一个较强的声音(掩蔽音)影响的现象称为人耳的“掩蔽效应”。人耳的掩蔽效应一个较弱的声音(被掩蔽音)的听觉感受被另一个较强的声 音(掩蔽音)影响的现象称为人耳的“掩蔽效应”。被掩蔽音单独存在时的听阈分贝值,或者 说在安静环境中能被人耳听到的纯音的最小值称为绝对闻阈。实验表明,—绝对闻阈值最小,即人耳对它的微弱声音最敏感;而在低频和高频区绝对闻阈值要大得多。在范围内闻阈随频率变化最不显著,即在这个范围内语言可储度最高。在掩蔽情况下,提高被掩蔽弱音的强度, 使人耳能够听见时的闻阈称为掩蔽闻阈(或称掩蔽门限),被掩蔽弱音必须提高的分贝值称为 掩蔽量(或称阈移)。 、简述时间窗长与频率分辨率的关系。 采样周期、窗口长度和频率分辨率△之间存在下列关系:△(*) 可见,采样周期一定时,△随窗口宽度的增加而减少,即频率分辨率相应得到提高,但同时时间分辨率降低;如果窗口取短,频率分辨率下降,而时间分辨率提高,因而二者是矛盾的。 、简述时域分析的技术(最少三项)及其在基因检测中的应用。()

大学本科语音信号处理实验讲义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、辐射模型 从声道模型输出的是速度波,而语音信号是声压波。二者倒比称为辐射阻抗,它表征了

情感语音识别开题报告

太原理工大学信息工程学院 本科毕业设计(论文)开题报告 毕业设计(论文)题目 语音情感识别及其特征提取的研究 学生姓名付建梅导师姓名张雪英 专业通信工程 报告日期2011.4 班级0701 指导教 师意见 签字年月日 专业(教 研室)主 任意见 年月日系主任 意见 年月日

1. 国内外研究现状及课题意义 1.1课题研究意义 现在社会,人类跟计算机的交往越来越受到研究者的重视。自然和谐的人机界面的沟通应该能理解用户的情绪和意图,对不同用户、不同环境、不同任务给予不同的反馈和支持。情感计算研究就是试图创建一种能感知、识别和理解人的情感,并针对人的情感做出智能、灵敏、友好反应的计算系统,即赋予计算机像人一样地观察、理解和生成各种情感特征的能力,使计算机能够更加自动适应操作者。实现这些,首先必须能够识别操作者的情感,而后根据情感的判断来调整交互对话的方式。 情感计算研究内容主要包括脸部表情处理、情感计算建模方法、情感语音处理、姿态处理、情感分析、自然人机界面、情感机器人等。情感计算,受到越来越多的国内外学者和研究机构的重视。美国的各大信息技术实验室正加紧进行情感计算系统的研究。例如,麻省理工学院媒体实验室的情感计算小组研制的情感计算系统,通过记录人面部表情的摄像机和连接在人身体上的生物传感器来收集数据,然后由一个“情感助理”来调节程序以识别人的情感。目前国内的情感计算研究重点在于,通过各种传感器获取由人的情感所引起的生理及行为特征信号,建立“情感模型”,从而创建个人的情感计算系统。情感计算已经应用到生活中的各个领域:在信息家电和智能仪器中增加自动感知人们情绪状态的功能,可以提供更好的服务:在信息检索过程中,通过情感分析解析功能,则可提高智能信息检索的精度和效率:在远程教育平台中,情感计算技术的应用能提升教学效果;利用多模式的情感交换技术,还可以构筑更贴近人们生活的智能空间和虚拟场景。此外,情感计算还能应用在机器人、智能玩具、可视会议、唇读系统、可视电话系统的应用场合,在传输语音信号的时候能够显示视频动画,将有助于人类特别是听力有障碍的人对语音的理解。 正是基于以上课题对于科研、社会的重要意义,我的毕业论文的主要任务是建立带有情感的音视频数据库,研究音频信号中能体现情感的特征,分析哪些特征可以有效地表达情感,进行特征提取并进行情感识别实验。这些工作是为后面进行带有感情的音视频合成动画系统建立基础。 1.2国内外研究现状 语音信号处理中,语音识别作为一个重要的研究领域,已经有很长的研究历史,其中语音特征提取与情感识别又是其中的一个重要方面。 在1972 年,Williams 发现人的情感变化对语音的基音轮廓有很大的影响,这是国外最早开展的语音情感方面的研究之一。1990 年,麻省理工学院多媒体实验室构造了一个“情感编辑器”对外界各种情感信号进行采样,如人的语音信号、脸部表情信号等来识别各种情感。1996 年日本东京Seikei 大学提出情感空间的概念并建立了语音情感模型。2000 年,Maribor 大学的Vladimir Hozjan 研究了基于多种语言的语音情感识别。2009 年4月,日本产业技术综合研究所(AIST)研制一个具有丰富表情的新型女性机器人“HRP-4C”。通过对主人语音信号的识别,机器人可以做出喜、怒、哀、乐和惊讶的表情等。在国内,语音情感识别的研究起步较晚。2001 年,东南大学赵力等人提出语音信号中的情感识别研究。2003 年,北京科技大学谷学静等人将BDI Agent 技术应用与情感机器人的语音识别技术研究中。另外,2003 年12 月中科院自动化所等单位在北京主办了第一届中国情感计算及智能交互学术会议,2005 年10 月又在北京主办了首届国际情感计算及智能交互学术会议。

语音信号处理试验教程

语音信号处理试验 实验一:语音信号时域分析 实验目的: (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、语音信号的时域分析 语音信号的时域分析就是分析和提取语音信号的时域参数。进行语音分析时,最先接触到并且夜市最直观的是它的时域波形。语音信

语音识别开题报告

青岛大学 毕业论文(设计)开题报告 题目:孤立词语音识别的并行编程实现 学院:自动化工程学院电子工程系 专业:通信工程 姓名:李洪超 指导教师:庄晓东 2010年3月22日

一、文献综述 语音识别是解决机器“听懂”人类语言的一项技术。作为智能计算机研究的主导方向和人机语音通信的关键技术,语音识别技术一直受到各国科学界的广泛关注。如今,随着语音识别技术研究的突破,其对计算机发展和社会生活的重要性日益凸现出来。以语音识别技术开发出的产品应用领域非常广泛,如声控电话交换、信息网络查询、家庭服务、宾馆服务、医疗服务、银行服务、工业控制、语音通信系统等,几乎深入到社会的每个行业和每个方面。 广泛意义上的语音识别按照任务的不同可以分为4个方向:说话人识别、关键词检出、语言辨识和语音识别[1]。说话人识别技术是以话音对说话人进行区别,从而进行身份鉴别和认证的技术。关键词检出技术应用于一些具有特定要求的场合,只关注那些包含特定词的句子。语言辨识技术是通过分析处理一个语音片断以判别其所属语言种类的技术,本质上也是语音识别技术的一个方面。语音识别就是通常人们所说的以说话的内容作为识别对象的技术,它是4个方面中最重要和研究最广泛的一个方向,也是本文讨论的主要内容。 1.1 语音识别技术现状 1.1.1 语音识别获得应用 伴随着语音识别技术的不断发展,诞生了全球首套多语种交谈式语音识别系统E-talk。这是全球惟一拥有中英混合语言的识别系统,能听能讲普通话、广东话和英语,还可以高度适应不同的口音,因而可以广泛适用于不同文化背景的使用者,尤其是中国地区语言差别较大的广大用户。由于E-talk可以大大提高工作效率,降低运营成本,并为用户提供更便捷的增值服务,我们相信它必将成为电信、证券、金融、旅游等重视客户服务的行业争相引用的电子商务应用系统,并成为电子商务发展的新趋势,为整个信息产业带来无限商机。 目前,飞利浦推出的语音识别自然会话平台SpeechPearl和SpeechMania已成功地应用于国内呼叫中心,SpeechPearl中的每个识别引擎可提供高达20万字的超大容量词库,尤其在具有大词汇量、识别准确性和灵活性等要求的各种电信增值服务中有着广泛的应用。 1.1.2 语音合成信息服务被用户接受 语音合成技术把可视的文本信息转化为可听的声音信息,其应用的经济效益和社会效益前景良好。尤其对汉语语音合成技术的应用而言,全球有十几亿人使用中文,其市场需求、应用前景和经济效益等可见一斑。

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

实 验 报 告 实验课程名称: 语音信号处理实验 姓名: 班级: 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

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

通信工程学院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)。

基于单片机的语音识别系统研究开题报告

论文开题报告 一、毕业论文设计的目的及意义 随着人们生活水平不断提高。越来越多的人开始注意私人或工作场所的保密性以及安全性。为了满足人们的不同需求,设计者们开发了多种多样的门禁系统。它们被广泛应用于私人住宅,学校、医院、商店、企业,政府单位等各种场所。按照识别方式分类,有指纹识别式,人脸识别式,语音识别式等等。这些系统各有特点、各有优势。随着计算机功能越来越强大,微电子技术不断发展,即使简单的单片机也能够实现简单的人机对话。这就为语音识别门禁系统的设计提供了必要条件探究语音识别技术在嵌入式系统中的应用,通过嵌入式技术实现语音识别,扩展嵌入式系统的应用领域,将语音识别技术应用于门禁系统,为人们的生活提供便利。 二、结构和主要内容 本文分成五个部分. 第一部分是概述这部分主要论述本系统实现的技术基础,简要介绍了系统用到的嵌入式技术,主要介绍了嵌入式技术的核心-单片机;以及语音识别技术。通过论述语音识别技术的原理,分类,发展前景等,简单的介绍语音识别技术的特点、功能、应用。 第二部分是硬件系统设计。这部分分析硬件系统的组成结构,具体组成模块,具体电路设计,用到的主要的组成部件等。在这里我详细介绍了应用到的系统核心单片机,以及语音识别模块的核心,语音识别芯片。为具体直观的体现本系统的设计思路,将系统分为处理器核心部分、语音信号处理部分、门锁控制电机部分、门锁,一共四个模块。然后分别介绍每个模块的电路设计。 第三部分是软件系统设计,不同模块软件的实现。简要介绍了处理器核心部分的软件实现和门锁控制部分的软件实现。 第四部分是系统的仿真过程,因为软件的仿真更加方便快捷,所以本文选择的是通过软件进行仿真。 三、研究方法 1.收集和整理资料,参阅部分收集到的资料,对论文命题有了初步的认识。 2.完成开题报告,并透过指导老师和论文开题答辩小组审查。 3.查找与阅读论文相关的适宜的英文文献,对其进行翻译并完成。 4.寻找实习单位,进行为期一个月的实习,实习资料涉及社会实践和与论文相关的实地研究。 5.实习期间写下实习周记。 6.透过文献研究和实践研究,对论文命题有了较为全面的理解后,结合前人的研究成果,完成论文初稿的撰写 四、主要参考文献: [1]李建忠编著.单片机原理及应用.西安:西安电子科技大学出版社,2002 [2]李群芳,肖看编著.单片机原理、接口及应用.北京:清华大学出版社,2005

语音信号处理实验报告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)的研究取得了迅速发展,语音信号处理的各项课题是促进其发展的重要动力之一,同时,它的许多成果也体现在有关语音信号处理的各项技术之中。 为了深入理解语音信号数字处理的基础理论、算法原理、研究方法和难点,根据数字语音信号处理教学大纲,结合课程建设的需求,我们编写了本实验指导书。

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