代码:

clear
[x,Fs]=audioread('mei.wav'); % 读入数据文件
x=x(:,1); % 双声道变单声道
wlen=200; inc=80; % 给出帧长和帧移
win=hamming(wlen); % 给出哈明窗
%win=boxcar(wlen); %给出矩形窗
N=length(x); % 信号长度
X=enframe(x,win,inc)'; % 分帧
fn=size(X,2); % 求出帧数
time=(0:N-1)/Fs; % 计算出信号的时间刻度
for i=1 : fn
u=X(:,i); % 取出一帧
u2=u.*u; % 求出能量
En(i)=sum(u2); % 对一帧累加求和
end
subplot 211; plot(time,x,'k'); % 画出时间波形
axis([0 0.5,-inf,inf]) %改变横轴范围
title('语音波形');
ylabel('幅值'); xlabel(['时间/s' 10 '(a)']);
frameTime=frame2time(fn,wlen,inc,Fs); % 求出每帧对应的时间
subplot 212; plot(frameTime,En,'k') % 画出短时能量图
axis([0 0.5,-inf,inf]) %改变横轴范围
title('短时能量');
ylabel('幅值'); xlabel(['时间/s' 10 '(b)']);

结果:
matlab 短时能量计算+源代码_读入数据