Проблемы с фильтром нижних частот при использовании TarsosDSP для Android
У меня есть простой код для обработки плавающего буфера с фильтром нижних частот. Вот функция:
public static float[] lowPass(float[] buffer, float frequnecy) {
AudioFormat audioFormat = new AudioFormat(SAMPLE_RATE, 16, 1, true, false);
AudioEvent audioEvent = new AudioEvent(audioFormat, 1024);
audioEvent.setFloatBuffer(buffer);
LowPassFS lowPassFilter = new LowPassFS(frequnecy, DSP.SAMPLE_RATE);
lowPassFilter.process(audioEvent);
return audioEvent.getFloatBuffer();
}
В результате буфер вообще не обрабатывается и возвращается как есть. Я нигде не могу найти соответствующий рабочий пример.
заранее спасибо
1 ответ
Попробуйте заменить getFloatBuffer()
с getByteBuffer()
, возможно, что буфер с плавающей запятой содержит входное значение, но я успешно создал фильтр нижних частот (хотя он работает не так хорошо, как выше частоты 300 Гц), и getByteBuffer()
определенно дает отфильтрованные значения.