Синхронизация

Антон БАЛАБАН
Музыкальное Оборудование
август 2001

Базовые принципы, основные форматы, примеры.

Синхронизация — тема очень сложная и многоликая. Все аспекты синхронизации звуковых систем рассмотреть практически невозможно, так как всегда найдется «особый случай», для которого общие правила не действуют. Форматов синхронизации также существует великое множество, зачастую формат синхросигналов создается под конкретный прибор. Цель данной статьи — рассмотрение базовых принципов систем синхронизации, краткое описание основных форматов передачи синхросигналов и раскрытие некоторых неочевидных возможностей различных протоколов на примерах. Эти примеры я призываю рассматривать не как готовые решения, а, скорее, как повод для размышления. Возможно, после такого размышления вы сможете сделать ваши системы более эффективными, надежными или удобными. Я также попытался давать переводы большинства использованных терминов на английский язык, так как инструкции к приборам на русском крайне редки, да и материалы на эту тему в настоящее время выходят, в основном, на английском. Последнее, на что хотелось бы обратить ваше внимание перед прочтением, это то, что многие вещи в данной статье упрощены, особенно в описании кино- и видеосинхронизации.

Синхронизация нужна для того, чтобы два или более устройства стартовали в одной и той же точке на временной сетке и в дальнейшем работали с одинаковой скоростью. Соответственно есть два типа синхронизационных сигналов: первые передают только временные метки (позиционная информация), а вторые — только информацию о скорости, вне зависимости от текущего временного положения программы. Впрочем, эти два разных вида синхронизационной информации могут объединяться в одном сигнале, но об этом позже.

В любой синхронизированной системе одно из устройств является ведущим (master), то есть задающим стартовую точку и/или скорость, а все остальные — ведомыми (slave). При этом ведущие устройства по разным типам синхронизационной информации могут быть разными.

Многие способы синхронизации используют временной код (timecode, тайм-код), передаваемый через равные промежутки времени одновременно со звуком или изображением и «помечающий» соответствующий участок уникальной временной меткой. Тайм-код представляет собой как бы линейку, накладываемую на временную ось.

Необходимо отметить принципиальную разницу между синхронизацией цифровых и аналоговых устройств. Аналоговый звук, как известно, непрерывен по своей природе, кроме того, магнитная лента не может двигаться абсолютно равномерно. Поэтому временной код (или идентификатор скорости, типа пилот-тона) для синхронизации обязательно должен быть физически прописан на ленту. При цифровой записи звук уже разбит на равные промежутки времени (44100 в секунду, например), то есть каждый семпл уже как бы несет на себе показатели позиции и скорости воспроизведения. Поэтому многие цифровые устройства (в особенности, рабочие станции на основе компьютера) временной код не прописывают, а вычисляют, исходя из заданных пользователем единиц измерения и стартовой точки. Если же тайм-код все-таки необходимо прописать, то он не занимает звуковую дорожку, а прописывается в специальное место (обычно это область субкода). Кроме того, можно считать, что цифровые устройства воспроизводят звук ровно, то есть после задания единой стартовой точки они не будут «расползаться» из-за флуктуаций скорости.

SMPTE/EBU и родственные ему форматы

Начнем, пожалуй, с самого распространенного на сегодняшний день формата синхронизации — SMPTE/EBU. Стандарт этот был принят в 1971 году Обществом Кино- и Видеоинженеров (Society of Motion Picture and Television Engineers, SMPTE) США, немного позже к нему присоединился Европейский Союз Вещателей (European Broadcast Union, EBU). Изначально SMPTE (читается как «симпти») был разработан для синхронизации видеомагнитофонов, отсюда и единицы измерения: часы (от 0 до 23), минуты (от 0 до 60), секунды (от 0 до 60), кадры (от 0 до 24, 25 или 30). До широкого распространения видеозаписи необходимости в тайм-коде не было, так как в производстве фонограмм для кинофильмов использовалась маг-лента — 35- или 16-миллиметровая кинопленка с нанесенной на нее магнитной дорожкой для записи звука. Так как на маг-ленте была такая же перфорация, как и на кинопленке, и воспроизводилось все с помощью одного мотора, то синхронизация звука и изображения происходила автоматически. Если же моторы были разные, то их скорости легко выравнивались до приемлемых результатов. Дело в том, что скорость моторов, применяемых в киноаппаратах, зависит от частоты переменного тока. Таким образом, если оба мотора подключены к одной электросети, их скорости сравнивались. Для синхронизации с ленточными магнитофонами использовался пилот-тон, о котором мы поговорим немного позже.

