📄 frame.asv
字号:
function [fr,frmsize,frmcnt]= frame(x)
x = filter([1 -0.95],[1],x); % 高频预加重,抵消频谱倾斜
n = length(x);
frmsize = 320; % 设置帧大小
frmcnt = floor(n/frmsize/2-1);%计算帧个数
fr=zeros(frmcnt,frmsize);
for i=1:frmcnt % 分帧
fr(i,:)=x((i-1)*frmsize/2+1:(i+1)*frmsize/2);
end
%x = reshape(x(1:frmsize*frmcnt),frmsize,frmcnt); % 分帧
%xFFT = abs(fft(x)); % 福利叶谱
%xFFT = xFFT(1:frmsize/2,1:frmcnt); % 奈奎斯特频率以内是无效的
%xFFTdB = 20*log10(xFFT); % 换算成分贝
%xFFTdB(xFFTdB>+20) = +20; % 能量太高的截断
%xFFTdB(xFFTdB<-40) = -40; % 能量太低的截断
%xFFTdB = (xFFTdB+40); % 能量整理到 [0,60] 之间,当然你可以整理到[0,255]范围
figure(1);
subplot(2,1,1);plot(x(1:frmsize*frmcnt)); title('sound'); % 画波形
%subplot(2,1,2);image(flipud(xFFTdB)); % 画语谱图
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -