短时自相关
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);%帧长
for i=1:fn
u=fz(i,:);%取一帧
u2=xcorr(u');
r(i,:)=u2(zc,end);
end
subplot(211)
plot(x)
subplot(212)
plot(r)
短时平均幅度差
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);%帧长
for i=1:fn
u=fz(i,:);%取一帧
for j=1:zc
u(j,:)=sum(abs(u(j:end)-u(1:end-j+1)));
end
end
短时傅里叶变换
function d=STFFT(x,win,nfft,inc)
xn=enframe(x,win,inc)';
y=fft(xn,nfft);
d=y(1:(1+nfft/2),:);
在语音数字处理中,都是采用离散傅里叶变换代替短时傅里叶变换,并且可以用FFT完成转换。