優先順位:
C#>C++>C>VB>Java>その他の言語>prepmxを使う。>バイナリをごりごり書く。
のMIDIDataライブラリ(LGPL)で出力できるようです(*試してません)
概要:
MIDIDataライブラリは、完全にフリーでオープンソースの、MIDIデータ作成・編集用ライブラリである。このライブラリは、MIDIデータの作成・ファイル入出力(SMFフォーマット0/1/2)、MIDIトラックの作成・追加・変更・削除、MIDIイベントの作成・追加・変更・削除など、 MIDIデータのあらゆる要素に迅速にアクセスする機能を提供している。
MIDIDataライブラリは普通のC言語で書かれているが、ソースのほか、ダイナミックリンクライブラリ(*.dll)の形で提供される。ゆえに、C/C++からはもちろんのこと、Visual BasicやDelphiから使用することもできる。最新のMIDIDataライブラリは、2007年現在おーぷんMIDIぷろじぇくとからダウンロードできる。
も参考になりそうです
このあたりは利用できないでしょうか。
他にも色々あります。