MMLの勉強5

前に作成した分(→http://d.hatena.ne.jp/sho_taro_123/20071011)の不具合は
どうやら、マクロが導入された際の調整で何か問題があったせいらしいという事が分かりました。
言語として完全に完成されていないうちは、
細かい部分で永遠に全く同じように鳴るとは限らないところが、
なんというかデジタルっぽくないですね。今後も出てきそうな問題点です。


マクロに対応したバージョンで作成しなおしてみました。
マクロを使うとなんかすっきりして嬉しい。

$T = T195 ;

$melo1 = $T @3 L8 O6 V10 @E1,0,20,0,1 ;
$int1 = ee4e4ce4g1 ;
$A1 = /: c4.>g4.e4.a4b4a+a4g6<e6g6a4fg4e4cd>b4.< :/ ;
$B1 = /: r4gf+fd+4e4>g+a<c4>a<cd4. / gf+fd+4e4<c4cc2> :/ d+4.d4.c1 ;
$C1 = /: cc4c4cd4ec4>ag2< / cc4c4cde1r :/ $int1 ;
$D1 = /: ec4>g4.g+4a<f4f>a2 / b6<a6a6a6g6f6ec4>ag2< :/ b<f4ff6e6d6c1 ;

$hamo2 = $T @3 L8 O5 V8 @E1,0,20,0,1 ;
$int2 = f+f+4f+4f+f+4b2g2 ;
$A2 = /: e4.c4.>g4.<c4d4c+c4c6g6b6<c4>ab4a4efd4. :/ ;
$B2 = < /: r4ed+d>b4<c4>efg4cef4. / <ed+d>b4<c4f4ff2 :/ g+4.f4.e1 ;
$C2 = /: g+g+4g+4g+a+4ge4ec2 / g+g+4g+4g+a+g1r :/ $int2 ;
$D2 = /: <c>a4e4.e4f<c4c>f2 / g6<f6f6f6e6d6c>a4fe2 :/ g<d4dd6c6>b6ge4ec2 ;

$bass3 = $T @2 L8 O4 V15 Q15 @E1,1,0,127,1 ;
$int3 = ddrdrddr<gr4.>gr4. ;
$A3 = /: gr4er4cr4frgrg-fre6<c6e6frdercr>abgr4 :/ ;
$B3 = /: cr4gr4<cr>fr4<ccr>frc / r4er4g<cr<grggr>>gr :/ rg+r4a+r4<cr4>ggrcr ;
$C3 = > /: g+r4<d+r4g+rgr4cr4>gr / g+r4<d+r4g+rgr4cr4>gr :/ <$int3 ;
$D3 = /: cr4f+gr<cr>frfr<cc>fr / dr4fgrbrgrgr<cc>gr :/ gr4gg6a6b6<cr>grcr4. ;

$HH = V4 @n64 @E1,0,18,0,1 ;
$BD = V10 @n120 @E1,0,18,0,1;
$CC = V4 @n0 @E1,0,64,0,10 ;
$drum4 = $T @4 L8 Q6 $HH ;
$int4 = crc16r16crc16r16crcr4crc16r16c16r16c16r16 ;
$A4 = /:8 $BDc16r8.$HHc12r12c12$CCcr$HHc12r12c12 :/ ;
$B4 = $A4 ;
$C4 = /:4 $int4 :/ ;
$D4 = /:8 c16r16r4c16r16$CCcr$HHc16r8. :/ ;


$melo1 $int1 /:2 $A1 /: $B1 :/ $C1 $A1 /: $D1 :/ $C1 $D1 :/ ;
$hamo2 $int2 /:2 $A2 /: $B2 :/ $C2 $A2 /: $D2 :/ $C2 $D2 :/ ;
$bass3 $int3 /:2 $A3 /: $B3 :/ $C3 $A3 /: $D3 :/ $C3 $D3 :/ ;
$drum4 $int4 /:2 $A4 /: $B4 :/ $C4 $A4 /: $D4 :/ $C4 $D4 :/ ;