MML記法の音色をいじってみる

まずノーマルのサイン波。

v1 @0 cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab

次にノイズ127(最大)を載せたサイン波。

v1 @0 @n127 cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab

違いがよく判らない。というか正直記法がよく判らない。@n[n]と書いてあって、これまでのパターンからすれば[n]部分が整数だろうから@n127というような書き方でいいんだと思うのだが。
次にエンベロープ。上から順に、attack、decay、sustain、releaseのみ最大値、他は0に。

v1 @0 @e127,0,0,0 
cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab
v1 @0 @e0,127,0,0 
cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab
v1 @0 @e0,0,127,0 
cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab
v1 @0 @e0,0,0,127 
cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab

attackのみにしたら音がしない。逆にこれを0にした音は最初のブツっというような音がなくなって柔らかい感じに。
releaseは音長終了後の減衰割合なんだろうと思う。
decayとsustainはどちらも発音後の減衰に関係するようなのだが、このサンプルでは違いが判らなかった。


では、他の波形に移る。まずはノコギリ波。

v1 @1 cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab

次にエンベロープ。上から順に、attack、decay、sustain、releaseのみ最大値、他は0に。

v1 @1 @e127,0,0,0 
cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab
v1 @1 @e0,127,0,0 
cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab
v1 @1 @e0,0,127,0 
cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab
v1 @1 @e0,0,0,127 
cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab

元はギターのような音だが、decay/lereaseを最大化するとオルガンのような雰囲気に。

三角波

v1 @2 cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab

エンベロープ。attack以外0のサンプルは音色に関らず音が出ないようなので省いた。

v1 @2 @e0,127,0,0 
cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab
v1 @2 @e0,0,127,0 
cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab
v1 @2 @e0,0,0,127 
cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab

パルス波とそのエンベロープ

v1 @3 cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab
v1 @3 @e0,127,0,0 
cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab
v1 @3 @e0,0,127,0 
cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab
v1 @3 @e0,0,0,127 
cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab

今までのサンプルで、これが一番エンベロープの違いを明確に出しているように思う。


パルス波はパルス幅を指定できる。

v1 @3 @w0 
cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab
v1 @3 @w50 
cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab
v1 @3 @w100 
cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab<cdefgab

0と100が区別できない。
丁度50が所謂「矩形波」?