Простой музыкальный визуализатор - PullRequest
2 голосов
/ 17 февраля 2011

Я понимаю общие понятия для этого, но я очень плохо знаком с программированием на Java.

Идея такова:
1. Получить байтовые данные из песни и сохранить их в байтовом массиве.
2. Возьмите небольшой кусок байтовых данных, выполните БПФ и получите некоторые полезные данные (разные вещи, которые вы можете сделать после выполнения БПФ).
3. Передайте эти обработанные данные в графическую функцию, которая каким-то образомиспользуйте его для любой активной визуализации.

Мне трудно разобраться, как делать 2 и 3 в реальном времени.Я хочу, чтобы данные обрабатывались, воспроизводилась песня и обрабатывались данные, влияющие на графическую функцию, которые в настоящее время рисуются одновременно.Я понимаю, как делать эти вещи отдельно, но я не могу понять, как все это собрать вместе.

Ответы [ 2 ]

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

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

Да, вам понадобятся нити.Довольно много.

0 голосов
/ 17 февраля 2011

.. Я понимаю, как делать эти вещи отдельно, но я не могу понять, как все это собрать вместе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...