SMPTE содержит в себе одновременно и позиционную информацию (в формате часы:минуты:секунды:кадры) и информацию о скорости (синхронизатор вычисляет ее из частоты поступления кадров). Совершенно не обязательно использовать сразу обе составляющие из одного сигнала, но это возможно. Существуют две разновидности SMPTE: VITC (Vertical Interval Time Code, читается «витси») и LTC (Longitudinal Time Code). В аудиопроизводстве в основном применяется последний, он представляет собой аудиосигнал, состоящий из серии коротких «бипов», которые в цифровой форме кодируют временные метки. Эти бипы считываются синхронизатором и расшифровываются в часы, минуты, секунды и кадры. Блок данных SMPTE (кадр) состоит из 80 бит. В LTC каждый бит кодируется переворотом фазы на половине бипа, то есть частота сигнала увеличивается вдвое. Таким образом бип стандартной частоты воспринимается как «0», а «бип» удвоенной частоты — как «1» (рис. 1). Диапазон рабочих звуковых частот LTC составляет 1-3 кГц.



80 бит кадра разбиты на 16 блоков по четыре бита плюс еще один 16-битный кусок. Восемь четырехбитных блоков отданы на запись собственно позиционной информации: часов, минут, секунд, кадров. Еще восемь — так называемые User Bits, пользовательские биты, в них может быть записана информация, заданная пользователем, например, номер ролика, дата и т. п. Последний 16-битный блок (называемый sync word) кодирует направление движения ленты (вперед/назад) и содержит последовательность битов, обозначающую конец кадра. Sync word также содержит несколько идущих подряд однобитовых сигналов, необходимых для автокалибровки синхронизатора. В VITC биты кодируются «квадратиками», которые мы иногда видим в верхней части изображения при плохо настроенном видеотракте (рис. 2). Еще одним отличием VITC является то, что каждый кадр содержит не 80, а 90 бит, оставшиеся 10 используются для коррекции ошибок.



Аудиосигнал с LTC тайм-кодом прописывается на свободную дорожку многоканального магнитофона (или на специальную дорожку двухканального) и используется для синхронизации. VITC записывается непосредственно в видеосигнал, в строки, не содержащие изображения. Основными недостатками VITC можно считать то, что он записывается только одновременно с видеосигналом, и заменить тайм-код можно только вместе с видеоинформацией, а также то, что он не читается на высоких скоростях перемотки. Зато VITC может считываться с видеомагнитофона даже на очень низких скоростях и даже в паузе, что невозможно в случае LTC. Поэтому иногда в производстве фонограмм для видео используют одновременно два типа SMPTE на одной кассете, а синхронизатор автоматически выбирает лучший для данной ситуации (например, при высоких скоростях переключается на LTC, а при стоп-кадре — на VITC).

Существует несколько форматов SMPTE, связанных с различным количеством кадров в видеосигнале и на кинопленке в разных странах:
24 fps (frames per second, кадров в секунду) — такое количество кадров принято в кинопроизводстве в странах с частотой переменного тока 60 Гц;
25 fps — системы PAL и SECAM, кино в странах с частотой переменного тока 50 Гц;
30 fps — NTSC.

