2

C++ で Juce フレームワークを使用して、MIDI エフェクト (着信 MIDI を変更して新しいデータを生成し、それを転送する VST プラグイン) に取り組んでいます。私の MIDI ストリームを 16 ~ 24 ビットで 1 秒間に 41,000 回以上生成するすべてのサンプルを使用して、新しい MIDI メッセージを生成することが技術的に可能であることがわかりました。これは、MIDI ハードウェアで処理するのは完全に不可能に思えます。

MIDI over USB から新旧のハードウェア シンセまでの帯域幅を決定する際に、遵守しなければならないガイドラインやルールはありますか?

編集:私がやろうとしていることを追加する必要があります。より高い帯域幅が役立ちますが、Arturia Minibrute などのハードウェアで動作するはずです。モジュレーションとピッチ ホイールにエンベロープと LFO を適用するなど、斬新なことを試みています。

4

1 に答える 1

5

MIDI over DIN ケーブルは 31250 ビット/秒、つまり 3125 バイト/秒で動作します。

USB MIDI 仕様では帯域幅は指定されていませんが、基礎となる USB バルク転送プロトコルにより、受信デバイスは新しいパケットを受け入れるタイミングを暗黙的に決定できます。つまり、USB MIDI デバイスは動作速度を決定できますが、この制限を決定する簡単なメカニズムはありません (特に、デバイス ドライバーが十分な速度で配信できない MIDI メッセージを OS がドロップする場合)。

USB/MIDI インターフェイスは正確に 3125 バイト/秒で動作します。「実際の」MIDI インターフェイスが関与しない USB MIDI デバイスは、より高速に実行できる可能性があります。たとえば、私の SC-8820 は約 10 KB/秒を処理できます。

実際には、一般的な MIDI ポートの背後にあるハードウェアを知ることはできません。デバイスについて特別な知識がない限り、3125 バイト/秒の制限を使用する必要があります。

于 2015-04-09T07:20:40.187 に答える