Разбор музыки нейросетью
Больше, чем полосы спектра: разделение инструментов, структура трека и распознавание речи — и что из этого нужно свету.
Обычный анализ звука даёт громкость по частотам. Модели дают то, чего он не даёт: что именно играет и где мы в композиции.
Что умеют модели
| Задача | Модель | Реальное время |
|---|---|---|
| Разделение на инструменты (стемы) | 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 превращает
детект удара во вспышку с мягким спадом.
Разбор музыки моделью ошибается на переходах, в паузах и на нетипичных частях. Оператор должен иметь возможность взять управление одним движением.