フレーズ

フレーズは音符と休符のならびを定義したものです

フレーズは以下のように phrase キーワードを使用して定義します。ここで「フレーズ名」はユニークな識別子でなければなりません

phrase フレーズ名
{
    ステートメントまたはブロックのならび
}

ステートメントとブロック

「ステートメント」とは、以下のいずれかをいいます

  • 音符・休符のならび ; (最後にセミコロン)
  • ブロック

「ブロック」とは、「ステートメント」のならびを {} でくくったものです

音符

CDEFGAB と記述すると、それぞれド、レ、ミ、ファ、ソ、ラ、シの音を鳴らします

CDEFG;  // ドレミファソ

音符の間には空白文字を入れてもかまいません

C D E F G;  // ドレミファソ

シャープとフラットは、それぞれ sfCDE... のうしろに記述して表現します

Gs;  // ソ♯
Bf;  // シ♭
Fss; // ファ ダブルシャープ
Aff; // ラ ダブルフラット

オクターブ

音符のうしろに整数を記述することで、音のオクターブを指定できます。いわゆる真ん中のドは C5 です

C5 C6 C7;  // 1 オクターブずつ上がる

休符

R と記述すると休符になります

CRCRCRCR;  // ド・ド・ド・ド

長さ

音符や休符に続けて、スラッシュ (/) と数字を記述することで、音符の長さを指定できます

C/4;  // 4分音符
R/8;  // 8分休符
G/16; // 16分音符
E/1;  // 全音符 (4/4)

付点はピリオド (.) で表記します

C/8.;  // 付点 8 分音符
D/16..; // 複付点 16 分音符

カッコ内に複数の数字を記述することで、タイを表現することができます

C/(4 8);  // 4 分音符と 8 分音符のタイ (付点 4 分音符に相当)

デフォルト

オクターブや長さの指定がない音符は、デフォルトのオクターブ・長さを継承します

  • ステートメントの最初で、デフォルトのオクターブは 5 に、長さは 4 分音符に設定されます
  • ステートメントの途中で、オクターブが指定された音符があった場合、デフォルトのオクターブは、そこで指定された値に設定されます
  • ステートメントの途中で、長さが指定された音符があった場合、デフォルトの長さは、そこで指定された値に設定されます
CD E/8 F;  // ドレは 4 分音符、ミファは 8 分音符

修飾子

アクセント・スタッカート・テヌートは、それぞれ以下の記号で表記します。同じ記号を複数個記述することで、効果を強めることができます

アクセント! (エクスクラメーション; 感嘆符)
スタッカート^ (キャレット)
テヌート~ (チルダ)
C!;  // アクセント
E/8^;  // スタッカート (実際にはメゾ・スタッカートくらい)
E/8^^; // ふつうのスタッカートくらい
G/2~!; // テヌートとアクセント

和音

複数の音符を & で連結することで、和音を表記することができます

C&E&G&Bf;  // C7 (セブンス)

リピート

繰り返し回数 * (音符のならび) と記述すると、音符のならび繰り返し回数 だけ繰り返します

例えば、以下の 2 行は同じ意味を持ちます

4*(CDEF);
CDEF CDEF CDEF CDEF;

リピート・イーチ

繰り返し回数 % (音符のならび) と記述すると、音符のならび 内の各要素をそれぞれ 繰り返し回数 だけ繰り返します

例えば、以下の 3 行は同じ意味を持ちます

4%(CDEF);
4*(C) 4*(D) 4*(E) 4*(F);
CCCC DDDD EEEE FFFF;