Копипаста с сайта DrumSpeech.com
На сайте компании CEntrance выложен документ Latency Explanation в котором описан интересный опыт. На специальном оборудовании меняли задержку аудиотракта, варьируя от 0 до 50 мс. В качестве добровольцев были приглашены два музыканта: бас-гитарист и DJ-электронщик (крутящий рукой диски). При задержке 50 мс ни одни из них не смог адекватно играть под тестовый драм-луп. Стали понижать до тех пор пока кто-нибудь не переставал замечать задержку. Проведя серию раздельных опытов для статистической достоверности установили, что DJ замечает задержку начиная с 12 мс, а басист с 9 мс. Разумеется, все люди индивидуальны но этот опыт может дать некое представление о том какая задержка тракта является максимально допустимой. Теперь рассмотрим всю цепочку временных промежутков обратной связи барабанщика и его ударов в случае применения компьютера:
- Промежуток между срабатыванием триггера и фактическим началом передачи миди-сигнала по кабелю. К сожалению, у меня нет данных о величине этой задержки в модулях, а замерить время отклика без специального оборудования вряд ли удастся. Остается надеяться что в «хороших» модулях она мала и не слишком влияет на общий итог. Однако в сети встречаются ужастики о задержках некоторых клавиатур, доходящие до десятков миллисекунд! Были случаи обращения в техподдержку производителя карт E-MU с жалобой по поводу неудовлетворительной скорости их драйверов, в то время причина, как оказалось, была в самом синтезаторе. За неимением точных сведений эту задержку я учитывать не буду, но имейте ввиду что она возможна.
- Время передачи миди-сигнала по кабелю. Здесь жесткий стандарт. Интерфейс последовательный, скорость передачи данных 31,2 кбит/c. С учетом того, что логический байт равняется 10 техническим битам (1-старт, 8-данные, 1-стоп) и для передачи ноты требуется 3 байта (код сообщения, pitch, velocity), получается что задержка удара в кабеле составляет около 1 мс (31200 / 30 = 1040).
- Задержка передачи миди сообщения хост-приложению (Sonar, Cubase, etc.). Как правило для PCI-карт имеющих собственный midi-вход это очень небольшая величина не требующая учета, но для внешних устройств уже может принимать какое-то значение (от 2 мс и выше, в зависимости от переходника и настроек контроллера материнской платы).
- Задержка ASIO. Необходима для работы программных синтезаторов, таких как BFD или EZdrummer. Она зависит от выбора карты, используемых драйверов и настроек хоста. Косвенно зависит и от мощности компьютера. В профессиональных картах обычно стартует с 2 мс и это хороший выбор, однако если сэмплер требовательный а процессор слабый то может потребоваться ее увеличить до величины не приводящей к хрипам или зависаниям. Некоторые драйвера разрешают устанавливать задержку ниже 2 мс и даже ниже 1 мс, однако на практике столь низкие значения в большинстве случаев непригодны к использованию (хотя попробовать можно). USB и Firewire дают более высокую задержку, связанную с расходами на интерфейс. Эмпирически установлено что прибавляется от 2 мс и выше. Если учесть повышенную нагрузку на CPU, то реально при той же нагрузке от VSTi буфер придется сместить на один-два значения вверх (вместо 2 мс – 4 мс, вместо 4 мс – 6 мс, и т.д.)
- Задержка аппаратного буфера звуковой карты. Это последняя «цифровая» задержка в нашем тракте. Она не зависит от интерфейса карты и определяется выбором микросхем DSP и/или преобразователя (DAC). Как правило составляет около 1-1,5 мс.
- Время полета звука до ушей. В случае прямого подключения наушников к карте этим временем можно пренебречь (скорость электрического сигнала в кабеле равна скорости света, а расстояние между диффузором и барабанной перепонкой мизерно). Однако при использовании мониторов или колонок надо умножить расстояние от них до ушей на 3 мс. Например, если вы сидите в 3 метрах от монитора задержка составит 9 мс.
Итак, суммарная задержка обратной связи составит в идеальном случае: 1мс (миди-кабель) + 2мс (ASIO) + 1мс (DAC) = 4 мс. Вполне сопоставимо с задержками при игре на акустическом инструменте (2-3 мс). Бояться такой задержки не следует, ее невозможно почувствовать.
Возьмем более «тяжелый» случай, когда карта внешняя и подключена к ноутбуку, а вместо наушников используются мониторы стоящие в двух метрах от барабанщика. В этом случае задержка составит: 1мс (миди-кабель) + 2мс (MIDI-USB) + 4мс (ASIO) + 1мс (DAC) + 6мс (расстояние) = 14 мс. Такую задержку уже можно ощутить! Возможно это одна из причин появления легенд об изначальной непригодности компьютера для комфортной игры, несмотря на формально низкую задержку ASIO. Все дело в переходных мостах разной природы, съедающих время.
В общем, рекомендации такие: по возможности использовать внутреннюю звуковую карту с миди-входом и наушники. Лучше недорогой десктоп но с профессиональной PCI-картой, чем топовый ноутбук с внешним интерфейсом (ноутбук будет быстрее, но звук все равно получится медленней).
Напоследок отмечу, что необязательно покупать дорогую карту за $150-200. Да, чем дороже карта тем она лучше звучит, но заметите ли вы разницу в пылу игры да еще и не в Hi-End наушниках? Например, связка из б/у карт Creative Audigy 2 (выводящая звук через ASIO) и Creative Live 5.1 (она использована для подключения миди через порт джойстика) обойдется менее чем в $50 но даст те же 2 мс что и профессиональная карта. Задержки упомянутой в пункте 3 не будет, порт джойстика так же быстр как и профессиональный миди-вход. Неприятной особенностью игровых карт является отсутствие частоты дискретизации 44100, но в 48000 карта прекрасно работает. EZdrummer при загрузке программно конвертирует свои 44100 сэмплы в 48000 что сильно замедляет загрузку сета (примерно в 10 раз) но зато не снижает качество звучания и скорость во время игры. Addictive Drums конвертирует вообще на лету (теоретически это должно повышать требования к компьютеру, но я не заметил). Покупка одной лишь Live 5.1 может обойтись и вовсе в смешные $10-15, но я все же не советую использовать ее для вывода звука. Качество звучания этой карты не выдерживает критики, разница с Audigy 2 заметна на слух.
Комментарии: