Музыкальная Подсветка Коллекции Оптического Стекла

В музей оптики В СПбГУ ИТМО есть довольно примечательный экспонат — каталог Abbe, представляющий собой коллекцию оптических очков различных марок и размеров.

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

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



Музыкальная подсветка коллекции оптического стекла



Музыкальная подсветка коллекции оптического стекла

Аппаратное обеспечение было разработано собственными силами.

ЛМТ .

Под каждым стеклом находится светодиодная лента, подключенная к контроллеру.

Контроллеры подключаются с помощью витой пары в сеть, подключенную к хабу, который, в свою очередь, подключается через USB к компьютеру.

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

Те.

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

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

Библиотека SFML использовалась для работы с графикой и звуком, а FFTW — для выполнения быстрого преобразования Фурье.

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

Используя комбинацию SFML + libsndfile, реализовать это было несложно.

При воспроизведении аудиофайла на определенной частоте (в данном случае частоте кадров) берется небольшой участок массива с сэмплами и затем над ним выполняется быстрое преобразование Фурье.

Благодаря БПФ массив данных звуковых волн преобразуется в массив данных частоты.

Если произвести реальное преобразование, то размер результирующего массива будет вдвое меньше исходного.

Вам понадобятся примерно такие детали:

Музыкальная подсветка коллекции оптического стекла

Здесь следует учитывать следующее: для точного отслеживания басовых нот преобразование Фурье требует довольно большого объема данных.

По моим расчетам, чтобы можно было начать работать с А второй октавы, требовался массив размером 8096. При частоте дискретизации 44100 это примерно 0,2 секунды, а это достаточно большой интервал и в него могут попасть уже не звучащие ноты.

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

Это немного меняет результат, но в данном случае это не критично.

Вот какие данные на самом деле выполняются БПФ:

Музыкальная подсветка коллекции оптического стекла

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

В дальнейшем из них выбираются значения амплитуд частот, максимально приближенные к частотам музыкальных нот. Спектр, полученный в результате обработки массива аудиосэмплов:

Музыкальная подсветка коллекции оптического стекла

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

После этого можно переходить к формированию изображения.

Т.

к.

разрешение «экрана» небольшое — 48х3, поэтому много вариантов пространственного расположения заметок не придумаешь.

Но сразу в голову пришли две идеи.

В одном варианте столбики из трех стаканов объединены и представляют собой одну ноту, внешне получается нечто отдаленно напоминающее клавиатуру фортепиано.

Во втором варианте одна нота отображается двумя стаканами, стоящими рядом в одном ряду, это ближе к гитаре с тремя струнами и крайне необычным строем ;) Последняя часть – формирование цвета.

Практически сразу стало понятно, что работать с цветовой моделью HSV здесь гораздо удобнее, чем с RGB, поскольку нам в основном приходится управлять тоном.

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

Метод Ньютона показан на изображении ниже справа:

Музыкальная подсветка коллекции оптического стекла

После экспериментов эта идея получила дальнейшее развитие – в разных режимах весь видимый спектр или его часть накладывается на разное количество октав.

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

Еще один метод формирования цвета был заимствован из веб-дизайна.

В нем цветовая палитра выбирается по одному из шаблонов.

Вот некоторые примеры:

Музыкальная подсветка коллекции оптического стекла

Используя этот метод, вы сможете создать более контрастные изображения.

Как и в предыдущем способе, основной тон можно смещать во времени.

Видео работы системы (доступно в формате FullHD): Ссылки: 1. Люк Нимц, Первичные гармоники – музыка/теория цвета 2. Блог о визуальной музыке Студенты и абитуриенты – такое (и не только такое) можно изучать в магистратуре СПбГУ ИТМО, по направлению «Встроенные вычислительные системы» Теги: #Звук #встраиваемые системы #светодиоды #встраиваемые #световая музыка #аудиовизуализация

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.