Буквально вчера во время занятия один из моих студентов натолкнул меня на очень интересную мысль, а именно — на задержку при записи. Собственно, эту мысль я сегодня проверил и решил отразить результаты измышлений в статье.

Сразу говорю: это больше для тех, кто записывается, кто рубится за всякие миллисекунды и так далее. Для остальных чтение может быть просто неинтересным, так как аппаратозадротство в этой статье — выше 80 лвл.

Сначала о том зерне сомнений, что было коварно заложено в мою душу хитрым студентом. Суть его сводилась к тому, что у каждого аудио-интерфейса, даже достаточно крутого, всегда есть задержка. Это очевидно, так как эта задержка обусловлена самой сутью интерфейса: оцифровки-переоцифровки, потом выдача обратно аналогового сигнала в наушники или мониторы, плюс обработка звука — это и есть по сути основа нашей latency.

Теория заключалась в том, что мы слышим метр или фанеру, под которые пишемся, с определенной задержкой, соответственно, так или иначе наша игра будет отставать от центрального бита в DAW. Мне сразу вспомнилось, что все же наверное в штайнберге, эппле и прочих сидят умные дядьки, которые для нейтрализации сего эффекта запилили всякие delay compensation и прочее. Ну, действительно ведь: возьми записанный аудио-файл, сдвинь его ровно на величину latency — и вот оно, вот именно так по идее и должно все звучать.

В общем, я решил проверить, работают ли все эти компенсации в реальности, а также при настройках DAW по умолчанию. Я использую Logic 9.1.8, на днях попробую также проверить всю эту кухню на Logix Pro X. Кто хочет — попробуйте проверить на других DAW типа Cubase, Sonar и так далее.

В качестве аудио-интерфейса у меня выступает Fractal Audio Axe-FX II, подключенный к компьютеру через USB. Гитара фактически подключена к нему, оцифровывается, обрабатывается процессором (производитель утверждает, что внутренняя задержка Акса — не более 2 мс) и после этого без ЦАП-АЦП преобразования идет уже в компьютер, то есть у нас работает только АЦП Акса при записи, и ЦАП его же при воспроизведении.

Все файлы сохранялись без сжатия в формате AIFF, дабы избежать возможных искажений и артефактов.

На Аксе я взял пресет без блоков вообще. Почему я не использовал его в режиме Bypass, будет понятно потом. В моем случае задержка составила 15мс.

Проверял я теорию следующим образом. Для начала я создал трек (Software instrument, повесил на него Ultrabeat), на котором натыкал четвертями метроном: опять же, будет потом ясно, почему я не использовал для написания статьи встроенный клик, однако ради справедливости скажу, что с ним я тоже пробовал провести весь этот опыт и результаты были абсолютно идентичны.

Теперь задача была в том, чтобы записать гитару и посмотреть, действительно ли гитара будет иметь некоторую задержку относительно метра. Но тут было самое интересное: очевидно, что если бы я просто попытался играть четверти синхронно с метром, то это так или иначе давало определенную ошибку по ритму. И тогда я сделал очень простую вещь: я пустил весь мониторинг в наушники, которые просто положил на датчики гитары. В этом случае гитара «сыграет» одновременно с метрономом: струны и звукосниматели сработают по факту как мембрана микрофона.

Чтобы так как мембрана эта крайне неэффективная и звук получается тихим, я и натыкал трек с «метрономом», который сделал громким и выбрал адово громкий и мерзкий звук :) И именно поэтому я не использовал Акс в bypass-режиме: мне пришлось поднять громкость в Output на 20 дБ, чтобы звук, который «сыграет» гитара, был громче: без этого вообще разобрать так или иначе его тяжело и он почти полностью сливается с фоном.

Итак, я включил запись и записал «гитару». Повторю: при этом опыте отсутствует ошибка и неритмичность играющего: сам метроном фактически играет на гитаре. После этого я открыл полученный аудио-файл в Sound Forge Pro. Чтобы картинка была лучше, я сделал нормализацию сигнала, в остальном каких-либо обработок файла не было. На всякий случай я проверил, не вызывает ли процесс нормализации каких-либо сдвигов по времени (ну мало ли). Нет, не вызывает, все хорошо. Вот как выглядит полученная «партия»:

Меня сразу же заинтересовало то, что происходит перед первым «ударом по струнам», и я решил померять, сколько примерно времени составляет этот непонятный хвост перед ним. Я измерил интервал от самого начала до первого роста пика, получилось примерно так:

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

Мне стало интересно: что же будет, если сделать просто Bounce трека с метрономом? Мало ли, Лоджик зачем-то добавляет какую-то микрозадержку сам именно в аудио-файлы. Сказано — сделано: баунснул, открыл в том же Форже.

По-моему, никакого хвоста перед кликом нет, проверим же, увеличим:

