Подтвердить что ты не робот

Создание визуализатора музыки

Итак, как кто-то создает музыкальный визуализатор? Я посмотрел на Google, но я не нашел ничего, что говорит о реальном программировании; в основном просто ссылки на плагины или визуализацию приложений.

Я использую iTunes, но понимаю, что мне нужен Xcode для этого (я в настоящее время развернут в Ираке и не могу загрузить этот большой файл). Поэтому прямо сейчас мне просто интересно изучать "теорию" за ней, например, обрабатывать частоты и все, что требуется.

4b9b3361

Ответ 1

Когда визуализатор воспроизводит файл песни, он считывает аудиоданные в очень короткие срезы времени (обычно менее 20 миллисекунд). Визуализатор выполняет преобразование Фурье на каждом фрагменте, извлекает частотные компоненты и обновляет визуальный дисплей с использованием информации о частоте.

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

Одна из характеристик визуализаторов на основе частотных компонентов заключается в том, что они часто не реагируют на "удары" музыки (например, ударные удары, например) очень хорошо. Могут быть написаны более интересные и отзывчивые визуализаторы, которые объединяют информацию о частотной области с осознанием "шипов" в аудио, которые часто соответствуют ударным ударам.

Ответ 2

Для создания BeatHarness (http://www.beatharness.com) Я "просто" использовал FFT для получения аудиоспектра, затем использовал некоторую фильтрацию и край /onset -detectors.

О быстром преобразовании Фурье: http://en.wikipedia.org/wiki/Fast_Fourier_transform

Если вы привыкли к математике, вы можете прочитать страницу Пола Бурка: http://local.wasp.uwa.edu.au/~pbourke/miscellaneous/dft/

(Paul Bourke - это имя, которое вы хотите использовать в любом случае, у него есть много информации о тех темах, которые вы либо хотите знать прямо сейчас или, возможно, в ближайшие 2 года;))

Если вы хотите прочитать информацию об обнаружении бит/темпа Google для Масатаки Гото, он написал несколько интересных статей об этом.

Edit:

Его домашняя страница: http://staff.aist.go.jp/m.goto/ Интересное чтение: http://staff.aist.go.jp/m.goto/PROJ/bts.html

Как только у вас есть некоторые значения, например, для басов, средних тонов, высоких частот и громкости (влево и вправо), все зависит от вашего воображения, что с ними делать. Отобразите изображение, умножьте размер на бас, например - вы получите изображение, которое увеличит масштаб и т.д.

Ответ 3

Как правило, вы берете определенное количество аудиоданных, запускаете частотный анализ над ним и используете эти данные для изменения графики, отображаемой снова и снова. Очевидным способом проведения частотного анализа является FFT, но простой тон обнаружение может работать так же хорошо, с более низкими вычислительными накладными расходами.

Итак, например, вы пишете процедуру, которая постоянно рисует ряд фигур, расположенных по кругу. Затем вы используете доминирующие частоты для определения цвета кругов и используете громкость для установки размера.

Ответ 4

Существует множество способов обработки аудиоданных, самым простым из которых является простое отображение его как быстро меняющегося сигнала, а затем применить к нему некоторый графический эффект. Аналогично, такие вещи, как громкость, могут быть вычислены (и переданы как параметр в некоторую графическую процедуру), не выполняя быстрое преобразование Фурье для получения частот: просто вычислите среднюю амплитуду сигнала.

Преобразование данных в частотную область с использованием БПФ или иным способом позволяет использовать более сложные эффекты, в том числе такие, как спектрограммы. Это обманчиво, но для обнаружения даже довольно "очевидных" вещей, таких как время барабанных ударов или шаг нот непосредственно из выхода FFT

Надежное обнаружение биений и обнаружение тональных сигналов являются трудными проблемами, особенно в режиме реального времени. Я не эксперт, но эта страница проходит через некоторые простые примерные алгоритмы и их результаты.

Ответ 5

