Меня вот тоже давно интересует вопрос, насколько критична задержка в музыкальном инструменте. Собственно, "стандартным" способом генерации звука (по крайней мере, в ПК) является формирование его в циклическом буфере, воспроизводимом через DMAC. Соответственно, от размера буфера зависит, насколько будет сдвинут момент воспроизведения фрагмента буфера по сравнению с моментом его заполнения. Для ПК и особенно Windows это критично.
Но аналогичный вопрос возникает и при программировании MC/DSP. Т.к. там тоже один из способов - через буфер и DMAC. В одном из своих устройств решил проблему радикально - без буфера и DMAC сформированный звуковой отсчет сразу направляется на Analog Out. Но смущают накладные расходы на прерывание, вызываемое десятки тысяч раз в секунду, само аналоговое преобразование, а самое главное - в прерывании выполняются различные действия различной длительности, при этом необходимо, чтобы самая длинная цепочка не превышала интервала между вызовами прерывания. А в случае буфера эти требования существенно смягчаются за счет усреднения и избавления от накладных расходов.
Честно говоря, в литературе/Интернете не смог найти ответа на вопрос о допустимой величине задержки. Общее впечатление, что она лежит в пределах от единиц до (небольших) десятков мс.
Собственно, даже в одной из своих поделок (MIDI BOX) предусмотрел возможность регулировки задержки поступающего на вход потока MIDI, но пока не смог придумать, как грамотно поставить эксперимент.
Честно говоря, постановку такого эксперимента и хотелось бы обсудить, если его результаты вызывают интерес не только у меня.