Проблемы с фильтром нижних частот при использовании 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() определенно дает отфильтрованные значения.

Другие вопросы по тегам