TarsosDSP Android 应用低通滤波器并保存为 wav 会产生不稳定的结果

TarsosDSP Android applying lowpass filter and saving to wav gives choppy results

我正在使用 TarsosDSP 库对 wav 文件应用低通滤波器。这是代码。

private void eq2(File file) throws FileNotFoundException {
    new AndroidFFMPEGLocator(this);

    InputStream inputStream = new FileInputStream(file);
    TarsosDSPAudioFormat format =  new TarsosDSPAudioFormat(16000,16,2,true,false);
    AudioDispatcher adp = new AudioDispatcher(new UniversalAudioInputStream(inputStream,format),2048,0);

    adp.addAudioProcessor(new LowPassFS(100,16000));
    RandomAccessFile raf = null;
    raf = new RandomAccessFile(Environment.getExternalStorageDirectory()+ "/cibiodLogs/audioFiltered1.wav", "rw");
    adp.addAudioProcessor(new WriterProcessor(format,raf));
    adp.run();

    Thread audioThread = new Thread(adp, "Audio Thread");
    audioThread.start();
}

它提供了输出,但输出不稳定,甚至没有过滤。 下面看看原始wav文件和输出的wav文件。

Original

Filtered

我尝试了从 2 到 4096 的不同缓冲区大小,但每次输出都不稳定或音频未被过滤。谁能告诉我这里可能出了什么问题。

此问题现已解决! TarsosDSP 不支持 dual-channel 音频处理,因此该算法与两个音频通道混淆,从而产生断断续续的结果。