语音信号同态处理

 语音信号二元激励模型

特征系统 

 

 

(一)获取原始语音信号

 

计算并绘制浊音帧(始于第13000个样本,持续40ms)和清音帧(始于第3400个样本,持续40ms)的倒谱和复倒谱图形

 

浊音帧倒谱图

信号频谱与声道冲激响应、声门激励响应特性曲线

 

clc,clear
 
%读信号
[speech,fs]=audioread('test_16k.wav');
%画语音波形
figure(1)
plot(speech);
title('原始语音')
%分帧
winsize =0.04*fs;%帧长
 
%选取汉明窗
window=hamming(winsize);
 
%% 取浊音帧、清音帧并加汉明窗
xn1=speech(13000:13639);
figure(2)
plot(xn1);
title('浊音帧');
data1 = xn1.*window;
xn2=speech(3400:(3400+639));
figure(3)
plot(xn2)
title('清音帧')
data2 = xn2.*window;
 
figure
subplot(211)
plot(data1);
title('加汉明窗后的浊音帧')
grid on
subplot(212)
plot(data2)
title('加汉明窗后的清音帧')
grid on
%% 浊音帧倒谱和复倒谱图
y1=abs(fft(data1));
y2=log(y1);
y3=ifft(y2);
figure(4)
plot(y3);
title('浊音帧倒谱图')
 
z1=fft(data1);
z2=log(z1);
z3=ifft(z2);
figure(5)
plot(z3)
title('浊音复倒谱图')
 
%% 清音帧倒谱和复倒谱图
yy1=abs(fft(data2));
yy2=log(yy1);
yy3=ifft(yy2);
figure(6)
plot(yy3);
title('清音帧倒谱图')
zz1=fft(data2);
zz2=log(zz1);
zz3=ifft(zz2);
figure(7)
stem(zz3)
title('清音复倒谱图')
%%
nfft=1024;
nn=1:nfft/2; ff=(nn-1)*fs/nfft;  
z=ifft(log(abs(fft(speech,1024))));   %z是语音信号的倒谱
mcep=29;     %分离声门激励脉冲和声道冲激响应,认为基音频率都应低于500HZ,为了留有余量,取550hz
% mcep取16000/550=29,即在倒谱域中第29条谱线之前是反映了包络的系数。
zy=z(1:mcep+1); % 0~29(mcep)区间构成声道冲激响应的倒谱序列
zy=[zy' zeros(1,nfft-2*mcep-1) zy(end:-1:2)']; % 构建声道冲激响应的倒谱序列(预加重)
%预加重目的是为了更好的分析声道,去掉激励模型和辐射模型的影响
 
ZY=fft(zy);                                   % 计算声道冲激响应的频谱
figure(8)                                     % 画出声道冲激响应的频谱,用灰线表示
subplot 211;
line(ff,real(ZY(nn)),'color',[.1 .5 .10],'linewidth',3);
grid; hold on;
Y=log(abs(fft(speech,1024)));
plot(ff,Y(nn),'b');
 
ylim([-4 5]);
title('信号频谱(蓝线)和声道冲激响频谱(绿线)')
ylabel('幅值'); xlabel(['频率/Hz' 10 '(a)']); 
grid on
ft=[zeros(1,mcep+1) z(mcep+2:end-mcep)' zeros(1,mcep)]; % 构建声门激励脉冲的倒谱序列(预加重)
FT=fft(ft);                                  % 计算声门激励脉冲的频谱
 
subplot 212; plot(ff,real(FT(nn)),'k'); grid;% 画出声门激励脉冲的频谱
title('声门激励脉冲频谱')
ylabel('幅值'); xlabel(['频率/Hz' 10 '(b)']);
grid on
 
 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值