С системой NTSC связана еще одна сложность. Дело в том, что при цветном вещании в этом формате реальная частота кадров составляет не 30, а 29,97 fps. Если использовать обычный временной код с полными 30 кадрами в секунду, то вскоре накопится несоответствие между временем на счетчике тайм-кода и реально прошедшим временем программы (разница составляет 108 кадров в час). В ряде случаев такое положение дел неудобно (например, в вещании, где каждая секунда на счету), и для того, чтобы значения временного кода отражали реальную продолжительность программы, используются «выпадающие кадры» (drop frame или df). Первые два кадра (00 и 01) каждой минуты, за исключением нулевой, десятой, двадцатой, тридцатой, сороковой и пятидесятой, просто пропускаются (после 00:00:01:29 идет 00:00:02:02), и такими пропусками компенсируется возникающая разница. Этим головная боль с дробным числом кадров в секунду не исчерпывается, но здесь мы ее рассматривать не будем, так как живем в счастливой стране с системами SECAM в вещании и PAL в видеопроизводстве.

При синхронизации частота кадров на ведущем и всех ведомых устройствах обязательно должна быть выставлена одна и та же. И хотя в чисто звуковом производстве, в общем-то, не важно, какая именно частота кадров используется (теоретически самая точная синхронизация обеспечивается при 30 fps), я бы порекомендовал на всех приборах раз и навсегда установить частоту кадров 25 fps и никогда ее уже не менять, даже если вы не работаете с видео — поступив таким образом, вы сможете забыть про частоты кадров, даже если вдруг вам принесут видеомагнитофон и вам надо будет как-то его вписывать в свою систему. Это особенно важно, когда в студии посменно работают несколько человек, — если каждый будет выбирать частоту кадров по своему усмотрению, то проблемы неизбежны.

MIDI Time Code (MTC)

Еще одним очень распространенным форматом временного кода является MIDI Time Code (MTC). По сути, он является тем же SMPTE, но передаваемым по протоколу MIDI. В MTC принят такой же формат времени (часы:минуты:секунды:кадры) и частоты кадров, что и в SMPTE. Так как в стандарте MIDI передача происходит восьмибитными блоками, каждый кадр SMPTE разбивается на восемь частей: первые две несут информацию о часе, вторые — о секунде и т. д. Восемь блоков вместо необходимых четырех получаются потому, что, кроме собственно значений времени, как минимум половина данных приходится на сопроводительную информацию. Помимо этого, по MTC, в отличие от SMPTE, передается кадровый формат временного кода (24, 25 fps и т. д.). Блоки данных MTC передаются четыре раза за кадр (они так и называются: quarter frame, четверть кадра). Таким образом, на передачу всей информации об одном блоке SMPTE затрачивается время, равное двум кадрам (восемь четвертей кадра). Соответственно, при преобразовании из SMPTE в MTC только половина кадров (через один) попадает в MIDI тайм-код. С одной стороны, это несколько снижает скорость реакции ведомого устройства — для того, чтобы оно прочитало текущую позицию SMPTE, нужно получить восемь четверть-кадров, что в реальном времени может занять от двух до четырех кадров, в зависимости от того, в какой момент начался прием. С другой стороны, частота получения информации о скорости (она извлекается из поступающих четверть-кадров), по сравнению с SMPTE, выше в четыре раза, что способствует более качественной синхронизации. Для того, чтобы указать точку старта устройству еще до поступления временного кода, применяется MTC Full Frame Message — это сообщение SysEx (System Exclusive), в котором передается временная координата сразу и целиком. После получения такого сообщения прибор перематывает ленту (или ставит курсор) на требуемое место по шкале SMPTE. Такие полноформатные сообщения иногда используются при перемотке ленточных магнитофонов (если при этом не считывается временной код) — ведущий периодически посылает ведомому сообщения Full Frame, чтобы тот «не расслаблялся» и тоже перематывал ленту. В наше время с повсеместной записью на жесткий диск использование таких сообщений в большинстве случаев утратило актуальность. Передача пользовательской информации (user bits) поддерживается в MTC, здесь также используются специальные SysEx сообщения.

