• 大小: 2KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-05-10
  • 语言: Matlab
  • 标签: 短时幅值  matlab  

资源简介

语音信号时域波形\短时幅值和短时过零率程序 给做语音端点检测方面的人参考

资源截图

代码片段和文件信息

%学生实验--语音信号时域波形\短时幅值和短时过零率
clear;
y1_sound=wavread(‘J:\文档\003\hanshen001.wav‘);%打开声音信号
%sound(y1_sound);
y_length=length(y1_sound);                                   %声音信号的长度
Ny=80;                                                    %短时帧长,10ms
if y_length>Ny
frame_all=floor((y_length-(Ny/2))/(Ny/2));    %frame_moving equal to a half of frame_length get number of all frameto use “enframe“ too.
    y2_sound=y1_sound(1:(frame_all+1)*(Ny/2));
    y3=reshape(y2_sound(Ny/2)[]);
    y4=[y3(:1:frame_all);y3(:2:(frame_all+1))];
else
    frame_all=1; 
    y4=y1_sound;
end
%%%%%%%加方窗    
for i=1:(frame_all)                                     
    m1_y(i)=sum(abs(y4(:i)));                            %计算短时幅值
    m2_y(i)=sum(y4(:i).*y4(:i));                                %计算短时能量
    
    zero_y(i)=sum(abs(sign(y4(2:80i))-sign(y4(1:79i))))/2;   %计算短时过零率
end
%%%%%%%加哈明窗
win_h=hamming(Ny);      %win_y=y_sound.*win_h;
for i=

评论

共有 条评论