音楽を奏でてみましょう。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)BPM | T180CDEFGABO5C (早いテンポでドレミファソラシド) |
サンプルコード カエルのうた
PLAY "CDEFEDCR4EFGAGFER4CR4CR4CR4CR4L16CR16CR16DR16DR16ER16ER16FR16FR16L4EDCR4"

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

コメントを残す