Java 分割音频信号

Java 分割音频信号,java,algorithm,audio,signal-processing,Java,Algorithm,Audio,Signal Processing,我有一个输入的音频信号作为一个数组的双。我想通过将信号分割成25毫秒的哈明窗口分析帧,重叠50%,来制作该信号的帧。我有计算汉明窗的代码。有人能告诉我如何将音频信号分割成帧吗?首选伪代码或Java代码。伪代码: Fs = 44100; // sample rate, e.g. 44.1 kHz overlap = 0.5; // overlap = 50% nw = Fs * 0.025; // no of samples

我有一个输入的音频信号作为一个数组的双。我想通过将信号分割成25毫秒的哈明窗口分析帧,重叠50%,来制作该信号的帧。我有计算汉明窗的代码。有人能告诉我如何将音频信号分割成帧吗?首选伪代码或Java代码。

伪代码:

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;
Fs=44100;//采样率,例如44.1 kHz
重叠=0.5;//重叠=50%
nw=Fs*0.025;//窗口中的样本数
ns=nw*(1.0-重叠);//增加n0、n1的样本数量
n0=0;//窗口示例无开始
n1=n0+nw;//窗口示例没有结束
N=10*Fs;//N=要处理的样本总数,例如10秒
做
将nw样本从n0到(n1-1)放入临时缓冲区
将窗口函数应用于临时缓冲区
将FFT应用于临时缓冲区
... 等
n0+=ns;//按重叠样本数增加窗口开始/结束
n1+=ns;
而n1