MMLの勉強

http://d.hatena.ne.jp/hatenadiary/20071011/1192086766
面白そうなのが出来たので、
その為だけに日記らしい日記を更新してみる。

仕様
http://sketch.txt-nifty.com/blog/2007/10/actionscript_cf18.html#more

上記仕様に載ってない部分覚え書き
・音符の隣の数字はn(n分音符)、.は付点、6は3連符(3-6-12-24)
・アタック0…いきなり最大
・ディケイ0…すぐサスティンレベルへ
・サスティン0…すぐ消える
・リリース0と127…どちらも手を離した後残響が残るので、まだ仕様がよく分かってない。

追記:リリースの0は使えないらしいです。1〜127で設定できました。
・リリース1…すぐ消える

http://blog.lilyx.net/2007/10/07/javascript-mml-mario-theme/
ここのスーパーマリオMMLデータを拝借して自分なりに原曲に近づけるよう調整してみた。

追記2:今日(2007/10/22-17:20頃)確認するとメロディの順番が変になってました。
   リピートの仕様が変更された感じがしましたので、
   はてなの中の人に質問コメントをしてみました。どうなんだろ?

追記3:仕様変更されていたらしい。新しいエントリーで新仕様に対応したバージョンを作りました。
http://d.hatena.ne.jp/sho_taro_123/20071023

@3 T195 L8 O6 @E1,0,20,0,127
ee4e4ce4g1
/:2
/:
 c4.>g4.e4.a4b4a+a4g6<e6g6a4fg4e4cd>b4.<
 c4.>g4.e4.a4b4a+a4g6<e6g6a4fg4e4cd>b4.<
/
/:
  r4gf+fd+4e4>g+a<c4>a<cd4.gf+fd+4e4<c4cc2>
  r4gf+fd+4e4>g+a<c4>a<cd4.d+4.d4.c1
:/
 cc4c4cd4ec4>ag2<cc4c4cde1r
 cc4c4cd4ec4>ag2<ee4e4ce4g1
:/
/:
 ec4>g4.g+4a<f4f>a2b6<a6a6a6g6f6ec4>ag2<
 ec4>g4rg+4a<f4f>a2b<f4ff6e6d6c1
:/
cc4c4cd4ec4>ag2<cc4c4cde1r
cc4c4cd4ec4>ag2<ee4e4ce4g1

ec4>g4rg+4a<f4f>a2b6<a6a6a6g6f6ec4>ag2<
ec4>g4rg+4a<f4f>a2b<f4ff6e6d6c1
:/

;

@3 T195 L8 O5 @E1,0,20,0,127
f+f+4f+4f+f+4b2g2
/:2
/:
 e4.c4.>g4.<c4d4c+c4c6g6b6<c4>ab4a4efd4.
 e4.c4.>g4.<c4d4c+c4c6g6b6<c4>ab4a4efd4.
/
/:
  <r4ed+d>b4<c4>efg4cef4.<ed+d>b4<c4f4ff2
  r4ed+d>b4<c4>efg4cef4.g+4.f4.e1
:/
 g+g+4g+4g+a+4ge4ec2g+g+4g+4g+a+g1r
 g+g+4g+4g+a+4ge4ec2f+f+4f+4f+f+4b2g2
:/
/:
<c>a4e4.e4f<c4c>f2g6<f6f6f6e6d6c>a4fe2
<c>a4e4.e4f<c4c>f2g<d4dd6c6>b6ge4ec2
:/
g+g+4g+4g+a+4ge4ec2g+g+4g+4g+a+g1r
g+g+4g+4g+a+4ge4ec2f+f+4f+4f+f+4b2g2

<c>a4e4.e4f<c4c>f2g6<f6f6f6e6d6c>a4fe2
<c>a4e4.e4f<c4c>f2g<d4dd6c6>b6ge4ec2
:/

;

@2 T195 L8 O4 V15 Q16
ddrdrddr<gr4.>gr4.
/:2
/:
 gr4er4cr4frgrg-fre6<c6e6frdercr>abgr4
 gr4er4cr4frgrg-fre6<c6e6frdercr>abgr4
/
/:
 cr4gr4<cr>fr4<ccr>frcr4er4g<cr<grggr>>gr
 cr4gr4<cr>fr4<ccr>frcrg+r4a+r4<cr4>ggrcr
:/
 >g+r4<d+r4g+rgr4cr4>grg+r4<d+r4g+rgr4cr4>gr
 g+r4<d+r4g+rgr4cr4>gr<ddrdrddr<gr4.>gr4.
:/
/:
 cr4f+gr<cr>frfr<cc>frdr4fgrbrgrgr<cc>gr
 cr4f+gr<cr>frfr<cc>frgr4gg6a6b6<cr>grcr4.
:/
>g+r4<d+r4g+rgr4cr4>grg+r4<d+r4g+rgr4cr4>gr
g+r4<d+r4g+rgr4cr4>gr<ddrdrddr<gr4.>gr4.

cr4f+gr<cr>frfr<cc>frdr4fgrbrgrgr<cc>gr
cr4f+gr<cr>frfr<cc>frgr4gg6a6b6<cr>grcr4.
:/

;

@4 T195 L8 V4 Q6
@n64
crc16r16crc16r16crcr4crc16r16c16r16c16r16
/:2
/:24 v10@n120c16v4r8.@n64c12r12c12@n0cr@n64c12r12c12 :/

/:4 crc16r16crc16r16crcr4crc16r16c16r16c16r16 :/

/:8 v10@n120c16v4r8.@n64c12r12c12@n0cr@n64c12r12c12 :/

/:16 c16r16r4c16r16@n0cr@n64c16r8. :/

/:4 crc16r16crc16r16crcr4crc16r16c16r16c16r16 :/

/:8 c16r16r4c16r16@n0cr@n64c16r8. :/
:/