質問

どのように私はC ++のプログラムからMIDIメッセージを送信することができ、それらは

?一般的なMIDIバンクからサウンドを再生してい

私の周り見てきたし、そこに簡単な答えであるように見える、と私の脳は、CoreMIDIとそのようなことについての長いマニュアルを読んだ後に溶融するために開始しません。

私は、単純なC ++ゲーム/シンセサイザープロジェクトを持っている、と私はやりたいすべては、例えば、このボールが床に当たったとき、グランドピアノバンクからC4をトリガしています。私はプログラムの大半は罰金だけど、一体型のMIDI部分は、これまでのところ私には全く不透明となっている。

私はそれが最も簡単かもしれないようにそれはそうなので、CoreMIDIを使用するようにしたいのですが、何かマルチプラットフォームはボーナスになります。

任意の助けのためにありがとうございました!

役に立ちましたか?

解決

別のオプションは次のようになり rtmidiする

これは、シンプルであることを目指していますし、クロスプラットフォーム

私は、リアルタイムのオーディオI / Oのための同様のrtaudioを使用しました、そしてそれは比較的使いやすいでした。

あなたはGMバンクを選択し、例のコードですべてのMIDIデバイスを一覧表示し、あなたがプログラム・チェンジ・メッセージでピアノを選択した後、適切なMIDIメッセージ(メッセージのオン/オフノート)を送信することができるはずです。ウィキペディア持っA 役立つページを始めるために

他のヒント

私はCoreMIDIを使用して、同じ問題に遭遇誰かを助けるかもしれないチュートリアルを書きました。これは、サウンドフォントファイルからサウンドエフェクトを使用してAUGraphてMIDIファイルと出力を読み取る方法を説明します。また、リアルタイムでMIDIメッセージへのアクセスを取得するには、仮想エンドポイントを使用する方法について説明します。 ここのます。

:あなたは、次のと私が提供するサンプルプロジェクトを変更でき行うために探しているものを行うには、

result = MusicDeviceMIDIEvent ([AUSampler], midiStatus, note, velocity, 0);

AUSamplerはAUGraphでAUSamplerすなわち開始点へのポインタです。むしろ、ファイルからの読み込みよりも、あなたが再生する1つのMIDIノートを送信するには、次のコマンドを使用することができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top