Я хочу воспроизводить очень простые звуки с помощью генератора AudioKit на заданной частоте.
Например: воспроизвести простую синусоидальную волну при 400 Гц в течение 50 миллисекунд, затем 100 мс тишины, затем воспроизвести 600 Гц в течение 50 мс…
У меня есть вид металла, где я оказываю визуальные стимулы.Я намеревался использовать базовый AKOscillator и функцию рендеринга CADisplayLink для воспроизведения / остановки звука в некоторых кадрах.
Я попытался использовать oscillator.play()
и oscillator.stop()
или изменить амплитуду с помощью oscillator.amplitude = 0
иoscillator.amplitude = 1
, но результатом в обоих случаях является дрожание около 10 мс.
Если я сначала создаю файлы .wav, а затем воспроизводлю их с AKPlayer.play()
, синхронизация правильная.
Iхочу гибкость, чтобы использовать любую частоту в любое время.Как я могу сделать что-то похожее на первый подход?Обернуть осциллятор в миди-инструмент - это путь?