Отличительной особенностью формата MTC является то, что он сам по себе не может быть никуда записан, а только вычисляется, исходя из размера и темпа произведения, в секвенсоре или в цифровых магнитофонах и компьютерных рабочих станциях на основе частоты дискретизации и «порядкового номера» семпла. Еще одним источником MTC может быть преобразование SMPTE в MTC, которое могут производить многие современные MIDI-интерфейсы и синхронизаторы. Из-за того, что MIDI Time Code изначально передается в машинно-читаемом формате (а не в виде аудиосигнала, как LTC) и реализация приема-передачи этого временного кода в цифровых аппаратах обходится сравнительно недорого, MTC в настоящее время является главным форматом временного кода, использующегося для синхронизации компьютерных программ и значительной части цифровых звукозаписывающих устройств.

Работа с SMPTE и MTC

Итак, мы уже знакомы с двумя основными форматами временного кода, SMPTE и MTC, и готовы начать что-нибудь с чем-нибудь синхронизировать. Для начала надо убедиться, что временной код в том или ином виде существует на всех синхронизируемых устройствах. На аналоговую ленту его, как уже говорилось, надо сначала записать. Это не так просто, как кажется на первый взгляд. Дело в том, что SMPTE LTC код звучит довольно противно, в этом вы можете убедиться сами, подключив выход генератора SMPTE к своему микшерному пульту. А аналоговая лента имеет один недостаток — зачастую звук «просачивается» между двумя соседними дорожками. И если вокал, немного просочившийся на трек клавишного подклада, не представляет особой проблемы, то даже очень небольшая добавка звука временного кода в аранжировку звучит довольно дико. Для избежания подобных эксцессов SMPTE обычно прописывают на крайнюю дорожку многоканальной ленты (например, первую или двадцать четвертую на 24-дорожечном магнитофоне, тем более, что крайние дорожки обычно звучат хуже внутренних, и под тайм-код их не так жалко) с уровнем от -10 до -5 dB VU. Указанные уровни являются неким усреднением, и конкретные значения для своей системы лучше подбирать опытным путем — уровень должен быть минимальным (чтобы не просачивался), и при этом обеспечивать надежное считывание тайм-кода синхронизатором. Иногда соседнюю с тайм-кодом дорожку оставляют пустой, а если такой возможности нет, то записывают туда что-нибудь мощно звучащее с небольшим динамическим диапазоном, вроде ритм-гитары. Лучше всего подавать временной код на магнитофон прямой коммутацией генератора на записываемую дорожку. Если же сигнал не может быть подан напрямую, то проследите, чтобы он никаким образом не обрабатывался (например, эквалайзером и динамической обработкой пульта). На том канале магнитофона, куда записывается временной код, должна быть выключена система шумоподавления. Если на вашем магнитофоне шумоподавление включается одновременно на всех каналах, и вы, таким образом, не можете изолировать дорожку тайм-кода от работы «шумодава», тогда смиритесь с этим и попробуйте работать с включенным шумоподавлением. В большинстве случаев SMPTE все равно будет устойчиво считываться, но, возможно, придется повысить уровень записи тайм-кода. Если же не заработает, тогда придется выбирать: или синхронизация, или шумоподавление.

Записывать временной код надо обязательно «внахлест», то есть так, чтобы тайм-код начинался хотя бы на 15 секунд раньше музыки и немного позже заканчивался, в идеале же тайм-код должен быть прописан на всю длину ленты. Дело в том, что на синхронизацию ведомому устройству необходимо некоторое время, и если тайм-код будет начинаться одновременно с музыкой, то ведомый прибор просто не успеет к началу, а начнет играть только, допустим, с третьего такта. Имейте в виду, что названная мною величина в 15 секунд условна, время, необходимое для входа в режим синхронизации всей своей системы, вы должны определить опытным путем и с некоторым запасом установить значение «нахлеста». Опять-таки, рекомендую установить эту величину постоянной для любых работ в вашей студии. Даже когда вы не используете ленточный магнитофон (обычно самое медленно синхронизирующееся устройство), а только синхронизируете секвенсор (обычно «цепляется» быстрее всех), не стоит уменьшать время «нахлеста» — там, где сегодня достаточно секвенсора, завтра может понадобиться задействовать всю студию.

