Значит так, докладываю.
Докладываю про Cubase, в других DAW лень проверять. Но скажу я вам, что неправы все.
Тестовый сетап выглядит так:
Буфер 1024 семпла. Карта правильно рапортует в DAW о задержках.
На настоящий миди-выход отправляем одну ноту.
Настоящий миди-выход настоящим шнуром включен в миди-вход той же карты.
К этому же сигналу присоединен первый вход аналоговый, чтобы записать, что там происходит на шине.
На второй аналоговый вход дан выход с карты, шнуром xlr-xlr, настоящий внешний лупбэк.
Треки в DAW:
MIDI generator - нота в позиции 0 семплов. Выход этого миди-трека идет на выход миди карты. Можно заменить, например, миди-клавиатурой, но тогда надо давить на клавишу, а так только на кнопку Record
MIDI receiver - семплер-трек, на его вход идут данные с миди-входа, в него загружен семпл UREI click (потому что короткий, фронт яростный, в общем, то шо надо для тестов). Послан этот трек на отдельный выход карты (тот самый, в который воткнут шнур лупбэка)
Группа с названием "." и трек Direct Rec - єто просто запись с выхода семплер-трека (ну к сожалению, в C9 можно только так, сначала посыл в группу, а с группы уже можно писать на аудио-трек). Это тоже чисто тестовая вещь, наличие этих двух треков совершенно необязательно.
Теперь In MIDI raw - єто первый вход аудиокарты, который подцеплен к миди-шине. Примерно в позиции сто двадцать семплов там появляется сигнал, если его развернуть, то там прямо видно все нолики-единички. Это послужит нам маркером. Выход этого трека послан на тот же выход, в который воткнут шнур лупбэка.
Recorded output - вход лупбэка.
Нажимаем на Rec и смотрим, что получается.
На примерно семпле 120 на входах миди и параллельного аналогового входа появляется сигнал.
Сигнал с аналогового входа проходит через DAW (обратите внимание, что значек матюгальника желтый, т.е. включен мониторинг) и попадает на выход.
На записи выхода через лупбэк этот сигнал виден через количество семплов, соответствующих входной плюс выходной задержке (в данном случае - 1024+1024+хвостовой буфер 48+11 семплов задержка AD/DA).
А сигнал, который сгенерировал семплер-трек, появляется почти на 1000 семплов раньше.
И как бы это говорит нам, что задержки действительно половина.
Но!
Несколько раз если понажимать, то сигнал семплер-трека появляется в произвольное время, джиттер его - 1024 семпла (от примерно -1000 до примерно немного дальше, чем прошедший внутренности DAW сигнал In MIDI raw).
Например:
Следовательно имеем вот что.
Временная позиция миди-ноты в записи оказывается в своем правильном месте. Например, для нашего интерфейса от стопового бита в миди-шине до появления ноты на записи проходит примерно 20 семплов.
Однако в реальном времени (не при проигрывании записанного миди) нота в семплере начинает генерироваться по времени с дискретностью буфера (1024 семпла). Т.к. время прихода миди-события и время, соответствующее окончанию очередного буфера по 1024 семпла, никак не синхронизировано, то вот и имеем общую задержку при игре на миди-клавиатуре совершенно случайную, в диапазоне от N до 2N, где N - размер буфера.
Доклад окончен.