Core Audio - метроном с низкой задержкой на базе удаленного ввода-вывода

Я пытаюсь создать метроном с малой задержкой, используя Core Audio.

То, что я пытаюсь достичь, - это использовать удаленный ввод-вывод, который должен давать мне временную метку для каждого пакета звука, который я создаю. Затем я хочу использовать это, чтобы запомнить, когда я начал воспроизведение, и вычитая текущую временную метку из начальной временной метки, чтобы получить текущую позицию. Затем я хочу использовать это для создания звука для метронома по мере необходимости.

После некоторого исследования я обнаружил, что это лучший способ создать метроном с малой задержкой. Однако попытка его реализации и погружение в эту структуру было довольно сложной задачей. Если кто-нибудь знает, как я могу это собрать, или, возможно, даже указать мне источники, где я мог бы собрать информацию, которая мне понадобится, чтобы это работало, я был бы очень благодарен!

Спасибо.


person f.perdition    schedule 22.04.2012    source источник


Ответы (1)


Игнорируйте временные метки пакетов и подсчитывайте выборки. Если вы установите начало каждого звука метронома на точное количество сэмплов с известной частотой дискретизации, темп будет с точностью до долей миллисекунды. Разрешение метки времени для пакета гораздо менее точное.

person hotpaw2    schedule 22.04.2012
comment
ах, фантастика, большое спасибо. Кстати, не могли бы вы порекомендовать какие-либо ресурсы, которые я мог бы изучить (книги / сайты / проекты), чтобы действительно помочь мне лучше понять этот фреймворк? Я просматривал книгу «Learning core audio», но мне было интересно, есть ли у кого-нибудь с большим опытом, такого как вы, какие-нибудь предложения? Я имею образование в области звукорежиссуры, я привык работать с цифровым звуком, но это совершенно новая сфера! еще раз спасибо - person f.perdition; 22.04.2012
comment
Аудиокнига Learning Core Audio - отличный ресурс. Вот гораздо более старая запись на сайте блога: atastypixel.com/blog/using-remoteio-audio -unit - person hotpaw2; 22.04.2012
comment
фантастически, спасибо за понимание! Я буду продолжать, неплохую часть книги Core Audio, чтобы еще покрыть. - person f.perdition; 22.04.2012
comment
Можете ли вы указать направление на какой-либо образец кода, используя эту технику? - person the-a-train; 21.05.2012
comment
См. Пример кода Apple MixerHost. Как подсчитывать аудиосэмплы - это базовое программирование на C. Для того, чтобы модифицировать образцы PCM, требуется некоторое изучение DSP. - person hotpaw2; 21.05.2012
comment
@ hotpaw2 Я хотел знать, занимаетесь ли вы программированием на фрилансе? Мне сложно найти кого-либо, кто хорошо разбирается в основном звуке. Не знал, как с вами связаться, поэтому подумал, что добавлю здесь комментарий! - person f.perdition; 26.05.2012