# -------------------------------------------
# Tone & Velocity & NoiseNote & Arpeggio Envelope 定義
# -------------------------------------------

# 先頭の数字はプログラムチェンジ番号、またはノートNo（ノイズTR4は+1000）です。
# その他、音源ごとにオフセットが付きます（MMC5は内部音源と同じなので有りません）
# FDS.2000　VRC6矩形.3000　V6鋸.4000　VRC7.5000　N16x.6000　Sun5B.7000
# VRC6鋸波は音色は変わりませんが音量を区別するためにそうなってます。
# 三角波（TR3）もEvが付きます。ベロシティが100位だとビヨビヨします（5段階）

# 現時点では波形メモリ系やFMはそのままではなりません。
# それ用の音色指定を別途MMLに入れ直す必要があります…


#　以下の記号は使ってもエラーにはなりません（スルーします）

# Dn : 前の数値をn+1回繰り返す。例　{15　D2}　→　{15 15 15 15}

# R  : 以降はリリースのエンベロープ。Rの前後にスペースなしで数字が有ると異常終了します

# L  : 以降をループ（Rが有る場合はRまで。Lの前後にスペースなしで数字が有ると異常終了します

# -------------------------------------------

[EvMap]

#　音量、ベロシティ128の時のを記述する。それ以下はソフト側で雑に減算します。

# -------------------------------------------

1	{12 11 D1 10 D1 9 D2 8 D2 7 D3 6 D5 5 D6 4 D8 3 0 R 0}
113	{15 14 13 R 8 4 0}
5	{15 R 0}
10	{15 D8 14 13 D6 12 R 0}
15	{31 30 R 0}
31	{13 R 0}


62	{10 R 4 2 0}
67	{7 9 11 13 15 R  3 2 1 0}


96	{1 D4 2 D4 3 D4 4 D4 5 D4 6 D4 7 R 6 D5 5 D5 4 D5 3 D5 2 D5 1 D5 0 }





7082	{15 15 15 14 14  13 D13 12 D10 11 R 0}
3082	{15 D10 14 D8 13 D6 12 R 0}
4039	{35 R 0}

1037	{15 12 10 8  4 2 0}
1038	{15 14  13 12 11 10 9 8 7 6 5 4 3 2 1  0}
1040	{15 12 10 8  4 2 0}



1042	{10 10 8 7 6 5 5 2 0}
1049	{15 D2 14 D2 13 D2 12 D3 11 D3 10 D3 9 D3 8 D3 7 D3 6 D3 5 D3 4 D3 3 D3 2 D3 1 D3 0}
1052	{15 D2 14 D2 13 D2 12 D3 11 D3 10 D3 9 D3 8 D3 7 D3 6 D3 5 D3 4 D3 3 D3 2 D3 1 D3 0}
1057	{15 D2 14 D2 13 D2 12 D3 11 D3 10 D3 9 D3 8 D3 7 D3 6 D3 5 D3 4 D3 3 D3 2 D3 1 D3 0}
1053	{18 18 15 14 12 10 8 6 0}
1051	{18 18 15 14 12 10 8 6 0}




# -------------------------------------------

[E@Map]

#　音色。デューティー比、長州期短周期ノイズなど

# sun5bは64を設定しないとノイズしか出ません。


# -------------------------------------------


1	{0 1}
113	{0 1 2 R 2}
5	{L 0 1 R L 0 1}
10	{2}
15	{2}
31	{1 D0 1 D0 2}
62	{0}
67	{1 0}

96	{L 2 D9 1 D9 0 D9 1 D9}



7082	{ L 64}
3082	{3}

1042	{0}
1049	{1 0}
1057	{1 0}
1051	{1 1 0}

1053	{1}





# -------------------------------------------

[EnMap]

# ノイズトラックの音程
# 0～15の16通り。それ以外の範囲はループ。-2は13、18は2相当

# -------------------------------------------

1037	{7 5}
1038	{7 L 3 4}

1042	{12}
1040	{7 6}
1049	{14 10 L 8 D0 9 D0 }
1052	{ 3 3 4 D1 5 D2 L 6 D0 7 D0 }
1057	{15 10 L 10 D0 11 D0 }
1051	{L 13 12}
1053	{L 14 13}






# -------------------------------------------

[ApMap]

# 和音時の高速アルペジオ設定


# 先頭の英数字の意味。

# 数字のみ	プログラムチェンジ（E＠）に合わせて読み込む。無い場合は{L U1}

# E＋数字	トラックにCC12が有り、
		値が 1～ 63の場合、和音より前または同時に指定されたものを優先的に読み込む。
		値が64～127の場合、和音に関係なく適応する。
		値が	　0の場合、プログラムチェンジ優先。


# {}内の数字、記号の意味。
# 数字	そのままEn値へ入力
# Ux	和音の下から上に向かって変化。後ろに付く数字は1音の繰り返し回数。
# Dx	和音の上から下に向かって変化。後ろに付く数字は1音の繰り返し回数。
# L	ループポイント

# 67/69/74の和音の場合


# 1	{12 L U1 D1}	→	E(30000x) {12 L 0 2 5 5 2 0}	//Ap 1
# E1	{L U2}		→	E(30000x) {L 0 0 2 2 5 5}	//Ap E1
# 5	{L D3}		→	E(30000x) {L 5 5 5 2 2 2 0 0 0}	//Ap 5
# 10	{L D1 12 U1}	→	E(30000x) {L 5 2 0 12 0 2 5}	//Ap 10
# 64	{L 0 2 5}	→	E(30000x) {L 0 2 5}	//Ap 64

# -------------------------------------------



1	{L D3}
E1	{L U1}

62	{L U2}
96	{L U2}





# -------------------------------------------

[EmoMap]

# 先頭の数字がモジュレーション(CC1)の値に対応します。
# cc1の値が0の場合は無効とし、1～127の場合は有効とます。
# cc1の値が1の場合、1または1以上のエンベロープを読み込みます。

# このMapの場合、
# cc1が10の場合は64
# cc1が64の場合は64
# cc1が65の場合は96
# となります。


# -------------------------------------------

64	{0 D10 L 1 D2 0 D2 -1 D2 0 D2}
96	{0 D10 L 1 2 2 1 0 -1 -2 -2 -1 0 }
127	{0 D10 L 1 2 3 2 1 0 -1 -2 -3 -2 -1 0 }