Действительно, лупит прям с самого начала. Интересно, как же будет выглядеть аудио-файл, если в левый канал полностью увести метроном, а в правый — гитару? Будет ли задержка относительно друг друга? Проверим.

Вот оно: партия гитары отстает от партии метронома на те же 10 мс.

В чем, собственно, цимус? А вот в чем. Известно, что в большинстве случаев торопливая игра (на опережение — когда гитара играет раньше барабанов, к примеру) слушается значительно слабее, чем если мы играем четко в барабаны или находимся.

То есть, условно говоря, нам лучше играть или как можно более синхронно, или немного отставать, пропуская ударные вперед. Давайте попробуем выясним, как на слух воспримется такое расхождение по сути одинаковых сигналов. Для этого я свел их в один канал:

Вот так это звучит:

На мой слух, очевидно слышны два отдельных звука. Поэтому я считаю, что задержка в данном случае «гитары» относительно метра на 10 мс можно расценить именно как опоздание. То есть это уже не «оттяжка назад» — это мы просто и банально разъехались с метром.

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

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

Так вот, представим опять же, что вы занимались-занимались — и таки дозанимались: результат, получаемый на записи, вас полностью устраивает. Спешки нет, все круто. Однако в реальности это вполне может означать, что играете вы как раз с этой самой спешкой, потому что для того, чтобы ваша гитара в данном случае совпала с метром — вам придется торопиться на эти самые 10 мс. Иными словами, запись в DAW при таких настройках не дает адекватной картины ритмического взаимодействия вас и метронома.

Попробуем узнать, сколько же длится эта самая атака при игре на гитаре. Я взял и записал просто одну ноту, переведя Акс в режим Bypass, то есть это гитара, записаная, что называется, «в линию». Я решил попробовать получить короткую атаку: играл почти плоским медиатором по третьей струне (без оплетки), играл достаточно резко, чтобы медиатор проскакивал струну как можно быстрее и взаимодействовал с ней как можно меньше. Получилось вот так:

Атака — это участок перед пиком: резкий рост амплитуды возникает тогда, когда медиатор соскакивает со струны и она начинает колебаться. Все, что мы видим до этого — это взаимодействие медиатора и струны. Под периодом атаки лично я подразумеваю именно этот участок. Почему именно этот? Да потому, что даже на чистом звуке гитара будет компрессирована достаточно сильно и эта едва слышимая сейчас атака будет весьма конкретно уже слушаться и являться по сути полноценной частью нашей ноты. А следовательно, если наша атака начнется перед барабанами, то она уже перетянет на себя внимание и по факту мы окажемся впереди барабанов, что вроде как недопустимо.

По длине он получился в районе 15-17 мс:

По звуку:

Что ж, весьма сравнимо по длительности с той форой, которую нам дает аппаратура. 

Ладно, смысл-то заключается в том, что даже играя с опережением на 10 мс, то есть буквально атакуя на более чем половину периода атаки раньше метра, мы все равно будем звучать «ровно» — наша атака совпадет с началом клика, и все будет хорошо.

Другими словами, чисто ритмическая работа при игре и записи в DAW и при игре просто под клик из телефона/железного метронома и т. п. будет различаться. И мы, сидя дома и записываясь в кубейс, проверяя себя и будучи довольными, что у нас все получается, рискуем сильно разочароваться в результате, когда речь зайдет об игре с внешним источником ритма, будь то тот же железный метроном или барабанщик. При одном условии: если мы это услышим. Ведь не забывайте, что тренируясь годами под тот же кубейс, в голове складывается совершенно другая картина и понимание того, что такое ровно и что такое спешка, поскольку опять же для получения абсолютного ровняка вам придется рубить вперед клика и это станет вашей нормой. Эту норму подкрепит та же самая проверка в том же кубейсе — по сеточке посмотреть, экспортнуть аудио и проверить в редакторе и так далее.

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

Что же делать? Как же быть? А вот все это будет рассмотрено уже во второй части (да-да, я знаю про ползунок в лоджике под названием Recording delay), и пока желающие могут сами попробовать поэкспериментировать на своем оборудовании и в своих секвенсорах, какая задержка будет и какие смещения получатся лично у них. Делитесь результатами :)

Обновление

Сегодня провел абсолютно аналогичные тесты в Cubase SX 3: у меня второй системой стоит Windows 7, поэтому нашел на внешнем диске первый попавшийся древний кубейс, поставил и сходу начал тестировать. То есть, как и в прошлый раз, все настройки — по умолчанию, ровно так, как их выставляет производитель программы.

Настройки оборудования при выборе Акса основным устройством выглядят так:

Задержка какая-то абсолютно дикая, ну да ладно: мы же тут за чистоту эксперимента, соответственно, дефолтные настройки не меняем.

Записываю гитару аналогично тому, как делал это в Лоджике. Потом взял и померял задержку начала получившегося начала «клика» гитары в самом Кубейсе:

Получилось, как видим, 615 сэмплов задержки.