Три способа держать темп света, чем они отличаются, как отдать MIDI Clock на одной машине и между двумя и что делать, если источник умеет только Ableton Link.
MIDI Beat Clock. Источник музыки сам шлёт 24 тика на четверть, пульт
считает по ним темп и идёт за ним непрерывно. Это то, что нужно на дискотеке
и на любом сете, где темп меняется.
Таймкод. MTC или Art-Net-таймкод — это не про темп вовсе, а про позицию:
жёстко расписанное шоу, где на 2:14 должна быть конкретная кью. Про него
отдельная статья.
Дальше — про второй, потому что именно с ним больше всего вопросов.
Включить у нас
Настройки → MIDI, галочка «Следовать темпу MIDI Clock». Рядом с ней
показание: MIDI Clock: 128.0 BPM, когда источник живой, и «MIDI Clock не
приходит», когда его нет.
Показание работает всегда, следование — только по галочке, и это
сделано намеренно. Клок свободно шлёт половина синтезаторов и драм-машин, и
включённое по умолчанию следование означало бы, что у части людей темп живёт
своей жизнью без спроса. Сначала посмотрите, что показание появилось, и
только потом включайте.
Пока темп ведёт клок, поле BPM и кнопка TAP заблокированы — с подсказкой,
почему. Это тоже намеренно: тап при живом клоке вернулся бы к чужому темпу
через долю, и выглядело бы это как поломка, а не как «ведёт источник».
Включить у источника
Отдача клока почти везде выключена по умолчанию и лежит в настройках
синхронизации: в DAW это обычно «MIDI Clock Send» на конкретный порт, в
диджейском софте — раздел Sync или Link/MIDI. Не найдя такого тумблера,
искать причину в пульте бесполезно: без него по проводу не идёт ничего.
Как соединить
Одна машина. Нужен виртуальный MIDI-порт: источник пишет в него, пульт
из него читает.
- macOS: встроенный IAC Driver (Audio MIDI Setup → окно MIDI Studio),
включите устройство и выберите его портом в обеих программах.
- Windows: своего виртуального порта в системе нет, ставится сторонняя
бесплатная утилита (самая известная — loopMIDI).
- Linux: ALSA даёт виртуальные порты штатно.
Две машины. Три варианта, от простого к правильному:
- MIDI-кабель через любой USB-MIDI-интерфейс. Скучно, зато работает без
единой настройки и не зависит от сети.
- Сетевой MIDI. На macOS он встроен (MIDI Network Session в том же Audio
MIDI Setup), на Windows нужен сторонний rtpMIDI. По той же сети, что и
Art-Net, — отдельного провода не надо.
- Мост из Ableton Link, если источник умеет только его: Link ведёт
программу-мост, а мост отдаёт MIDI Clock. Обычно эту роль играет уже
стоящий на машине DAW.
Ableton Link: скажем прямо
Мы его не поддерживаем. Причина не в сложности: библиотека Link
распространяется по двойной лицензии — открытой GPL либо проприетарной по
договору с Ableton, — и первый вариант несовместим с нашей. Плюс это
нативный модуль под три платформы.
Практическая разница для вас: там, где диджей на своём ноутбуке гоняет Link
по Wi-Fi, нам нужен мост в MIDI Clock. Одна лишняя программа в цепочке.
Всё остальное — темп, следование, фаза — работает одинаково.
Диагностика: где обрывается цепочка
Смотрите на показание в настройках MIDI, оно делит проблему надвое.
Показания нет. До пульта не доходит ничего:
- Отдача клока не включена у источника (самое частое).
- Выбран не тот порт — виртуальных портов в системе обычно несколько.
- Порт занят другой программой. Windows отдаёт MIDI-порт монопольно: пока
его держит DAW, второй программе он не достанется.
Показание есть, свет не в темп. Проверьте эффект: за темпом идут только
те, у которых период задан в битах, а не в секундах. Это переключатель
рядом с полем периода.
Темп вдвое больше или меньше. Клок всегда 24 тика на четверть, и врать
тут нечему — а вот считать источник может в другой доле. Это не чинится
настройкой: поставьте у эффекта период в 2 или 0,5 бита.
Темп дрожит. Один потерянный тик мы переживаем (темп считается по
медиане интервалов, а не по среднему — иначе одна потеря уводила бы его на
пять процентов). Систематическое дрожание лечится только со стороны
источника: загруженный процессор и цепочка USB-хабов дают именно его.
Два источника разом. Ведущим становится тот, кто заговорил первым;
остальные молчат, пока он жив. Иначе интервалы двух устройств смешались бы,
и темп плавал бы вдвое.
Фаза: почему свет в темп, но не в долю
Темп и доля — разные вещи. Из потока тиков известен темп, а вот где именно
«раз», говорит только сообщение Start, которое источник шлёт при запуске
с начала.
Поэтому: подключились посреди трека — получите верный темп, но фазу пульт не
угадает. Запустите трек с начала (или нажмите стоп-старт у источника), и
эффекты с периодом в битах встанут на начало доли.
Подтягивать фазу на каждой доле мы намеренно не стали: оценка темпа всегда с
погрешностью, и постоянная коррекция была бы видна рывками на медленных
эффектах — лечение хуже болезни.
Что проверить на площадке
- Выдерните провод и посмотрите. Показание погаснет через пару секунд, а
темп останется последним — свет не встанет и не поедет. Это намеренно:
посреди номера лучше ошибиться на пару процентов, чем замереть.
- Проверьте на реальном треке, а не на метрономе. Метроном ровный, а
живой сет — нет; именно на переходах видно, успевает ли источник.
- Решите заранее, что ведёт. Если темп ведёт клок, поле BPM
заблокировано — это не должно стать открытием за минуту до начала.