Harmony.dllの仕様 2

さて、引き続きHarmony.dllの仕様について調べてみました。やっぱりサイズに関係するようですね。ただしツクールXPではこの症状は出ないようです。他の小さいファイルと同じように処理されてました。なんにせよこのHarmony.dllは以前のバージョンではもっと挙動が怪しかったシロモノですから、別にこれといって問題ありません。というわけで、128KB以上のMIDIファイルは、XPのRTPみたいなセットアップ構造(1小節目を4分の1拍子にしておく)にしておく必要があるみたいです。

Harmony.dllの仕様 1

さて、やっとエピローグ2が完成したんですが、ツクール2000で確認してみると、セットアップ小節を飛ばしてくれない。つまり、1小節目から再生してしまうという不可解なバグに遭遇しました。問題を切り分けするためにいろんなパターンのデータを作って確認してみたんですが、どうやらMIDIファイルのサイズと関係があるようです。MIDIファイルのサイズがあまりにも大きいと(128KB以上)、たとえGMリセットを入れてなくとも頭から再生してしまうようなのです。推測ですが、Harmony.dllがセットアップ小節の長さをチェックする(つまり、最初のノートイベントを探す)際、そのバッファサイズを128KBにしているため、MIDIファイルのサイズがそれ以上のサイズの場合は、この手続きにエラーが生じているのか、もしかしたら手続きそのものを飛ばしているのかもしれません。

何しろ、エピローグ2はまで公開したMIDI素材の中でもっとも大きいサイズ、しかも初めて128KB以上のサイズになったもんですからちょっと戸惑いました。ただ、これが正しいかどうかはまだはっきり言えませんので、他のデカいサイズのMIDIファイルでもう少し検証してみたいと思います。推測が正しければ、それなりの回避方法がありますのでその作業を加えようと思います。

コード

エピローグ2の後半部分のコードがなんだかイメージとうまく合致しなかったんで、色々といじってたんですが、やっとうまくいきました。っていうかメロディが9thや11thになってたなんて思いもしませんでしたよ。やっぱりたまには鍵盤も使ってみるもんですね。普段MIDI素材については、メロディなど曲の骨格を考える時には鍵盤を全く使わないんですが(手癖が出そうだから)、このようにアレンジに詰まった時には、今後は使おうと思った次第です。

謹賀新年

あけましておめでとうございます。仕事も一段落し、ようやく素材制作に取り掛かれます。現在、エピローグ2のラフの打ち込みが終わり、詳細の打ち込みに入ってます。できれば今月中にもアップしたいところなんですが、後半部分のアレンジがまだ決まってませんので間に合うかな?って感じです。ラストバトル2の方なんですが、これはまだラフの段階ですので、まだまだ先ですね。

というわけで、今年も相変わらずののんびり更新となる予定ですが、皆様どうぞのんびりとお付き合いくださいませ。今年もよろしくお願いします。

Category

YouTube Channel

NicoVideo MyList

Archives