2. О нас
Лев Панов студент 5го курса каф. Прикладная математика СПбГПУ
Петр Вейко спортсмен
Хороши при работе в одной команде (проверено на фестивалях
компьютерного искусства Chaos Constructions: мы многократные
победители и призеры в различных номинациях – от игры на mp3
плеере до projection mapping)
3. О нашем проекте
Название: Звукосвет
Область: Медиа-арт и интерактивные экспонаты
Основная идея: наделить обычный куб из пластика способностью
слышать звуки и реагировать на них световым излучением
Ожидаемое время выполнения: 1 рабочая неделя
Ожидаемое время интереса зрителей к экспонату: не ограничено
5. Как это будет работать
Зритель генерирует произвольные акустические волны голосом, игрой на
музыкальном инструменте или хлопаньем в ладоши
Звукосвет
1. Захватывает звуки из окружающего пространства с помощью микрофона
2. Проводит анализ звуковой информации
3. Формирует и производит определенную реакцию с помощью LED
Зритель радуется и пробует снова и снова
6. Почему именно такая идея?
1. Звуки лучше воспринимаются вместе с визуальной информацией
“Человек, объятый сном, художник, ваятель, поэт, музыкант, объятый
творчеством, истинный любовник, объятый влюблённостью, умственно
разрушает частичные пределы, как весеннее Солнце разрушает сцепление
холода и льда, и пенящаяся река, взломавшая лёд, заливает самые высокие
берега, неся в сочетании света и звука откровение новой жизни.”
(Константин Дмитриевич Бальмонт, 1917 г.)
2. 2015 год объявлен годом света UNESCO
3. Just for fun
7. Зарождение светомузыки
А.Н. Скрябин – выдающийся русский композитор
Первым использовал светомузыку
“Эльф среди людей, Скрябин, обладал цветным слухом, как до него
им обладал могучий Берлиоз, пламенный Лист, и зиждительносвежий Римский-Корсаков. Цветовой слух выражается в том, что
звуки или певучия суммы звуков, гармонии, тональности,
сочетаются с ощущением цвето-света.” (Бальмонт)
Соответствие цветов и
тональностей по Скрябину
Александр Николаевич Скрябин
9. Исполнение
Объект в виде куба – прост в реализации
Но лучше в виде октаэдра – можно каждой ноте
сопоставить отдельную грань
Додекаэдр – 12 граней == кол-ву нот включая бимоли
Призма с правильным 7-угольником в основании
Можно напечатать корпус на 3d принтере
http://www.thingiverse.com/thing:192710
12. Исполнение 2
Управление: программно-аппаратная платформа Arduino
Возможность подключения микрофона (через усилитель и АЦП)
Обширная стандартная библиотека – высокая скорость разработки
54 порта для подключения светодиодов (Arduino Due)
13. Исполнение 3
Анализ аудио-сигнала: FDFT
Тональнось Цветовой тон
Номер октавы Частота мерцания
Громкость Яркость цвета
void loop()
{
for (i = 0; i < 128; i++)
{
val = analogRead(AUDIOPIN);
data[i] = val;
im[i] = 0;
}
fix_fft(data, im, 7, 0);
for (i = 0; i < 64; i++)
data[i] = sqrt(data[i] * data[i] + im[i] * im[i]);
// Amplitude
// Average bars together
for (i = 0; i < 14; i++)
data_avgs[i] = data[i*4] + data[i*4+1] + data[i*4+2] + data[i*4+3]; // Mean
for (int x = 0; x < 14; x++)
{
for (int y = 0; y < 9; y++)
{
if (y < data_avgs[13 - x]) // Low to high frequences from left to right
LedSign::Set(x, y, 1);
// Turn on LED
else
LedSign::Set(x, y, 0);
// Turn off LED
}
}
}
15. Todo
Пете: записать ноты с синтезатора в wav файл: одна и та же нота
повторяется раз в 3 секунды в течение 15 секунд; каждая нота в двух
октавах (в отдельных файлах), далеких друг от друга (можно взять ближе
к началу и к концу). Файлы назвать в соответствии с названием ноты и
номером октавы единообразным образом.
Если всё будет работать, то MIDI вход будет killer feature
12 кубов: если каждый куб имеетв уникальный цвет, то светодиоды не нужны, можно одну яркую лампочку на каждый куб, а пластик корпуса куба будет
как светофильтр задавать тональность цвета
Вращение куба? (сложно успеть за неделю, только если его сделает кто-то за нас, плюс сложно будет обеспечить то, чтобы провода не переплетались –
вряд ли куб будет весь в себе)
Мне: подумать над плавным затуханием (нота загорается, а затухание в течение промежутка времени)
Частые мерцания смотрятся плохо и раздражают
Tweening/easing:
http://vrld.github.io/hump/#hump.timer
https://love2d.org/forums/viewtopic.php?t=10785&p=64784
http://wiki.multitheftauto.com/wiki/Easing
http://easings.net/ru
https://github.com/EmmanuelOga/easing