MIDI演奏に最適なAPIは?

解決


たかみちえ  URL  2001-07-10 19:03:36  No: 74643  IP: [192.*.*.*]

MIDIの演奏のためのAPIって、いろいろあるようですけど、
フィルタを使って演奏のしかたをかえるとか、
そういうのに最適なAPIはどれでしょうか?

  どのAPIでやってもフィルタはかけられるのなら、それでもいいんですけど…。

編集 削除
こころ  URL  2001-07-11 02:55:53  No: 74644  IP: [192.*.*.*]

色々というか、基本的には二種類のような。
MCIに再生依頼するタイプと、
直にmidiメッセージを送信するタイプ。

前者であれば、mciSendString,mciSendCommand、
後者であれば、midiOutLongMsg,midiStreamOut
が実際の再生処理を行う関数でしょうか。

前者はMCIができることしかできないので
おそらく、元データに対して何らかの加工を行うことは
無理っぽい気がします。
もちろん、元データを直接いじってから・・・ってなら
話は別でしょうが。

後者なら、大抵のことは可能でしょう。

ところで、フィルタってなんです?
どのような変化を指しているのかはわかりませんが
midiとして再生する以上、midiの規格で表現できない
音については当然ながら再生はできません。

編集 削除
たかみちえ  URL  2001-07-11 18:40:15  No: 74645  IP: [192.*.*.*]

フィルタって、Tmidiとかについてるオプションの、
オルゴールふうに鳴らしたり、オルガンふうに鳴らしたりするもののことです。
http://hp.vector.co.jp/authors/VA010012/

  そうですかー、やっぱりMCIじゃ無理ですかぁ…。
またあたらしいAPIを覚えなきゃいけないんですね(ーー;)

編集 削除
こころ  URL  2001-07-11 20:02:25  No: 74646  IP: [192.*.*.*]

どの程度オルゴール風なのかはわかりませんが
演奏楽器をオルゴールに変えてるだけなのかな?
MCIを100%知り尽くしてるわけではありませんが
その手の機能は無理っぽい気がします。

編集 削除
たかみちえ  2001-07-31 19:52:56  No: 74647  IP: [192.*.*.*]

結局MCIを使うことにしました^^;
とりあえず、まあ、音を出してみて、じきに変えてみようかな…。

  ところで、このMCISendString、MIDI関連でどういうコマンドがあるんでしょう?
とりあえず、テンポを調べたり、長さや現在位置、再生停止などはわかったんですけど…。
"日本語で"ありませんか?
ボリュームの参照とか…。


  それから、曲にフィルタをかける方法その一。
バイナリで曲情報後と書きかえるとか^^;

編集 削除
たかみちえ  2001-08-06 09:46:57  No: 74648  IP: [192.*.*.*]

解決とさせていただきます^^;
もうもう1つの質問にうつっちゃったし。

編集 削除