Синхронизация анимации с музыкой

Post Reply
User avatar
Magic Friend
Posts: 196
Joined: 09 Sep 2018, 18:05

Синхронизация анимации с музыкой

Post by Magic Friend » 02 Jan 2020, 20:37

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

ЧАСТЬ 1
Подготовка медиаконтента


Итак, для начала нам необходимо построить 100% модель желаемого шоу в программе для видео монтажа.

Среди бесплатных ПО для работы с видео можно выделить:
Movie Maker, iMovie, Blender, VSDC Free Video Editor, Lightworks, Shotcut, Avidemux, Openshot, HitFilm Express, Videopad.

Платные профессиональные:
Avid Media Composer, Adobe Premiere Pro, Adobe After Effects, Final Cut (Apple), Sony Vegas Pro, Pinnacle Studio.

Для этого топика я создам два простых видео ролика под звуки.

Монтаж производился в программном обеспечении Sony Vegas Pro 15.

Первый ролик - "Гроза":
Image
В проекте "Гроза" всего используется 5 дорожек.
1-я дорожка содержит футажи (футаж – это короткий видеоролик) разрядов молнии. В моем случае - три различных разряда.
2,3,4-я дорожки содержат звуки грозовых разрядов, также все три различны.
5-я дорожка содержит звук дождя.

Результат монтажа:

Скачать исходное видео 3.26 MB: https://iqled.org/Video/Thunderstorm.zip

Второй - "Прыгающий мяч":
Image
В проекте "Прыгающий мяч" всего используется три дорожки.
1-я дорожка содержит футаж перемещения мяча.
2,3 дорожки содержат звуки ударов мяча о стены.

Результат монтажа:


Скачать исходное видео 2.84 MB: https://iqled.org/Video/Ball.zip

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

Я не акцентирую свое внимание на технике видео монтажа в этом топике, благо видеохостинг youtube имеет сотни уроков/пособий на данную тематику от профессионалов (и не очень) индустрии.

Итак, тестовое видео смонтировано, можно двигаться дальше...

Моя дальнейшая задача воспроизвести подготовленные ролики вместе со звуком на тестовой матрице WS2812B, с разрешением 64x32 пикселя. Разрешение матрицы маловато, но вполне достаточно для базового понимания технологии.

В ПО Light Studio Terminal создаю матрицу 64x32 пикселя.
Image

Если Вы еще не работали в ПО Light Studio Terminal, настоятельно рекомендую посмотреть базовый видео ролик.


Скачать "свежую" версию ПО Light Studio Terminal Вы можете по ссылке ниже:
viewtopic.php?f=26&t=87

Перехожу к конвертации подготовленных медиафайлов (медиафайл содержит аудио- и видеоинформацию) в формат *.led, для воспроизведения контроллером на светодиодной матрице WS2812B.

Тип матрицы WS2812B - это просто частный случай, все другие популярные:
WS2801, WS2811, WS2812b, WS2813, WS2815, WS2818, UCS1903, APA102, PL9823, SK9822 и др.
также полностью поддерживаются.


1 - Кнопкой "Upload a video file" Выбираю медиафайл thunderstorm.avi.
2 - Устанавливаю флажок Enable Video Resize, поскольку исходное видео нужно ужать до размера 64x32, соответственно поле width выставляю 64 и поле height 32 соответственно.
3 - Тип сглаживания INTER_AREA (подбирается индивидуально под видео).
4 - Нажимаю кнопку Applay (Применить).
5 - Нажимаю кнопку Start.
Image

Сейчас ПО находится в режиме предпросмотра анимации, без конвертирования в исполняемый контроллером файл *.led.
Image

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

Включаю кнопку Preview+capture, далее нажимаю кнопку старт Start,
в диалоговом окне выбираю путь сохранения файла и указываю его имя Storm_001.
Image

Таким образом, в результате видео захвата мы получили исполняемый файл PORT-1-Storm_001.led, который загрузим на SD карту контроллера для воспроизведения на матрице WS2812B.
Image

Аналогично, конвертирую анимацию Ball.avi.
1 - Кнопкой "Upload a video file" Выбираю медиафайл Ball.avi.
2 - Устанавливаю флажок Enable Video Resize, поскольку исходное видео нужно ужать до размера 64x32, соответственно поле width выставляю 64 и поле height 32 соответственно.
3 - Тип сглаживания INTER_AREA (подбирается индивидуально под видео).
4 - Нажимаю кнопку Applay (Применить).
5 - Включаю кнопку Preview+capture, Нажимаю кнопку Start.
6 - В диалоговом окне выбираю путь сохранения файла и указываю его имя Ball_002.
Image

Таким образом, в результате видео захвата мы получили исполняемый файл PORT-1-Ball_002.led, который загрузим на SD карту контроллера для воспроизведения на матрице WS2812B.

