文中语音信号为自己录制的信号,帧长设置为200,短时语音信号的计算公式为各点信号的平方和,下面图形标注有点错误N应该等于200
clear all
[signal,fs,bit] = wavread('1.wav');%读取语音信号
framelength = 200;%设置帧长
framenumber = fix(length(signal)/framelength);%读取语音文件对应的帧数
for i = 1:framenumber;%分帧处理
    framesignal = signal((i-1)*framelength+1:i*framelength);%获取每帧的数据
    E(i) = 0;%每帧能量置零
    for j = 1:framelength;%计算每一帧的能量
        E(i) = E(i)+framesignal(j)^2;
    end
end
%subplot(2,2,1)
plot(E);
xlabel('帧数');
ylabel('短时能量');
legend('N = 200')%曲线标识
clear E

Logo

一站式虚拟内容创作平台,激发创意,赋能创作,进入R空间,遇见同道,让优质作品闪耀发光。​

更多推荐