私は反応バナナを使い始めようとしていて、簡単なシンセサイザーを作りたいと思っています。GUI の例はたくさんありますが、オーディオに適用するのは難しいです。オーディオ API には「n 個のオーディオ サンプルを与えてください」というコールバックがあるので、コールバックごとに (newAddHandler が返すものの snd 部分を使用して) イベントを起動する必要があると考えます。 、および MIDI イベントを調整するためのタイミング情報。その後、再活性化に渡された IO アクションは、サンプルをポインターに書き込みます。MIDI イベントは、別のコールバックから同様に起動され、タイミング情報も含まれます。
しかし、これは私が立ち往生するところです。オーディオ信号は動作であると思われますが、サンプルを取得するために適切な時間だけ動作を「実行」するにはどうすればよいですか? もちろん、適切な量は、2 つのオーディオ コールバック間で発生する可能性のある MIDI イベントによって異なります。