Я работал с AudioKit над созданием секвенсора, в котором я хотел бы воспроизвести идеально квантованную последовательность (т. Е. Все подразделения были метрически совершенными). Однако, когда я добавляю примечания к последовательности, я слышу колебания / несовершенства во времени; подразделения не выстраиваются в метрически совершенном порядке. Когда я печатаю текущую позицию секвенсора в долях на консоли во время заметки о событиях, отображаются колебания: ноты соответствуют только двум десятичным разрядам или около того, а затем они показывают изменения в расположении. В обратном вызове я мог бы ожидать, возможно, с небольшой задержкой: 1.001, 2.001, 3.001. Но на выходе отображаются, казалось бы, случайные числа после двух десятичных знаков.
Я создал проект для демонстрации проблемы здесь
Что я здесь не так делаю?
Обратите внимание, что в проекте я использовал AKCallbackInstrument, но проблема сохраняется, даже если я подключаю сэмплер, который будет воспроизводить звук непосредственно в секвенсоре. Кроме того, в проекте я добавил примечания к секвенсору «вручную», но проблема сохраняется, даже если я загружаю файл .mid непосредственно в секвенсор. Сэмплер в демонстрационном проекте использует звуковой шрифт (.sf2), но проблема возникает, когда я загружаю также сэмпл .wav или .mp3.