Во многих студиях (особенно связанных с видеопроизводством) принято начинать тайм-код не с нуля, а с точки 01:00:00:00 (один час). Это делается для того, чтобы была возможность добавить материал перед тем, над которым ведется работа в настоящий момент. Если возникает подобная необходимость, довольно просто добавить временной код до отметки 1 час и продолжить работу. Если же у нас стартовая точка — ноль, номер часа перед ним будет, соответственно, 23. А многие синхронизаторы довольно болезненно реагируют на переход от 23:59:59:24 к 00:00:00:00 и далее. Например, если магнитофон находится в точке с тайм-кодом, показывающим 23 часа с чем-то, и приходит команда перейти на нулевой час с чем-то, то синхронизатор дает команду мотать ленту назад (к 22-му, 21-му и т. д. часам до 0), а не вперед, где этот ноль на самом деле находится. В общем-то, с точки зрения синхронизатора все логично, но у вас может отнять довольно много времени. Так что если возможны подобные моменты (добавление материала «вперед»), то советую начинать с отметки в 1 час и сделать это стандартом для всей работы студии.

Если мы установили стартовую точку тайм-кода на 1 час, то нам нужно внести соответствующую поправку в те устройства, которые тайм-код рассчитывают, например, секвенсоры. Ведь по умолчанию в любой программе первая доля первого такта произведения соответствует 00:00:00:00 временной сетки, и если на секвенсор приходит тайм-код со значением 01:00:00:00, то он и начнет воспроизводить аранжировку с точки, отстоящей от первого такта на один час. Чтобы этого избежать, и существует параметр offset, или смещение. В нашем случае для правильной работы нужно в секвенсоре установить смещение, равное одному часу, и тогда точка 01:00:00:00 внешнего тайм-кода совпадет с 00:00:00:00 внутренней временной сетки программы. То же самое относится и к другим устройствам, которые не прописывают, а рассчитывают временной код.

Ну вот, временной код прописан, смещения выставлены, пора бы уже приступать к синхронизации. Самой простой и в то же время самой распространенной системой является связка магнитофон-секвенсор. В секвенсор нам ничего прописывать не надо, так как для синхронизации с внешним миром он пользуется MIDI тайм-кодом. Для начала нужно выбрать ведущего в системе. В данном случае самым простым и дешевым способом будет выбрать ведущим аналоговый магнитофон, а ведомым — секвенсор. Заранее прописанный SMPTE тайм-код с ленты подается на вход синхронизатора (роль которого могут исполнять некоторые MIDI-интерфейсы), и синхронизатор преобразует SMPTE в MTC (рис. 3). Последний считывается секвенсором, который стартует в нужной точке и затем подстраивает свою скорость под тайм-код. Для того, чтобы все именно так и произошло, нужно в настройках синхронизации секвенсора указать «следовать за входящим тайм-кодом» (что-то вроде «chase to incoming timecode» или «online»), указать MIDI-порт, по которому будет приходить этот код (MTC), и выставить правильную частоту кадров (хотя у вас она должна быть уже давно установлена во всей студии). Еще несколько лет назад этих действий было бы достаточно для надежной синхронизации магнитофона и секвенсора. Но сейчас многие секвенсоры могут сами выступать в качестве многодорожечного магнитофона, записывая звук на жесткий диск компьютера через звуковую плату. Поэтому в настройках синхронизации присутствует опция, предлагающая два варианта: воспроизведение MIDI со скоростью, определяемой входящим MTC, или скорость будет определяться проигрывающимся звуком с жесткого диска. В последнем случае секвенсор из приходящего тайм-кода берет только стартовую точку, а скорость воспроизведения MIDI-нот будет зависеть от частоты дискретизации звуковой платы (на тайм-код уже никто не смотрит), ведь именно ей пропорциональна скорость проигрывания аудиофайлов с диска компьютера. Если вы ничего не поняли из последней фразы, не отчаивайтесь, все это будет подробно рассмотрено немного позднее, а сейчас важно уяснить, что, если из секвенсора у нас идут только MIDI-ноты (без звука с жесткого диска), то нужно выбрать первый вариант (скорость постоянно подстраивается под входящий MTC).