Image

ЧАСТЬ 2
Настройка ПО


В качестве проигрывателя используем Media Player Classic (MPC) — свободный проигрыватель аудио- и видеофайлов для операционной системы Windows. Используется версия v1.7.13.

Скачать Media Player Classic x64 https://www.iqled.org/soft/MPC-HC.1.7.13.x64.zip
Скачать Media Player Classic x86 https://www.iqled.org/soft/MPC-HC.1.7.13.x86.zip

Image

Для корректной сортировки и сопоставления файлов, будем использовать цифровой формат в конце имени:

Переименуем медиафайл Thunderstorm.avi в Thunderstorm_001.avi
Переименуем медиафайл Ball.avi в Ball_002.avi


т.е такой вид: xxxx_005 - где xxx любое имя, _005 показывает, что файл имеет порядковый номер воспроизведения 5.

Теперь проверяю, корректно ли воспроизводятся тестовые файлы, видео и звук.


Скачать исходное видео 1.89 MB: https://iqled.org/Video/Test.zip



Также нам потребуется дополнительное ПО LS RF REMOTE COM для связи ПО Media Player Classic с контроллером iqLED RF 1.4 по шине USB.
Скачать LS RF REMOTE COM https://www.iqled.org/soft/LS_RF_REMOTE_COM.rar

Image

Теперь переходим к настройкам ПО Media Player Classic и ПО LS RF REMOTE COM для совместной работы.

Настройка Media Player Classic
1 - View->Options...->Web Interfase
2 - Включаем флажок "Listen on port"
3 - устанавливаем его значение, например, 13579.
4 - Применяем настройки, кнопка "Apply".
5 - Кнопка "OK"

Image
Настройка LS RF REMOTE COM
1 - устанавливаем значение MCP port = 13579, т.е. такое же как у Media Player Classic
2 - в поле MCP IP укажем: localhost
3 - в поле Update time, ms укажем значение 16.
Если у вас слабый компьютер укажите 64. Этот параметр определяет частоту выборок тайм кода.
4 - Применяем настройки, кнопка "Save config".
5 - Запускам сканирование тайм кода, кнопка "Play".

Проверяем связь....
В ПО LS RF REMOTE COM должен передаваться тайм код (position) и имя воспроизводимого файла (filename).


ЧАСТЬ 3
Подключение к ПК


В качестве тестовой инсталляции будет использоваться схема приведенная ниже. Для контроля матрицы WS2812B и синхронизации с музыкальным треком используется контроллер iqLED RF 1.4. Для подключения контроллера к ПК используется кабель USB A<->micro USB B. Звук будет воспроизводится внешним акустическим комплектом, подключенным к звуковой карте ПК.

Image

Сначала требуется установить драйвер виртуального COM порта контроллера iqLED RF 1.4.
Драйвер можно скачать по ссылке, в папке программатора Light Studio Programmer 1.xx viewtopic.php?f=26&t=88
Image

Теперь следует подключить контроллер iqLED RF 1.4 к ПК через USB кабель и убедиться, что контроллер определяется в диспетчере устройств Windows.
Image

Копирую ранее подготовленный контент на SD карту контроллера.
Также указываю настройки в файле Mode.txt и указываю тип драйвера Driver type.txt

Image

На этом все... Можно посмотреть результат.


Рекомендации

Убедитесь, что ПО LS RF REMOTE COM "видит" контроллер iqLED RF 1.4.
Для этого нужно посмотреть лог обмена сообщениями, см. видео ниже.
Также рекомендую выполнить смещение звука относительно видео дорожки на 60-100 ms, чтобы выбрать задержку видео на матрице и 100% синхронизировать со звуком. См. видео ниже.



В случае, если в вашем проекте необходимо использовать синхронную работу группы контроллеров, используйте схему приведенную ниже. Контроллер iqLED RF 1.4 в режиме "Master" подключается к ПК, все остальные контроллеры в режиме "Slave" удаленно получают команды синхронизации от "Master" контроллера. Если в вашем проекте удаление Slave контроллеров от Master контроллера составляет более 20-30 метров, рекомендую для Master контролера использовать внешнюю антенну на 433 Мгц, размещенную на высоте 3-4 метра для увеличения площади покрытия радио синхронизации.

Image



****************************************************************************************************
Продвижение топика по ключевым словам:
светодиодная лента светодиодная лента купить
адресная лента ws2812b подключение адресной светодиодной ленты
управление светодиодной лентой arduino адресная лента
светодиодная лента rgb подключение адресной ленты
rgb контроллер flash контроллер
светодиодный rgb контроллер
Light Studio Terminal WS2812B WS2813 APA102
iqLED RF 1.4 iqLED RS

Post Reply