たとえば、Tweakbenchの VSTi Triforceを見てみましょう。市販の VST ホストにロードすると、ホストは (おそらく MIDI) 信号を VSTi に送信できます。次に、VSTi はその信号を処理し、VSTi 内のソフトウェア インストゥルメントによって作成された合成オーディオを出力します。
たとえば、A4 (MIDI ノートだと思います) を VSTi に送信すると、中央の C の上に A が合成されます。オーディオ データが VST ホストに返され、スピーカーで再生するか、保存することができます。 .wav またはその他のオーディオ ファイル形式に変換します。
私がTriforceを持っていて、合成する A4 ノートを送信し、それをシステム上のファイルに自動的に保存することによって VSTi と対話できる、選択した言語でプログラムを作成しようとしているとしましょう。
最終的には、1 トラックの MIDI ファイル全体を解析し (この目的で既に利用可能な確立された安定したライブラリを使用して)、それを VSTi に送信してオーディオ ファイルに「レンダリング」/合成できるようにしたいと考えています。
これについてどうすればいいですか? また、コア フレームワークを構築するに はどの言語を使用する必要がありますか?
最終的には、Ruby ベースのプロジェクトで使用されるため、特定の Ruby リソースへのポインターも同様に役立ちます。
ただし、基本的に VSTi の API がどのように機能するかを理解しようとしています。(この質問は、VST出力をファイルに保存することしかできず、それらを再生することはできず、スコープがかなり小さいVSTホストを最初に構築するという質問に非常に関連していることに気付きました)