matlab信号分割与比对,基于MATLAB的语音信号时域特征分析

程序代码如下:

1.%短时谱函数

figure(1)

clear

a=wavread('speech_c.wav');

subplot(2,1,1)

plot(a);title('original signal');

grid

N=256;

h=hamming(N);

form=1:N

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

end

y=20*log(abs(fft(b)))

subplot(2,1,2)

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

grid

99659923_1.jpg

2.%语谱图

figure(2)

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

specgram(x,512,fs,100);

xlabel('时间(s)');

ylabel('频率(Hz)');

title('语谱图');

99659923_2.jpg

3.%短时能量

figure(3);

a=wavread('speech_c.wav');

sound(a);

subplot(6,1,1),plot(a);

N=32;

fori=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

figure(4);

a=wavread('bird.wav');

subplot(6,1,1),plot(a);

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值