AudioKit 音序器时钟

Posted

技术标签:

【中文标题】AudioKit 音序器时钟【英文标题】:AudioKit sequencer clock 【发布时间】:2016-04-17 16:22:50 【问题描述】:

我打算使用 audioKit 构建一个音序器。

我想根据用户交互动态生成 midiNotes,所以我希望能够录制和播放 midi,但不仅仅是(我还想录制一些带时间戳的对象)。

我想我必须在某处设置一个延迟的递归循环,但我不知道拥有一个可以远程控制的稳定时钟的最佳方法是什么(停止或暂停,改变速度......)。

audioKit 中是否已经实现了一些组件来实现这一点? 或者我应该使用一些系统组件(Grand Central Dispatch 或 NSTimer...)

欢迎任何建议,

谢谢:-)

【问题讨论】:

与往常一样,第一步是编写一些代码,看看你会得到什么。听起来你现在正遭受分析瘫痪。 您的回答帮助了我(我找到了解决方案:-)。我想这可以使用 AudioKit 组件来完成,但我不知道该怎么做。 【参考方案1】:

我从 Aurelius Prochazka(AudioKit 开发者)那里得到了答复 “AKOperations 不能触发任意代码。”

我在 swift 中找到了一个使用“dispatch_after”的解决方案,似乎可以解决问题。 (即使在时钟设置为 1 毫秒/滴答声的操场上也很稳定)

但在挖掘网络之后,根据 Aurelius 的说法,使用 CADisplayLink 似乎更适合拥有稳定的时钟。

AudioKit Playground 中有一个触发时钟的示例(AudioKit.playground/Sources 文件夹中的 AKPlaygroundLoop.swift)

【讨论】:

以上是关于AudioKit 音序器时钟的主要内容,如果未能解决你的问题,请参考以下文章

AudioKit - 使用音序器在特定位置播放声音文件

#AudioKit 播放音序器音频 mp3

是否可以在播放 AudioKit 音序器时修改 MusicSequnce

Audiokit:(V5)音序器无法在轨道的同一位置同时播放音符

AudioKit 5:音序效果

Swift - 带有振荡器的 AudioKit 音序器(AKOscillatorBank).频率不会在更高的范围内播放(MidiNote 120+)