У меня есть пример, совершенно бесполезное приложение, которое генерирует сигнал (короткий скачок некоторой частоты, сопровождаемый более длинным периодом молчания, в хвосте), затем должен записать его на звуковую карту. Звуковая карта просто зациклена на себе с помощью кабеля миниджек-миниджек. Поэтому мое приложение записывает только что переданный сигнал, чтобы определить задержку следующего пути:
app-> функции драйвера> dac-> lineout-> linein-> adc-> функции драйвера> приложение
Прежде всего, для моей задачи мне нужно минимизировать задержку, чтобы выйти за пределы миллисекунды. 0,01-0,1 мс удовлетворит, так как это приложение сонара на платформе ПК.
И во-вторых, я хотел бы иметь возможность переключаться с заполнения всего буфера на работу с отдельным образцом. Или, самое большее, минимизировать размер буфера, чтобы сделать его максимально коротким. Я рассчитал, что нужно 16 образцов или меньше при частоте дискретизации 192 кГц. Идеально для работы с отдельными образцами в реальном времени, я слышал, что это возможно.
Итак, как я могу "включить в реальном времени"? и какой вид реального времени мне нужно - жесткий или мягкий?