Как получить наименьшую задержку звука на сенсорное событие? - PullRequest
1 голос
/ 29 мая 2019

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

Я новичок в AudioKit, следуя примеру Hello world, я создал очень простое тестовое приложение с использованием AKOscillator:

...
let oscillator = AKOscillator()
...
AudioKit.output = oscilator
oscillator.frequency = 880
AKSettings.bufferLength = .shortest
AKSettings.ioBufferDuration = 0.002
AudioKit.start()

... // On Touch event ///
oscillator.start()
... // 20 ms later ///
oscillator.stop()

Я измерил задержку между сенсорным событием и первым выходящим звуком, он составляет около 100 мс, что для нас очень медленно ...

Несколько возможностей, о которых я мог подумать:

  1. 100 мс превышает аппаратное ограничение задержки вывода звука

  2. некоторые магические настройки могут исправить это

  3. oscillator.start () имеет некоторую задержку, для достижения минимальной задержки я должен использовать что-то еще

  4. что-то не так с другими частями кода (обработка касанием и т. Д.)

Поскольку у меня теперь есть опыт работы с AudioKit (ни с аудиосистемой iOS ...), любая информация будет очень полезна!

...