2

doubleの配列としてオーディオ信号の入力があります。その信号のフレームを、50%のオーバーラップを持つ25ミリ秒のハミングウィンドウ分析フレームにセグメント化して作成したいと思います。ハミングウィンドウを計算するためのコードがあります。誰かがオーディオ信号をフレームにセグメント化する方法を教えてもらえますか?擬似コードまたはJavaコードが推奨されます。

4

1 に答える 1

3

擬似コード:

Fs = 44100;                // sample rate, e.g. 44.1 kHz
overlap = 0.5;             // overlap = 50%
nw = Fs * 0.025;           // no of samples in window
ns = nw * (1.0 - overlap); // no of samples to increment n0, n1
n0 = 0;                    // window sample no begin
n1 = n0 + nw;              // window sample no end
N = 10 * Fs;               // N = total no of samples to process, e.g. 10 seconds

do
    get nw samples from n0 to (n1 - 1) into temporary buffer
    apply window function to temporary buffer
    apply FFT to temporary buffer
    ... etc ...
    n0 += ns; // increment window start/end by no of overlap samples
    n1 += ns;
while n1 <= N;
于 2012-05-15T16:52:03.897 に答える