Если вы ищете небольшую загрузку, довольно портативный набор инструментов для игры (и яростное сообщество нарисовать), я бы предложил Обработку (http://www.processing.org), в частности http://processing.org/learning/libraries/ в разделе ESS. Это должно привести вас к кроличьей дыре. Не сделал бы визуализатор iTunes, но использовался для прототипирования этого: http://www.barbariangroup.com/software/magnetosphere, который стал визуализатором ITunes по умолчанию.

Ответ 6

  • Разработать алгоритм, чтобы нарисовать что-то интересное на экране с учетом набора переменных
  • Представьте способ преобразования аудиопотока в набор переменных, анализирующих такие вещи, как биты/минута частоты, различные диапазоны частот, тон и т.д.
  • Подключите переменные в ваш алгоритм и посмотрите, как он рисует.

Простая визуализация - это та, которая меняла цвет экрана каждый раз, когда музыка переходила через определенное значение частоты. или просто написать bpm на экран. или просто отображение ociliscope.

ознакомьтесь с этой статьей wikipedia

Ответ 7

Как и предложенная @Pragmaticyankee обработка, действительно интересный способ визуализации вашей музыки. Вы можете загрузить свою музыку в Ableton Live и использовать эквалайзер для фильтрации высоких, средних и низких частот от вашей музыки. Затем вы можете использовать плагин VST для преобразования конвертов аудио в сообщения MIDI CC, такие как Gatefish от Mokafix Audio (работает на окнах) или плагин PizMidis midiAudioToCC (работает на Mac). Затем вы можете отправить эти сообщения MIDI CC на светоизлучающий аппаратный инструмент, который поддерживает MIDI, например, percussa audiocubes. Вы можете использовать куб для каждой частоты, которую вы хотите отобразить, и назначить цвет кубу. Взгляните на это сообщение:

http://www.percussa.com/2012/08/18/how-do-i-generate-rgb-light-effects-using-audio-signals-featured-question/

Ответ 8

В последнее время мы добавили процедуры ввода аудиоданных на основе DirectSound в библиотеку визуализации данных LightningChart. LightningChart SDK - это набор компонентов для Visual Studio.NET(WPF и WinForms), вы можете найти это полезным.

С компонентом AudioInput вы можете получить образцы данных формы сигнала в реальном времени с звукового устройства. Вы можете воспроизводить звук из любого источника, например Spotify, WinAmp, CD/DVD-плеера или использовать микрофонный разъем.

С компонентом SpectrumCalculator вы можете получить спектр мощности (FFT-преобразование), который удобен во многих визуализациях.

С компонентом LightningChartUltimate вы можете визуализировать данные во многих разных формах, таких как диаграммы осциллограмм, гистограммы, тепловые карты, спектрограммы, 3D-спектрограммы, 3D-линии и т.д., и их можно комбинировать. Все рендеринг происходит через ускорение Direct3D.

Наши собственные примеры в SDK имеют научный подход, не имеющий особого развлекательного аспекта, но он определенно может быть использован и для потрясающих визуализации развлечений.

У нас также есть настраиваемый SignalGenerator (развертки, многоканальные конфигурации, синусы, квадраты, треугольники и шумовые сигналы, потоковая передача в реальном времени WAV и компоненты вывода аудиосигнала DirectX для отправки волновых данных из динамиков или линейного выхода.

Waveform and 3D spectrogram

Gradient bars [Я - технический директор компонентов LightningChart, делаю это только потому, что мне это нравится:-)]

Ответ 9

Ли Бримелоу отличный видеоурок для этого во flash. Должен указать вам в правильном направлении, даже если вы хотите реализовать его, используя что-то другое, кроме вспышки.

Ответ 10

VizKit Heiko Wichmann кажется очень хорошей кросс-платформенной (сторонней) sdk и начальной точкой (он использует API-интерфейс Visualizer Apple выпустила некоторое время назад).

Я только что скомпилировал его с помощью Xcode, и он также включает в себя проект визуальной студии. iTunes потерпел крах один раз, но после этого все закончилось. Что мне нравится до сих пор: низкие зависимости (нужно было исправить один путь каркаса на моем env), множество образцов (эквалайзер, спектр, обложки альбомов, гистограммы), очень прозрачная архитектура, приемлемая лицензия.

Также доступен на Sourceforge.

Ответ 11

Перейдите в http://developer.apple.com/library/mac/#technotes/tn/tn2016.html. Он дает информацию об iTunes Visualizer прямо из Apple, и он упоминает, что iTunes может предоставить вам данные осциллограммы после FFT без каких-либо работ.