Полезные аудиоданные от БПФ - PullRequest
1 голос
/ 20 февраля 2011

Я пытаюсь сделать простую визуализацию музыки в Java.У меня установлено два потока: один для воспроизведения клипа, а другой для извлечения фрагмента байтов из клипа для обработки с помощью БПФ.Затем обработанный массив можно отправить в JFrame, который будет обрабатывать рисование, и использовать его в качестве параметра для какого-либо визуального элемента.

Однако я не совсем уверен, что делать с данными.Сейчас я просто использую спектр мощности, который дает мне очень ограниченный отклик, и я понимаю, что он слишком общий для того, что я пытаюсь сделать.Я открыт для использования любой библиотеки FFT, если есть конкретная, которая будет особенно полезна.Но в целом, что я могу получить из своих данных после выполнения БПФ, и как я могу использовать, чтобы показать прилично точные результаты на визуальных эффектах?

1 Ответ

2 голосов
/ 20 февраля 2011

Все БПФ будут делать почти одно и то же, учитывая одинаковые данные.Параметры БПФ, которые вы можете варьировать: масштабный коэффициент, длина БПФ (чем больше, тем выше разрешение по частоте, чем короче, тем лучше время отклика) и (предварительно) отображают данные в окнах, что вызывает меньше «брызг»спектральная утечка спектральных пиков.Вы можете заполнить нулями FFT для интерполяции более гладких результатов.Вы можете усреднить результаты величин нескольких последовательных БПФ, чтобы уменьшить минимальный уровень шума.Вы также можете использовать функцию масштабирования, такую ​​как масштабирование журнала (или журнал, например, журнал на обеих осях) для представления результатов величины БПФ.

Фаза сложного БПФ обычно не важна для любой визуализации, если вывыполнение какого-либо анализа фазового вокодера + ресинтез.

...