Если ведущим в подобной системе выступает цифровой магнитофон, то все может быть еще проще. На многих цифровых устройствах есть выход MIDI (как минимум в виде дополнения типа ADAT BRC), по которому напрямую, без конверсии, идет MTC. В этом случае обычно прописывать тайм-код не нужно, все выставляется в опциях. Если же у вашего цифрового магнитофона MIDI-выхода нет, только SMPTE (хотя это и редкость по нынешним временам), все происходит так же, как и с аналоговым магнитофоном.

Ведомый аналоговый магнитофон

А можно ли сделать ведомым аналоговый магнитофон? Конечно можно, хотя это довольно дорого (и сам аппарат с возможностью такой синхронизации стоит немало, да еще к нему нужен специальный недешевый синхронизатор, вроде Lynx-2 или Microlynx фирмы TimeLine). Мы конспективно (так как в наше время эта задача волнует не многих, да и слишком все зависит от конкретной модели устройства) рассмотрим этот вариант на примере синхронизации двух аналоговых магнитофонов (это — самый распространенный случай, когда аналоговый магнитофон должен быть ведомым). Для построения такой системы, кроме двух магнитофонов, необходим синхронизатор, который может управлять транспортом и скоростью мотора лентопротяжного механизма. К синхронизатору подключаются выходы с дорожек, на которых заранее был записан тайм-код, и кабели, по которым передаются управляющие магнитофоном (или магнитофонами) сигналы (рис. 4).



При поступлении синхросигнала от ведущего устройства синхронизатор запускает ведомое и считывает с него значения тайм-кода. Затем синхронизатор по временному коду находит место на ленте ведомого магнитофона, чтобы точно совпасть с ведущим, и запускает воспроизведение ведомого. В процессе воспроизведения синхронизатор все время сравнивает приходящие тайм-коды и подстраивает скорость ведомого (через уменьшение/увеличение числа оборотов мотора ЛПМ) так, чтобы эти значения совпадали. Если диапазоны временного кода на ведущем и ведомом устройствах не совпадают, то в синхронизаторе может быть задано смещение (offset) временной сетки. Вот, собственно, и все. К сожалению, это только общая схема, так как у каждой модели аналогового магнитофона есть свои особенности. Например, при перемотке одна модель может посылать звук с дорожки SMPTE на синхронизатор, заглушая остальные каналы, а другая отводит блок головок от ленты, и тогда синхронизатор ориентируется во времени по количеству оборотов мотора лентопротяжного механизма. Естественно, в последнем случае позиционирование ленты может быть только приблизительным (хотя особо «продвинутые» синхронизаторы умеют адаптироваться к конкретному экземпляру магнитофона, повышая точность позиционирования ленты после некоторого «обучения»), и до точности оно доводится синхронизатором только после старта и считывания тайм-кода ленты. Иногда бывает, что датчик скорости при перемотке не работает, и приходится вручную осуществлять перемотку на нужное время. Так что возможности синхронизатора могут быть различными в зависимости от конкретного аппарата, к тому же отсутствует единый стандарт на управляющие сигналы (а также разъемы и кабели) для управления аналоговыми магнитофонами, поэтому универсальных решений в данном случае не бывает. И если вы собрались приобрести аналоговый магнитофон (кстати, спешите, почти все они уже сняты с производства) и предполагаете, что в вашей системе он будет работать ведомым, не откладывайте покупку синхронизатора и необходимых для этого опций на завтра. То же самое относится к покупке подержанных магнитофонов — шансы найти к ним опции и кабели для синхронизации в настоящее время практически равны нулю, так что покупайте уже законченную работающую систему с синхронизатором и всем необходимым.

