短时能量
根据公式自己敲的短时能量代码:
clc;
clear;
[x,fs]=audioread('C3_2_y.wav');
inc=100;
win=hamming(200);
fz=enframe(x,win,inc);
fn=size(fz,1);
for i=1:fn
u=fz(i,:);
u2=u.*u;
power(i)=sum(u2);
end
短时平均幅度:
%短时平均幅度计算函数
function para=STMn(x,win,inc)
X=enframe(x,win,inc)'; % 分帧
fn=size(X,2); % 求出帧数
for i=1 : fn
u=X(:,i); % 取出一帧
para(i)=sum(abs(u))/100; % 对一帧累加求和
end
end
短时平均过零率:
clc;
clear;
[x,fs]=audioread('C3_2_y.wav');%读取音频
inc=100;%帧移
win=hamming(200);%汉明窗和窗长
fz=enframe(x,win,inc);%分帧
fn=size(fz,1);%帧数
zc=size(fz,2);%帧长
para=zeros(1,fn);
for i=1:fn
u=fz(i,:);%取一帧
for j=1:(zc-1) %每一帧的数据,用于比较
if u(j)*u(j+1)<0%如果相邻两个数相乘小于0,则存放过零率的数组在对应帧加一
para(i)=para(i)+1;
end
end
end