使用 AudioKit 的量化序列

Quantized Sequence using AudioKit

我一直在与 AudioKit 合作创建一个音序器,我想播放一个完美量化的序列(即所有细分都在韵律上完美)。但是,当我在序列中添加音符时,我听到 fluctuations/imperfections 的声音;细分并没有以完美的方式排列。当我在事件的音符期间将音序器的当前位置以节拍的形式打印到控制台时,会显示波动:音符仅与小数点后两位左右一致,然后它们会显示位置的变化。在回调中,我预计可能会稍有延迟:1.001、2.001、3.001。但是输出显示两位小数后看似随机的数字。

I've created a project to demonstrate the issue here

我做错了什么?

请注意,在项目中我使用了 AKCallbackInstrument,但即使我将播放声音的采样器直接插入音序器,问题仍然存在。此外,在项目中,我已经向音序器 "manually," 添加了注释,但即使我将 .mid 文件直接加载到音序器,问题仍然存在。演示项目中的采样器使用声音字体 (.sf2),但当我加载 .wav 或 .mp3 示例时也存在问题。

我不认为你做错了什么。 AKSequencer 基于 Apple 自己的 MIDI 音序器,因此我们提供 AKSequencer 作为该功能的包装器。但是,我们无法解决 Apple 音序器中已知的计时精度问题,因为它是封闭源代码。我们正在研究 AKSequencer 的替代品(将称为 AKSequencer,将当前音序器移至 AKAppleSequencer)。这应该在七月完成。同时,您可以使用 AKTimeline 构建您自己的音序器,就像在 AudioKit 中的 MetronomeSampleSync 示例中所做的那样。