TALK@文やUSR()で使用する文字列は、PLAY文であるMMLの構文を模したHML (Hanauta Macro Language)を使用します。
HMLでは、以下をサポートしています。構文の「x」部分には、数値を設定します(省略可能)。アルファベットは大小文字どちらでも可能です。
パラメタ | 説明 | 数値範囲 | 省略値 | 初期値 |
Tx | テンポ(BPM)を指定 | 32〜255 | 120 | 120 |
Vx | 音量を指定 | 0〜15 | 8 | 8 |
Lx | 音の長さを指定音符と対応 | 1,2,3,4,6,8,12, 16,24,32,48,96 | 4 | 4 | Ax〜Gx A+x〜G+x A-x〜G-x | 指定した音符長で音階を発声 +で半音上げ、-で半音下げ | 1,2,3,4,6,8,12, 16,24,32,48,96 | Lの値 | Lの値 |
Ox | オクターブを指定 | 2〜6 | 4 | 4 |
Rx | 指定した音符長で休符を発声 | 1,2,3,4,6,8,12, 16,24,32,48,96 | Lの値 | Lの値 |
Nx | 指定した音の高さ(音声合成ROMに 出力するPitch値に対応)で発声 | 0〜127 | 直前の Pitch値 | 37 (O4C相当) |
& &x | 次の発声音と音をつなげる 数字が続く場合は指定した音符長で 同音を続ける | 1,2,3,4,6,8,12, 16,24,32,48,96 | Lの値 | Lの値 |
なお、これ以外の文字(エラー文字)を使用した場合は、エラー文字の直前まで発声して終了します。
範囲外の数字を指定した場合はエラーとはなりません。ただし、範囲内の数値のいずれかに置き換えて実行するため、思った通りの発声とならなくなります。範囲内の数値のみ指定するようにして下さい。
各パラメタの指定値は、A=USR(0)またはA=USR(1)で初期化するまで、最後に設定した値を引き継ぎます。
|