К содержанию
fohbookбета/ TouchDesigner

Таймкод

LTC через звуковую карту, MTC через MIDI, Movie File In, который сам идёт за таймкодом, и как узнать, что сигнал пропал, если флага у LTC In нет.

Ветка вашего пульта:
Быстрый выбор:

На шоу с фонограммой время задаёт внешний источник, а не ваш таймлайн, и TouchDesigner умеет таймкод и принимать, и отдавать.

Оператор Что делает
LTC In CHOP Читает SMPTE-таймкод, закодированный в аудиосигнале
LTC Out CHOP Генерирует такой сигнал
Timecode CHOP Держит текущий таймкод: из параметров, строки, каналов, другого оператора; считает и переводит форматы
MIDI In CHOP / MIDI Out CHOP Приём MIDI-таймкода (MTC) и его отправка
Timer CHOP Собственные отсчёты и последовательности

Внутри таймкод — объект tdu.Timecode, и член .timecode есть у Movie File In, LTC In, Timer, Timecode CHOP, MIDI In и других. Info CHOP на таком операторе отдаёт таймкод каналами.

LTC

Линейный таймкод — звук, поэтому он приходит на вход звуковой карты (Audio Device In), LTC In CHOP его декодирует, а Timecode CHOP приводит к нужной форме:

audio device in ──▶ ltc in ──▶ timecode ──▶ null

У LTC In Input Frame Rate — частота таймкода, а Discrete Channels даёт отдельные hour, minute, second, frame. Частота таймкода с частотой проекта совпадать не обязана: 24, 25, 29.97 drop frame, 30, 50, 60.

Куда его

Movie File In умеет идти за таймкодом сам: Play Mode = Timecode Object/CHOP/DAT и ссылка на CHOP с hour, minute, second, frame — LTC In с Discrete Channels или Timecode CHOP. Timecode Mode выбирает, считать ли от начала ролика или по таймкоду, записанному в файле. Видео тогда идёт ровно по шоу (Movie File In). События запускают по таблице «таймкод → действие» из колбэка, а машины синхронизирует то, что все слушают один таймкод.

Главный таймлайн не гоняют

Привязка главного таймлайна к внешнему таймкоду почти всегда даёт рывки: от таймлайна зависит кук многих вещей. Таймлайн оставляют свободным, а таймкод используют как данные, из которых считается всё синхронное.

Сигнал пропал

Кабель выдернули, плеер остановили, пауза между песнями. Флага «сигнал есть» у LTC In нет, но в Debug Channels есть decode_count, который растёт с каждым разобранным кадром: перестал расти — сигнала нет. Можно и сравнивать таймкод с прошлым кадром: стоит дольше полсекунды — пропал. Дальше нужно заранее решить, что делать при пропаже — замереть, идти по своим часам или уйти в чёрное — и при скачке назад, когда на репетиции перематывают.

Отдавать

LTC Out CHOP делает сигнал для звукового выхода, а оттуда — свету, звуку, механике. Время он берёт из своих параметров (часы, минуты, секунды, кадры, Frame Rate) или из другого оператора с таймкодом. MIDI Out CHOP с Send MIDI Timecode шлёт MTC на 24, 25, 29.97 drop frame или 30 кадров. Так TouchDesigner становится мастером времени шоу; со стороны света — Таймкод и шоу.

Таймкод на экране оператора

Крупные цифры и индикатор сигнала в служебной панели отвечают на вопрос, стоит ли шоу или завис патч. Сборка целиком — Шоу по таймкоду.

Нашли в статье ошибку, устаревшее или непонятное место?

На других пультах

весь переводчик →
Таймкодздесь — Timecode CHOP
  • ResolumeSMPTE
  • WATCHOUTTimecode
  • disguise (d3)Timecode
рядом по смыслу