MIDI音源 について


やすひこ  2003-07-09 01:42:52  No: 4059  IP: [192.*.*.*]

http://madia.world.coocan.jp/delphi/ura.htm

↑ここのMIDIセーバーをダウンロードしました。

DEMO2のピアノ2などのように3つ以上の音同時に鳴らそうとしても、2つまでしか鳴りません。

実際ピアノ2の音も2つしか鳴っていないようです。

これは何が原因なのでしょうか?

プログラムはDEMOのコピー&ペーストで作りました。

編集    削除
たかみちえ  URL  2003-07-10 03:06:48  No: 4060  IP: [192.*.*.*]

使用している音源によっては、同時発音数の問題で、音が思ったようにならないことがあります。
  まあ、3つの音が鳴らせないということはそうないと思いますが、実際にいろいろ、他の要因で、音源が音を鳴らさないということも、あるようです。

  まず、オーディオのプロパティを見て、他の音源があるならば、それを選んで試してみてください。

編集    削除
やすひこ  2003-08-06 11:42:58  No: 4061  IP: [192.*.*.*]

音源の問題では無さそうです。
他のMIDIなどはしっかりと複数の音を鳴らすことが出来ます。

プログラムを観る限りでは、何が原因かわかりません。

例えばピアノとスネアの音が鳴っているところにコピペでベースの音を入れても
聞こえなませんし、[ピアノ→ベース→スネア]という順番でプログラムすると
今度はスネアの音が出なくなります。

どういうことなのかわかる人がいればお願いします。

編集    削除
papy  2003-08-06 21:27:31  No: 4062  IP: [192.*.*.*]

メールで報告を頂いたのでバグを修正しときました。
原因はトラック数が「3つ」必要なのにトラック数を「2つ」と指定していた為です。(それ以外は相変わらず雑なソースのままです。)

[ピアノ2]
403行目 
x Write_SMFHeader(MemoryStream,$1000,2);
o Write_SMFHeader(MemoryStream,$1000,3);

[ピアノ3]
506行目 
x Write_SMFHeader(MemoryStream,$1000,2);
o Write_SMFHeader(MemoryStream,$1000,3);

編集    削除