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文件。
我尝试了从 2 到 4096 的不同缓冲区大小,但每次输出都不稳定或音频未被过滤。谁能告诉我这里可能出了什么问题。
此问题现已解决! TarsosDSP 不支持 dual-channel 音频处理,因此该算法与两个音频通道混淆,从而产生断断续续的结果。
我正在使用 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文件。
我尝试了从 2 到 4096 的不同缓冲区大小,但每次输出都不稳定或音频未被过滤。谁能告诉我这里可能出了什么问题。
此问题现已解决! TarsosDSP 不支持 dual-channel 音频处理,因此该算法与两个音频通道混淆,从而产生断断续续的结果。