Core Audio - удаленный ввод-вывод на основе метронома с низкой задержкой
Я пытаюсь построить метроном с низкой задержкой, используя Core Audio.
То, чего я пытаюсь добиться, - это использование удаленного ввода-вывода, который должен дать мне временную метку для каждого пакета аудио, который я создаю. Затем я хочу использовать это, чтобы запомнить, когда я начал воспроизведение, и вычесть текущую временную метку из начальной временной метки, чтобы получить текущую позицию. Затем я хочу использовать это для генерации звука для метронома по мере необходимости.
После некоторых исследований я обнаружил, что это будет лучший способ создания метронома с низкой задержкой. Тем не менее, попытки его реализации и погружения в эти рамки были довольно пугающими. Если кто-нибудь знает, как я мог бы это собрать, или, возможно, даже указал бы мне на источники, где я мог бы собрать информацию, которая мне понадобилась бы, чтобы это работало, я был бы очень благодарен!
Спасибо.
1 ответ
Игнорируйте временные метки пакета и считайте выборки. Если вы поместите начало каждого звука метронома на точное количество сэмплов с известной частотой, темп будет с точностью до миллисекунды. Разрешение метки времени для каждого пакета гораздо менее точно.