■ Uzume Language Compiler - 使い方説明
📖 言語仕様
グローバル設定
set tempo(120); // BPM (beats per minute)
set beat(4/4); // 拍子 (time signature)
set volume(80); // 音量 (0-127)
set wave(sine); // 波形: sine, square, triangle, sawtooth
小節定義
// 基本的な音符
intro = measure[nC4-1, nD4-1, nE4-2];
// 和音
harmony = measure[[nC4-2, nE4-2, nG4-2]];
// コード記法
progression = measure[[code(Cmaj7)], [code(F)], [code(G)], [code(Am)]];
// 休符
rest_measure = measure[nC4-1, R-1, nD4-2];
音符記法
| 記法 |
説明 |
例 |
nC4-1 |
n+音名+オクターブ-拍数 |
C4の1拍 |
nD#3-2 |
シャープ付き |
D♯3の2拍 |
nBb4-0.5 |
フラット付き |
B♭4の0.5拍 |
R-1 |
休符 |
1拍の休符 |
表情記号
// 直接指定
staccato_measure = measure[stc nC4-1, leg nD4-1];
// 後付け指定
add stc(intro[0]); // introの1番目の音にスタッカート
add leg(intro[1]); // introの2番目の音にレガート
add acc(intro[2]); // introの3番目の音にアクセント
add ten(intro[3]); // introの4番目の音にテヌート
| 記号 |
名称 |
効果 |
stc |
Staccato |
音を短く切る |
leg |
Legato |
なめらかに |
acc |
Accent |
強調する |
ten |
Tenuto |
音価を保持 |
同時演奏
// 複数の小節を同時に演奏
read(melody & bass); // 2声部
read(melody & harmony & bass); // 3声部
read(lead & rhythm & bass & drums); // 4声部
// ループ内での同時演奏
loop 4 {
read(verse & chorus);
}
繰り返し
// 基本的な繰り返し
loop 2 {
read(intro);
read(verse);
}
// ネストした繰り返し
loop 3 {
read(intro);
loop 2 {
read(verse & bass);
}
read(outro);
}
コード定義
組み込みコード
Uzumeは全12キーにわたって230以上のコード定義をサポートしています:
基本的なコード (C キー例):
| コード |
構成音 |
説明 |
C |
C4-E4-G4 |
メジャートライアド |
Cm |
C4-Eb4-G4 |
マイナートライアド |
C7 |
C4-E4-G4-Bb4 |
ドミナント7th |
Cmaj7 |
C4-E4-G4-B4 |
メジャー7th |
Cm7 |
C4-Eb4-G4-Bb4 |
マイナー7th |
Cdim |
C4-Eb4-F#4 |
ディミニッシュ |
Caug |
C4-E4-G#4 |
オーギュメント |
Csus4 |
C4-F4-G4 |
サスペンデッド4th |
拡張コード (C キー例):
| コード |
構成音 |
説明 |
Cadd9 |
C4-E4-G4-D5 |
アド9th |
C9 |
C4-E4-G4-Bb4-D5 |
ナインス |
C11 |
C4-E4-G4-Bb4-D5-F5 |
イレブンス |
C13 |
C4-E4-G4-Bb4-D5-F5-A5 |
サーティーンス |
Cmaj9 |
C4-E4-G4-B4-D5 |
メジャー9th |
C7-b9 |
C4-E4-G4-Bb4-C#5 |
7thフラット9 |
C7-#9 |
C4-E4-G4-Bb4-Eb5 |
7thシャープ9 |
省略コード (C キー例):
| コード |
構成音 |
説明 |
Cno3 |
C4-G4 |
3度なし |
Cno5 |
C4-E4 |
5度なし |
Cmaj7-no5 |
C4-E4-B4 |
メジャー7th 5度なし |
対応キー: C, C#, D, Eb, E, F, F#, G, G#, A, Bb, B(全12キー)
利用可能なコードタイプ: メジャー、マイナー、7th、maj7、m7、dim、aug、sus4、add9、9、11、13、m9、maj9、7-b9、7-#9、no3、no5、maj7-no5
コード使用例
// コードチョードの使用(拍数はcode()外で指定)
chord_progression = measure [[code(C)-1], [code(Am)-1], [code(F)-1], [code(G)-1]];
read(chord_progression);