音楽を奏でてみましょう。MSXには3音ポリのPSGシンセサイザーが搭載されています。容易に音を出力させることができる命令があります。以下構文を入力して[Enter(Return)]を押下してください。

PLAY "CDEFGAB"

「ド-レ-ミ-ファ-ソ-ラ-シ-」が演奏されたと思います。

PLAY構文に続く””(ダブルコーテーション)でかこまれた部分に音楽演奏記号を記述することで音楽を奏でる事ができます。これをMML(Music Macro Langage)と言います。

MMLについて

まず、音階を示す記号は以下です

Cドの音を出す
Dレの音を出す
Eミの音を出す
Fファの音を出す
Gソの音を出す
Aラの音を出す
Bシの音を出す

上記の音階記号を修飾する記号が以下です

MML記号説明使用例
+直前に記述された音階を半音上げる(#)C+ (ドの#になる)
直前に記述された音階を半音下げる(♭)E- (ミの♭になる)
L音符の長さを指定するL8 (以降の音が8分音符になる)
R休符を入れるR16 (16分休符が入る)
. (ピリオド)付点音符にするL4C. (付点4分音符でドの音を出す)
Oオクターブを指定する(1~8)(未指定ではO4)CDEFGABO5C
(ドレミファソラシドを演奏)
V音量を指定する(0~15)V5CV10CV5CV10CV5CV10CV5CV10C
(アクセント奏法)
Tテンポを指定する(32~255)BPMT180CDEFGABO5C
(早いテンポでドレミファソラシド)

サンプルコード カエルのうた

PLAY "CDEFEDCR4EFGAGFER4CR4CR4CR4CR4L16CR16CR16DR16DR16ER16ER16FR16FR16L4EDCR4"

カエルのうたが演奏されましたか?

MSXは3音ポリフォニック(厳密にいえば、オシレータ×3でそれぞれ独立のエンベローブがあり、ノイズも1系統付加されている)なので、3つまでの音を同時にならせます。方法は、PLAY構文を「,」(カンマ)で区切って三つのMMLを記述すると、それぞれ並行して演奏されます。

サンプルコード (I → Ⅳ →V→I の和音進行)

PLAY "L1CFGG","L1EABO5C","L1GO5CDE"