Jam-синхронизация, Freewheel, регенерация тайм-кода

Результат монтажа аналоговой ленты (лезвием и скотчем) с записанной дорожкой временного кода обычно превращает последовательный тайм-код в ряд не связанных между собой по времени кусков, поэтому использовать этот тайм-код для синхронизации невозможно. Чтобы синхронизировать такие ленты, используют так называемую Jam-синхронизацию — в этом режиме синхронизатор считывает порезанный временной код с ленты, а выдает уже полностью восстановленный, то есть последовательный, без скачков и перерывов. При этом стартовую точку временного кода он берет с первого куска ленты (или значения, заданного пользователем внутри синхронизатора), и генерирует, начиная с этого значения, новый временной код, причем скорость генерации задается не внутренним генератором синхронизатора, а считываемым с ленты «порванным» тайм-кодом. Этот заново сгенерированный код может быть вновь записан на ту же смонтированную ленту или использоваться напрямую из синхронизатора (рис. 5).



Еще один параметр в настройках синхронизации секвенсора (а также синхронизатора) называется Freewheel. Он измеряется в количестве кадров и показывает, сколько кадров ведомое устройство будет продолжать воспроизводить при пропадании тайм-кода. Если состояние временного кода на аналоговой ленте оставляет желать лучшего и некоторые кадры просто не могут быть считаны синхронизатором, то установка отличного от нуля значения параметра Freewheel помогает все-таки работать с такой лентой (количество кадров настраивается индивидуально, по умолчанию обычно 2-4 кадра). При выпадении временного кода синхронизатор (или секвенсор) генерирует недостающие значения, основываясь на скорости воспроизведения предыдущих кадров SMPTE. Если же стоит задача проверить целостность временного кода, тогда поставьте Freewheel на ноль, и при малейшем выпадении тайм-кода ведомое устройство остановится.

При повреждении временного кода на аналоговой ленте помогает регенерация: синхронизатор считывает имеющийся временной код с ленты, а на выходе выдает свежий, только что заново сгенерированный на основе входящего. Здесь при необходимости настраивается параметр Freewheel. Регенерировать тайм-код стоит также и при копировании аналоговых пленок. Если просто переписывать временной код с ленты на ленту, его качество будет ухудшаться, что выльется в проблемы при считывании, поэтому лучше выход SMPTE дорожки с одного магнитофона направить на синхронизатор, поставленный в режим регенерации, а на вход записывающего магнитофона подавать уже обновленный код.

Синхронизация цифровых устройств

Принципиальным отличием цифровых магнитофонов (к ним относятся также и компьютерные рабочие станции) от аналоговых является то, что цифровые в нормальных условиях воспроизводят звук равномерно (естественно, в разумных пределах). Это иногда помогает построить более дешевую и простую синхронизированную систему. Кроме того, скорость воспроизведения цифровых магнитофонов зависит исключительно от частоты дискретизации, задаваемой внутренним или внешним тактовым генератором, а устройство подстраивается под эту частоту, чтобы вовремя выдавать данные. Так как изготовить два абсолютно одинаковых кристалла для такого генератора не представляется возможным, два независимых цифровых устройства всегда будут работать с разной скоростью, и хотя обычно это расхождение измеряется в худшем случае десятыми долями процента, о нем всегда нужно помнить.

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

Так как скорость цифрового магнитофона постоянна, то, в принципе, для синхронизации двух цифровых аппаратов можно обеспечить ведомому только информацию о старте воспроизведения (например, с помощью MTC), а дальше магнитофоны будут воспроизводить и записывать звук более-менее синхронно, и, несмотря на то, что их скорости отличаются, они постоянны, поэтому сильных расхождений не будет (но это справедливо только при записи и сведении на аналоговом пульте). Однако такой трюк проходит только в том случае, если место старта всегда одно и то же. Если вы вдруг решите начать воспроизведение с середины композиции, то из-за различия частот дискретизации, а, соответственно, и отношения внутренней временной сетки прибора к реальному времени, стартовые точки не совпадут, и дорожки одного магнитофона будут отставать (рис. 6 А).



