Метроном AudioKit, синхронизированным с звуковыми контурами времени

Steve Landey спросил: 13 июня 2018 в 11:58 в: audiokit

Я делаю приложение, которое воспроизводит синхронизированные звуковые петли с метроном. Например, у меня может быть 3 таких файла:

  • bass_60bpm.m4a
  • drums_60bpm.m4a

И звук метронома guitar_60bpm.m4a, который я воспроизвожу с помощью tick.m4a.

Мне нужно для воспроизведения их при произвольных темпах, поэтому я использую AKSamplerMetronome на AKTimePitcher s (так что игра на 90bpm, я бы сыграл AKAudioFile в 1.5x).

Это почти работает, но после 3-5 циклов метроном выходит из синхронизации со звуковыми контурами. Я думаю, что понимаю, почему это происходит (audio_sample_length floating_point_number не эквивалентно вычислениям темпа AKSamplerMetronome), но я не знаю, как это исправить.

То, что я подозреваю, мне нужно сделать, это вручную переопределить некоторые или все bass_60bpm.m4a, но выполняйте титры метронома на основе вывода AKSamplerMetronome, но я не могу собрать достаточно информации из API, документов и примеров, чтобы это произошло.


1 ответ

c_booth ответил: 14 июня 2018 в 08:29

Альтернативным подходом может быть использование AKSequencer вместо AKSamplerMetronome. Мидийный выход трека секвенсора может быть отправлен в AKCallbackInstrument, и события секвенсора могут получить функцию обратного вызова для запуска как растянутого по времени образца, так и отметки метронома (и вы также можете инициировать синхронизированные события пользовательского интерфейса оттуда в качестве бонуса) , Это гарантирует, что они останутся в синхронизации.

AppleSequence от Apple, которая используется AKSequencer под капотом, немного ошибочна с ее синхронизацией сразу после вызова игры, но после этого она довольно прочная. Если вы начинаете секвенсор непосредственно перед его точкой зацикливания (т. Е. Если у вас есть петля длиной 1 бара, запустите ее на одну шестнадцатую ноту перед концом первого бара), тогда вы можете пройти эту шелуху до начала фактического цикла.

Дополнительное видео по вопросу: Метроном AudioKit, синхронизированным с звуковыми контурами времени

4-х канальный плеер (плейбэк+метроном/суфлёр)

Как сделать песню в Cubase под метроном с меняющимся темпом

Синхронизация клика(метронома) барабанщика и аудио для живых выступлений