2

audioKit を使用してシーケンサーを構築する予定です。

ユーザーの操作に応じてオンザフライで midiNotes を生成したいので、MIDI を録音して再生できるようにしたいと考えていますが、それだけではありません (タイムスタンプ付きのオブジェクトもいくつか録音したいと思います)。

どこかに遅延のある再帰ループを設定する必要があると思いますが、リモートで制御できる安定したクロックを得る最良の方法は何なのかわかりません(停止または一時停止、テンポの変更...)。

これを実現するために audioKit に既に実装されているコンポーネントはありますか? または、いくつかのシステム コンポーネントを使用する必要があります (Grand central Dispatch または NSTimer...)

どんな提案でも大歓迎です

ありがとう :-)

4

1 に答える 1

3

Aurelius Prochazka (AudioKit 開発者) から「AKOperations は任意のコードをトリガーできない」という回答がありました。

私は、トリックを行うように思われるswiftで「dispatch_after」を使用した解決策を見つけました。(クロックがティックごとに 1 ミリ秒に設定されているプレイグラウンドでも安定しています)

しかし、Web を掘り下げた後、Aurelius によると、安定したクロックを得るには CADisplayLink を使用する方が適切なようです。

トリガー クロックの AudioKit プレイグラウンドに例があります (AudioKit.playground/Sources フォルダーの AKPlaygroundLoop.swift)。

于 2016-04-17T18:24:36.787 に答える