gpt4 book ai didi

swift - AudioKit AKMetronome回调定时似乎不精确或量化

转载 作者:行者123 更新时间:2023-12-03 01:21:19 26 4
gpt4 key购买 nike

我是AudioKit和数字音频的新手,所以我确定肯定缺少某些东西。

我试图通过获取每个回调的时间戳来从AKMetronome获得准确的时间。时机似乎已经以某种方式量化了,我不知道那是什么。

示例:如果我的节拍器设置为120,则每个回调应相差0.5秒。但是,如果我计算出一个刻度与下一个刻度之间的差,我会得到:

0.49145491666786256

0.49166241666534916

0.5104563333334227

0.4917322500004957

0.5104953749978449

0.49178879166720435

0.5103940000008151

0.4916401666669117

在很小的误差范围内,它始终是2个值之一。我希望能够计算下一个滴答声何时到来,以便可以提前几帧触发动画,但这很难。我在俯视什么吗?

编辑:自从我最初发布这个问题以来,我想出了一个解决方案,但是我不确定这是唯一的还是最好的解决方案。

我使用AKSettings.BufferLength.veryShort将缓冲区设置为最小大小

使用最小的缓冲区,时间戳始终在一毫秒或两秒之内。我仍然不确定是否执行正确的操作,或者这是否是AKCallback的预期行为。似乎即使缓冲区更长,回调也应该准时完成。

最佳答案

您是否使用Timer计算时差?从我的 Angular 来看,并根据我的发现,该问题与Timer有关,在ios see线程(Accuracy of NSTimer)中并不精确。

另外,您可以查看AVAudioTime(https://audiokit.io/docs/Extensions/AVAudioTime.html)

关于swift - AudioKit AKMetronome回调定时似乎不精确或量化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61165380/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com