Второй неправильный способ возможен с некоторыми компьютерными программами для записи звука (например, Samplitude). Так как программа самостоятельно не может управлять частотой дискретизации звуковой платы, то стартовая точка берется из приходящего MIDI тайм-кода, а скорость воспроизведения регулируется внутренним пересчетом частоты дискретизации. Допустим, скорость приходящего тайм-кода выше скорости, основанной на частоте внутреннего генератора звуковой платы (пусть номинальная частота в нашем случае будет 48 кГц), на 0,1 %. Чтобы уравнять скорость воспроизведения с задаваемой тайм-кодом, надо было бы поднять частоту дискретизации звуковой платы на 0,1%, то есть до 48048 Гц. Но так как это невозможно, программа поступает другим способом. Внутри себя программа объявляет, что выходящий поток цифрового звука имеет частоту дискретизации, равную этим самым 48048 Гц, затем этот поток пересчитывается в частоту 48000 Гц (так же, как можно пересчитать частоту дискретизации звукового файла из 48 кГц в 44,1 в любом звуковом редакторе), и уже вот этот пересчитанный поток подается на выход. Недостаток такого подхода состоит, прежде всего, в самом преобразовании частоты дискретизации, которое вносит заметные искажения в звук. Кроме того, также невозможна одновременная работа обоих синхронизируемых таким образом магнитофонов с цифровым пультом (почему, я объясню далее).

Если в одном из цифровых магнитофонов есть встроенный синхронизатор с SMPTE-интерфейсом, то есть аппарат может подстраивать свою скорость под входящий тайм-код путем варьирования частоты дискретизации, то можно подать SMPTE с ведущего магнитофона на ведомый, и последний будет работать синхронно с первым (рис. 6 Б). При этом никакого преобразования частоты дискретизации не происходит, но мы опять-таки сталкиваемся с проблемами при работе с цифровым пультом. Дело в том, что любое цифровое устройство (в том числе и пульт) способно работать только на какой-нибудь одной частоте дискретизации. Она может задаваться внутренним генератором или входящими цифровыми сигналами. Обычно пользователь сам выбирает, из какого цифрового входа устройство должно брать рабочую частоту дискретизации (по-английски этот процесс называется «lock»). Если же на вход прибора подается цифровой сигнал с частотой, отличной от рабочей (даже на сотые доли процента), то через определенные промежутки времени в сигнале будут появляться пренеприятнейшие щелчки (если частота выше рабочей, то через некоторое количество отсчетов будут образовываться «лишние» семплы, которые отбрасываются прибором, в результате — щелчок; если частота ниже, то через какое-то время устройству будет недоставать приходящих семплов, и оно их добавит, результат — опять-таки щелчок). На некоторых приборах (например, на цифровых микшерных пультах) для избежания таких щелчков иногда используют так называемые асинхронные входы. Перед попаданием во внутреннюю шину устройства частота входящего цифрового сигнала принудительно пересчитывается на рабочую частоту прибора. Это позволяет избежать щелчков, но на качестве звука сказывается негативно.

В последнем «неправильном» примере ведомый магнитофон, подстраиваясь под временной код, имеет частоту дискретизации очень близкую к та

Мы будем рады и вашему мнению

Оставить ответ


Срок проверки reCAPTCHA истек. Перезагрузите страницу.

Архив материалов "Музыкального оборудования"
30-day money back guarantee
Support teams across the world
Safe & Secure online payment
Музыкальное оборудование
Журнал Музыкальное оборудование

это онлайн-издание, которое является голосом для потребителей музыкальной техники и оборудования со всего мира.

Контакты
  • Новый Арбат,
  • Москва, Россия
  • mail@muzoborudovanie.ru
Новое:
  • Обзоры
  • Рейтинги
  • Товары
  • Студии
Старое:
  • Архив статей
  • Номера МО
  • Словарь
  • Форум
Открыть
Муз Оборудование
Logo