MML の書き方

まず、音符に相当する文字 C D E F GA B か休符 R を、演奏したい順に書いていきます。基本的にはこれだけです。 この際、4分音符の場合はC4、8分音符の場合はC8のように、音符の後にそれが何分音符かを書きます。 これを省略すると、事前にLで設定した値か、それも無ければデフォルトの4(4分音符)を指定したことになります。

L8
CDEFGAB>C R4 C<BAGFEDC

次に、オクターブの変更です。オクターブとは、上の「ド」や下の「ド」を区別するためのものです。 MML において、オクターブは O5のように直接数字を指定(絶対指定)するか、 現在設定されているオクターブから1つ上げる(>)のか1つ下げる(<)のかを指定(相対指定)する方法があります。 どちらの場合も、オクターブを変更した場所から後ろの方はずっとそのオクターブに設定されます。 ですので、「ドレミファソラシド・ドシラソファミレド」と上がって下がる場合には、 CDEFGAB>C R C<BAGFEDC のように書きます。日本語の場合は ドレミファソラシ↑ド、ド↓シラソファミレド と書きます。 オクターブを設定していない初期状態は O4 です。

O5 L8
CDEFGAB>C R4 C<BAGFEDC

そして、テンポの設定です。テンポとは曲の速さのことで、MML では1分間に4分音符を何拍演奏するかという数字で表します。 テンポ設定コマンド T を用いて、T140のように指定します。 これも、書いた場所から後の方に設定が引き継がれますので、1つ目は曲の先頭に書くのが一般的です。特に指定しない場合にはデフォルトの 120 となります。

T140 O5 L8
CDEFGAB>C R4 C<BAGFEDC

これらの基本的なコマンドを用いることによって、簡単な曲であればすぐに書くことができるようになります。

最後に音色の設定をします。これを行わないと、のっぺりとした電子音になります。 音色の定義の方法や方式は色々ありますが、FAMIC on USB では基本的に波形とエンベロープで音色を定義します。 とりあえず最初は以下のコマンドを使っておくと、よくあるメロディICのような音になります。

@1.0 @E1,0,200,0,0
T140 O5 L8
CDEFGAB>C R4 C<BAGFEDC

チャンネルについて

ここでは音が出せる機構1つをチャンネルと呼んでいます。 FAMIC on USB では、同時に5つの音までしか出せませんので、発音機構は5チャンネルあります。 MML Playground の画面にも5つのチャンネルが確認できると思います。 ここに MML を記述してください。

一部のコマンドを除いて、それぞれのチャンネルは独立した状態を持っています。当たり前ですが、例えばあるチャンネルのオクターブの変更は他のチャンネルに影響を与えません。

同時に別の音を鳴らしたい場合、つまり和音を出したい場合には、それぞれ別のチャンネルに音符を書いてください。 このとき、全く同じタイミングになるように休符などで調整しなければならないので、実際には少し工夫が必要です。がんばってください。