К содержанию
fohbook/ TouchDesigner для света
профи

Разбор музыки нейросетью

Больше, чем полосы спектра: разделение инструментов, структура трека и распознавание речи — и что из этого нужно свету.

Обычный анализ звука даёт громкость по частотам. Модели дают то, чего он не даёт: что именно играет и где мы в композиции.

Что умеют модели

Задача Модель Реальное время
Разделение на инструменты (стемы) Demucs и подобные Тяжело; лучше офлайн
Определение темпа и долей Beat-tracking модели Да
Структура трека (куплет, припев) Модели сегментации Офлайн
Распознавание речи Whisper С задержкой в секунды
Классификация жанра и настроения Небольшие модели Да

Разделение на стемы

Самое привлекательное для света: отдельно барабаны, отдельно вокал, отдельно бас. Тогда бочка управляет вспышками, а вокал — цветом, и они не мешают друг другу.

Проблема — вычислительная стоимость: качественное разделение в реальном времени требует серьёзной карты и добавляет задержку.

Практичный компромисс: разделять заранее. Если трек известен (а на шоу с фонограммой он известен), прогоните его через модель дома, получите стемы, проанализируйте их обычными средствами и сохраните результат как данные. На шоу вы читаете готовый анализ по таймкоду — без задержки и без риска.

Это ключевая мысль: для шоу с фонограммой анализ делается офлайн.

Готовый анализ как данные

tc          low   mid   high  kick  vocal  section
00:00:00    0.12  0.30  0.10  0     0      intro
00:00:01    0.15  0.32  0.11  1     0      intro
...

Таблица, синхронная с таймкодом, читается как обычные данные. Плюсы:

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

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

Живой звук

Для импровизации и живых выступлений офлайн не подходит. Здесь работают:

  • обычный audioAnalysis — он быстрый и надёжный;
  • лёгкие модели детекта бита поверх него;
  • тап руками как страховка — Темп и бит.

Тяжёлое разделение в реальном времени для живого концерта пока не оправдано.

Речь

Whisper распознаёт сказанное с задержкой в секунды. Для света это годится в инсталляциях: слово-триггер меняет картину. Для концерта — нет.

Как это связывать со светом

Правило то же, что для всей реактивности: одно понятное свойство на источник.

Источник Хорошо управляет
Бочка (выделенная) Импульсы, вспышки, акценты
Бас Общий уровень, объём, «дыхание»
Вокал Цвет, фокус на солиста
Структура Смена картины, кью

Между источником и приборами обязательно сглаживание: асимметричный Lag превращает детект удара во вспышку с мягким спадом.

Автоматика без ручного дубля — плохая идея

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

рядом по смыслу