吉林工程技术师范学院课程设计论文
zcr=sum(signs.*diffs,2); subplot(4,1,4); plot(zcr);
axis([1 length(zcr) 0 max(zcr)]); ylabel('ZCR'); legend('zcr');
4.2语音信号的短时分析
4.2.2 分析语音信号的短时谱特性
% specgram_hw3p20(x, winlgh, frmlgh, sampling_rate) % function to compute a spectrogram % x = input waveform
% winlgh = window length in samples % frmlgh = frame length in samples % sampling_rate = samples/sec
%sampling_rate = 10000; % sampling rate lfft = 1024; lfft2 = lfft/2; %winlgh = 200; %frmlgh = 10;
% (128) window length (in samples) % frame interval (in samples) % FFT length
noverlap = winlgh - frmlgh; % x = x(1:4500); x = 2.0*x/max(abs(x));
etime = length(x)/sampling_rate;
spec = abs(specgram(x, lfft, sampling_rate, winlgh, noverlap)); subplot(211);
6
吉林工程技术师范学院课程设计论文
plot((1:length(x))/sampling_rate,x) xlabel('Time (s)'); title('SPEECH');
axis([0 etime -2.5 2.5]); grid; subplot(212)
imagesc(0:.010:etime, 0:1000:(sampling_rate/2), log10(abs(spec)));axis('xy')
xlabel('Time (ms)'),ylabel('Frequency (Hz)'); title('SPECTROGRAM');
4.3分析语音信号的短时谱特性
4.2.3 语音信号倒谱与复倒谱的分析 clc; clear; tic,
[y,fs]=wavread('speech_10k.wav'); L=length(y); fw=y.*hamming(L); r=real(log(fft(fw,L))) pfw=cceps(fw); rpfw=rceps(fw); z=rpfw(1:30); p=pfw(31:L)
logz=real(exp(fft(z,L))); logp=real(fft(p));
7
吉林工程技术师范学院课程设计论文
subplot(3,2,1);plot(y);title('原始波形') subplot(3,2,3);plot(pfw);title('复倒谱') subplot(3,2,5);plot(rpfw);title('实倒谱')
subplot(3,2,6);plot(logz);title('倒谱域滤波后的对数幅度谱') subplot(3,2,4);plot(r);title('对数幅度谱') subplot(3,2,2);plot(fw);title('加海明窗后的波形')
4.4 语音信号倒谱与复倒谱的分析
4.2.4 运用自相关方法估计语音信号的声道参数
speech1_10k=wavread('speech1_10k.wav',[1024 1273]);%取250点的语音信号 sw=speech1_10k.*hamming(250);%a加汉明窗 Rsw=xcorr(sw');%a自相关
t=0.1:0.1:25;subplot(1,2,1);plot(t,sw);xlabel('ms');title('加窗后时域波形'); subplot(1,2,2); t=0.1:0.1:length(Rsw)/10;plot(t,Rsw);xlabel('ms');title('加窗后自关波形');
Rsw4=[Rsw(250:253);Rsw(249:252);Rsw(248:251);Rsw(247:250)];%生成4*4 自相关阵 Rsw6=[Rsw(250:255);Rsw(249:254);Rsw(248:253);Rsw(247:252);Rsw(246:251);Rsw(245:250)];%生成6*6自相关阵
rea4=inv(Rsw4)*Rsw(251:254)';%求预测系数4 rea6=inv(Rsw6)*Rsw(251:256)';%求预测系数6 A4=sqrt(Rsw(250)-Rsw(251:254)*rea4);%求增益 A6=sqrt(Rsw(250)-Rsw(251:256)*rea6);%求增益
8
吉林工程技术师范学院课程设计论文
w=pi/512:pi/512:pi;%生成输出频率范围 j=sqrt(-1);
FW4=rea4'*[exp(-j*w);exp(-j*w*2);exp(-j*w*3);exp(-j*w*4)];%在频率范围求预测频响
FW6=rea6'*[exp(-j*w);exp(-j*w*2);exp(-j*w*3);exp(-j*w*4);exp(-j*w*5);exp(-j*w*6)];%在频率范围求预测频响 HW4=A4./(1-FW4);%由预测频响求 HW6=A6./(1-FW6);%由预测频响求 FW2=fft(sw,1024);%信号傅立叶变换 FW3=FW2(1:512);
w=(1/1024:1/1024:0.5)*10000; figure;
subplot(2,2,1);plot(w,log(abs(FW3)));xlabel('频率hz');title('加窗后信号频谱');
subplot(2,2,2);plot(w,log(abs(HW4)),'g');xlabel('频率hz');title('4极点模型频率响应');
subplot(2,2,3);plot(w,log(abs(HW6)),'r');xlabel('频率hz');title('6极点模型频率响应');
subplot(2,2,4);plot(w,log(abs(FW3)),w,log(abs(HW4)),w,log(abs(HW6)));xlabel('频率hz');title('三者比较');
4.5运用自相关方法估计语音信号的声道参数
9
吉林工程技术师范学院课程设计论文
4.2.5 基音周期检测实验 clear
Y=wavread('ah02.wav',[1 1800]);
x1=Y(271:510);x2=Y(271:510);x3=Y(271:510); %自相关法 r=zeros(1,240); for k=1:240 for n=1:240-k
r(k)=r(k)+x1(n)*x1(n+k); end end j=1:240;
subplot(2,2,2);plot(j,r);title('自相关法处理后的波形') subplot(2,2,1);plot(j,x1);title('原函数') %三电平法 for k1=1:1:240 if x2(k1)>0 x2(k1)=1; else if x2(k1)==0 x2(k1)=0; else if x2(k1)<0 x2(k1)=-1; end end end end j=1:240;
subplot(2,2,3);plot(j,x2);title('三电平法处理后的波形') %中心消波法
10