Ну я понял о чём ты, но все же возьмусь утверждать, что он работает именно так, как я описал. Да, мы рассматриваем не случай с "живой" игрой, но принцип в обоих случаях тот же. Вряд ли Сонар угадывает, вживую мы набиваем ноты или нет и в зависимости от этого работает то так, то эдак.
К тому же, delay compensation рассчитывается уже при обработке аудио; МИДИ-ноты при этом никуда "уезжать" не должны. Как мне кажется...
А то, что в целом delay compensation может работать с ошибками - это да. Некоторые плагины не сообщают хосту правильное значение своего latency, соответственно, автоматической компенсации не происходит и приходится выставлять этот delay вручную. Сам с таким не сталкивался, но знаю, что такая проблема существует. Кстати, для автоматической компенсации в свойствах плагина имеется специальная опция "enable delay compensation" (я пробовал её отключать, мне не помогает)
В любом случае, спасибо за гипотезу )