Sound Driver 'Humming Cat' for WonderWitch Copyright (C) 2002 DOI Hiroyuki MMLコンパイラ hcmml ★★ 注意 ★★ 現在、hcmml.exeはHumming Catの最新仕様に対応できていません。 最新仕様はhcmmlj(Java版MMLコンパイラ)のほうに実装されています。 なお、hcmmljの実行にはJavaランタイム環境が必要です。 ◎使い方 DOSプロンプトなどから実行します。 hcmml には入力するMMLファイル名を、 には出力するリソースファイル名を指定します。 拡張子まで正しく指定してください。 ◎MMLの書式 Humming CatのMMLでは、各行ごとに処理が行われます。1行の長さは 255バイトまでです。(改行含む) アルファベットの大文字・小文字は区別されません。 スペースやタブは無視されます。 === 行の種類 === 行頭を見てその行の種類を判別します。現在使えるのは 以下のものです。 #n トラック指定(n=0,1,2,3) この行にトラックnのスコアデータ(演奏データ)が書かれて いることを示します。トラックnはWonderSwanのPCMチャン ネルnで演奏されます。 === コメント === ;(セミコロン)以降、行末までをコメントとみなします。 === スコアデータの種類 === CDEFGAB[+|-][n|%n][.*] 音符 音符を鳴らします。CDEFGABがドレミファソラシに対応します。 +を付けると半音上げ、-を付けると半音下げます。 数値を付けると音長指定になります。例えばC4は4分音符のドです。 %に続いて数値を書いた場合は絶対音長指定になります。 これは全音符を%192として、音符の継続時間を表したものです。 2分音符が%96、4分音符が%48…となります。 .(付点)を付けると音長の1/2を元の音長に加算します。以下、 付点を増やすごとに元の音長の1/4,1/8,1/16…を加算していきます。 R[n|%n][.*] 休符 指定した長さだけ休みます。 休符中は完全に発音が止まります。前の音符のリリース音が終わって いなくても即座に打ち切ります。 W[n|%n][.*] ウェイト 指定した長さだけ何もせずに待ちます。前の音符のリリース音が 終わっていなければそのまま鳴り続けます。 Tn テンポ 曲のテンポを指定します。曲中で変更することもできます。 Ln[.*]|L%n[.*] デフォルト音長 音符/休符で音長指定を省略したときの音長を設定します。 デフォルト音長のデフォルト値は4(=%48)です。 On オクターブ(n=1..8) オクターブを指定します。デフォルトはO4です。 <> オクターブ移動 オクターブを移動します。<で1つ下がり、>で1つ上がります。 Vn 音量(n=0..15) 音量を指定します。デフォルトはV13です。 \n ディチューン(n=-2399..2399) ディチューン量を指定します。半音の1/25単位で指定できます。 デフォルトは0です。 ※音源自体の精度の限界から、指定したディチューン量と 実際に発音される音がかなり食い違うことがあります。(特に高音部) Sn ピッチシフト(n=-2047..2047) ピッチシフト量を指定します。サウンドBIOSのSOUND_SET_PITCHに 与えるピッチをこの値だけずらします。\nのディチューン量とは 独立に扱われます。