【第2章】 Museコーディングの手引き

■補足

  1. エクスポートMIDIファイルの定格性

    通常のMIDI形式でテンポ変化(リタルダンドやアッチェレランド)を行おうとすると、階段状の変位でしか扱えません。階段の幅を細かくして誤魔化すことはできますが、厳密に言うと線形変位ではありません。そこでMuseは、本当になめらかな速度変化を実現するため画一的なMIDI出力を行わず、数値計算によるテンポ制御を採用しています。これにより、人間的にテンポを揺らがせる演奏を行うことができる訳です。しかしそのための代償として、Museから出力されたMIDIファイルは、他のシーケンサーや譜面変換ソフトでは処理しきれない端数音符が多く出現してしまいます。この節では、この現象を一時的に回避するための手段をご紹介します。

    それは「テンポ指定コマンド%を一切使用しない」ことで実現します。(タイミング合せのための単独%はこの限りではありません) 要は、デフォルトのテンポ%125で首尾一貫して記述されている状況においてのみ、Museの数値計算処理と、従来の定格化MIDIの表現が一致するわけです。

    むろん、テンポ指定を施さないと演奏データとしては意味を成さない場合が多いのですが、例えば譜面変換がしたい場合は実用上の問題はありませんし、他のシーケンサーに読込ませたい場合は、そこでなんらかの手を加える事を目的としているはずですから、テンポの指定をその1つと考えれば問題はないとも言えます。Museは、MIDIデータを演奏データとしてではなく、音源ドライブのための結果データとして捉えています。演奏情報はあくまでもMuseデータ側が担うべき、という思想です。

    (注)エクスポートされたMIDIは、音源や諸々のパラメータを初期化するために強制的に1小節分(四分音符4つ分)のマージンが曲頭に付加されます。ただし、セットアップ小節のテンポは800と高速なので、実時間にして0.3秒程度です。