NEO SPECTRUMAN, идея про 5 столбиков для частоты на самом деле неплоха для визуализации, нравится.
NEO SPECTRUMAN, идея про 5 столбиков для частоты на самом деле неплоха для визуализации, нравится.
Задача спектрального анализатора - преобразовать звуковой сигнал в по возможности разреженное представление, т.е. такое представление, которое почти везде равно нулю, кроме тех точек, где есть звук. Такое представление легко доступно визуальному восприятию, кроме того, оно несет минимально важную информацию, которая содержится в звуке.
Форма звукового сигнала - это не разреженное представление, т.к. оно почти везде ненулевое, и его мгновенный уровень имеет для сигнала существенное значение. Не является разреженным и спектральное представление (усредненный спектр всей песни), т.к. оно тоже почти везде ненулевое.
Вот спектрограмма (спектр в зависимости от времени) - это уже лучше. На спектрограмме можно видеть, на каких частотах есть звуки в данный момент, а на каких частотах их нет. Тем не менее, спектрограмма тоже не является оптимально разреженным представлением музыки. На ней, к примеру, ударники появляются на всех частотах. Музыкальные звуки имеют обертоны, из-за чего обертоны от низких звуков трудноотличимы от основного тона высоких звуков.
По сравнению с этим, доступ к регистрам AY - это роскошь, которой не имеют создатели звуковых спектральных анализаторов. Ведь в случае AY заведомо известно количество каналов, тембр звука каждого из них, и высота звука. Берешь эти числа прямо из регистров и выводишь на экран. По частоте звука можно рассчитать ноту, а нотное представление, как известно - это наиболее разреженное представление музыки, несущее минимально необходимую информацию.
Я мог бы порекомендовать такую визуализацию, как скроллирующаяся "спектрограмма". Обновление идет каждый кадр по одной горизонтальной строке. Каждой точке строки соответствует определенный небольшой диапазон частот звука (или нота). Если на каком-нибудь канале частота попадает в указанный диапазон - то закрашиваем точку, в противном случае оставляем ее пустой. Если не учитывать шум и огибающую, то максимально будут закрашены всего 3 точки. На следующем кадре скроллим изображение вверх, освобождая новую строку под текущее состояние и т.д. Должно получиться очень красиво - двумерные узоры, изображающие структуру музыки.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)