在我的应用程序中,我需要将来自麦克风的整个语音信号(采样后)分成 10 毫秒的非重叠窗口。
我目前在我的代码中使用 hanning window 来做到这一点:
public short[] HanningWindow(short[] signal_in, int pos, int size)
{
for (int i = pos; i < pos + size; i++)
{
int j = i - pos; // j = index into Hann window function
signal_in[i] = (short) (signal_in[i] * 0.5 * (1.0 - Math.cos(2.0 * Math.PI * j / size)));
}
return signal_in;
}
现在我的问题是,我在哪里指定我需要 10 毫秒的非重叠窗口?