语音信号处理论文1 - 图文(3)

2019-03-28 18:03

吉林工程技术师范学院课程设计论文

for k1=1:1:240 ma=abs(max(x3)); tc=0.6*ma; if x3(k1)>tc

x3(k1)=x3(k1)-tc; else if x3(k1)<-tc x3(k1)=x3(k1)+tc; else

x3(k1)=0; end end end j=1:240;

subplot(2,2,4);plot(j,x3);title('中心消波法处理后的波形')

4.6 基音周期检测实验

4.2.6 语音信号增强实验 clear clc

winsize=256; % 窗长 winsize=256; % 窗长 n=0.04; % 噪声水平

[speech,fs,nbits]=wavread('ah02.wav'); % 读入数据 size=length(speech);

numofwin=floor(size/winsize); % 帧数 %加窗

11

吉林工程技术师范学院课程设计论文

ham=hamming(winsize)'; %Generates Hamming Window hamwin=zeros(1,size); %Vector for window gain enhanced=zeros(1,size); %Vector for enhanced speech %产生带噪信号

x=speech'+ n*randn(1,size); %Contaminates signal with white noise %噪声估计

noisy=n*randn(1,winsize); %Sample of noise N = fft(noisy);

nmag= abs(N); %Estimated noise magnitude spectrum for q=1:2*numofwin-1

frame=x(1+(q-1)*winsize/2:winsize+(q-1)*winsize/2); P percent overlap hamwin(1+(q-1)*winsize/2:winsize+(q-1)*winsize/2)=hamwin(1+(q-1)*winsize/2:winsize+(q-1)*winsize/2)+ham; %Window gain %对带噪语音进行DFT y=fft(frame.*ham);

mag = abs(y); %Magnitude Spectrum phase = angle(y); %Phase Spectrum %幅度谱减 for i=1:winsize if mag(i)-nmag(i)>0 clean(i)= mag(i)-nmag(i); else;clean(i)=0; end end

%在频域中重新合成语音 fff=exp(j*phase); spectral=clean.*fff; %IDFT并重叠相加

enhanced(1+(q-1)*winsize/2:winsize+(q-1)*winsize/2)=enhanced(1+(q-1)*winsize/2:winsize+(q-1)*winsize/2)+real(ifft(spectral));

12

吉林工程技术师范学院课程设计论文

end

% 除去Hamming窗引起的增益 for i=1:size if hamwin(i)==0 enhanced(i)=0; else

enhanced(i)=enhanced(i)/hamwin(i); end

4.7语音信号增强实验

4.2.7 语音信号端点检测实验 clc clear

x=wavread('nihao'); x = x / max(abs(x));

13

吉林工程技术师范学院课程设计论文

FrameLen = 240; FrameInc = 80; amp1 = 10; amp2 = 2; zcr1 = 10; zcr2 = 5;

maxsilence = 8; minlen = 15; status = 0; count = 0; silence = 0;

tmp2 = enframe(x(2:end) , FrameLen, FrameInc); tmp1 = enframe(x(1:end-1), 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); h=1;

for n=1:length(zcr) switch status

case {0,1} if amp(n) > amp1 x1(h) = max(n-count-1,1); status = 2; silence = 0; count = count + 1;

elseif amp(n) > amp2 | zcr(n) > zcr2 % status = 1;

14

吉林工程技术师范学院课程设计论文

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,

count = count-silence/2; x2(h) = x1(h) + count -1; h=h+1;

status = 0 ; silence=0; count=0; end end

15


语音信号处理论文1 - 图文(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:浅谈酒店智能化项目管理(彭郊)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: