【发布时间】:2016-10-30 16:16:02
【问题描述】:
所以我编写了一些代码,它获取一个音频文件并将 16000hz 分成 320 个样本的帧。
我已经取了每一帧的汉明窗,如代码所示:
fs=16000;
[x,fs] = audioread('01.wav');
%Pre-emphasis filter (Y[n]=X [n]-0.95x[n - 1])
b = [1 -0.95];
y = filter(b,1,x);
%windowing
numSamples = length(y);
frameLength = 320;
numFrames = floor(numSamples/frameLength);
for frame = 1:numFrames,
firstSample = (frame * frameLength) - (frameLength - 1);
lastSample = (frame * frameLength);
shortTimeFrame = y(firstSample:lastSample);
h = hamming(320);
hs = h.*shortTimeFrame;
plot(hs, 'r');
end
然后如何将汉明窗重叠 50%? 我在 SO 上看到了其他问题,并看到了这样的答案:
y = buffer(h, 1, floor(64 * 0.5));
但是运气不好
【问题讨论】:
标签: matlab hamming-window