MML

Last-modified: 2022-06-10 (金) 14:46:08

MMLとはMusic Macro Languageの略でドレミファソラシをc d e f g a bで表現する、テキスト文字による演奏表記方法です。
MMLファイルは、1つの曲をMMLで表記するテキストファイルです。


MMLはこれ見て勉強しろ!
これだけ読んでおけば基本はバッチリ。

 

ノイズ音源の使い方

ノイズ音源を解説されているサイトが少ないため、ここで説明します。

ここが解りやすいかも↓
mckノイズおぼえがき
http://www1.plala.or.jp/acidhouse/mcktech.htm
SBRさんによる解説です

 
  • ノイズ音源は、単に雑音を出すだけではありません、周波数(1秒間に何回乱数を進めるか)を16種類に変えられます。
    D q7 v15 n0 n1 n2 n3 n4 n5,8 n6,8 n7 n8 n9 n10,8 n11,8 n12 n13 n14,2 n15,2
    filenoise1.nsf
  • 音符で書くこともできます、但しこの場合12種類までしか表現できません。
    D q7 v15 c c+ d d+ e f f+ g g+ a a+ b
  • 周波数を変えられるということは、ピッチエンベロープ(EPコマンド)やノートエンベロープ(ENコマンド)を使えば、発音中に周波数を変化させることができます。
    @EP0 = { | 0 0 0 0 0 0 0 -1}
    D v15 EP0 c1 r8 EPOF
    filenoise2.nsf
    @EN0 = { | 0 0 0 0 0 0 0 -1}
    D v15 EN0 c1 r8 ENOF
    filenoise3.nsf
    ※ENコマンドを使用した場合、n12~n15は鳴りません、n0~n11までとなります(ppmck09aにて確認)
    Wiz.さんによる解説のショートノイズも参考になります。
    http://taka-p.homeip.net/dtm/psc/mckmml.html#ShortNoise
  • ノイズ音源は、16段階に音量を変えられます。
    D l8L
    D v0f v+f v+f v+f v+f v+f v+f v+f v+f v+f v+f v+f v+f v+f v+f v+f
    D v15f v-f v-f v-f v-f v-f v-f v-f v-f v-f v-f v-f v-f v-f v-f v-f
    filenoise4.nsf
  • 音量を変えられるということは、エンベロープ(@vコマンド)を使えば、発音中に音量を変化させることができます。
    @v0 = {15 13 11 9 7 5 3 1 0}
    @v1 = {15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0}
    D @v1 eeee L @v0 n15 r n12 r8 [n15,8]5 n12 @v1f
    filenoise5.nsf
  • 更にディチューン(Dコマンド)を使うとノイズとは思えない不思議な音を出すことができます。
    @v0 = {15 13 11 9 7 5 3 1 0}
    D @v0
    D D16 n0n1n2n3n4n5n6n7n8n9n10n11n12n13n14n15
    filenoise6.nsf
    これがキンキンノイズとか短周期ノイズと呼ばれるものです。
    短周期ノイズは初期型のファミコンでは出せません。
    また、この音はNSFプレイヤーにより微妙に音程が違う様です。
  • ノイズ音源では周波数16段階、長周期/短周期切り替えで32種類の音を表現できます。
    @v0={15,14,13,12,11,10,9,8}
    D @v0
    D // 音符n0~n15による周波数の指定
    D D255 n0n1n2n3n4n5n6n7n8n9n10n11n12n13n14n15 r  // 長周期
    D D16  n0n1n2n3n4n5n6n7n8n9n10n11n12n13n14n15 r  // 短周期
    D // 音符を c 固定にし、Dコマンドよる周波数の指定
    D D0c D-1c D-2c D-3c D-4c D-5c D-6c D-7c D-8c    // 長周期
    D     D-9c D-10c D-11c D-12c D-13c D-14c D-15c r
    D D16c D15c D14c D13c D12c D11c D10c D9c         // 短周期
    D D8c D7c D6c D5c D4c D3c D2c D1c r
    filenoise7.nsf
    音符を c に固定する場合、長周期では D0~D-15 により周波数を指定し、短周期では D16~D1 です。
    EPコマンドを使用する場合の数値範囲もこのDコマンドを参考すると良いでしょう。)
  • ここまでの技を駆使すればドラムスはほぼノイズだけで作れるでしょう。
    @v0 = { 11 2 0 }
    @v1 = { 8 2 0 }
    @v2 = { 8 6 4 2 1 0 }
    @v3 = { 11 10 8 7 6 5 5 5 5 4 3 2 0 }
    @v4 = { 10 10 9 9 8 8 7 7 7 6 6 6 5 5 5 4 4 4 3 3 3 2 2 2 1 1 0 }
    @EP4 ={ 0 -1 0 0 0 -1 0 0 0 0 -1 0 }
    D t160l16L
    D @v2 n15,8 @v3 d8 @v0 c @v1 c @v3 d8
    D @v2 b8 @v3 d8 @v0 c @v1 c @v3 d8
    D @v2 n15,8 @v3 d8 @v0 c @v1 c @v3 d8
    D @v2 b8 @v3 d8 @v4 EP4 f4 EPOF
    D @v2 n15,8 @v3 d8 @v0 c @v1 c @v3 d8
    D @v2 b8 @v3 d8 @v0 c @v1 c @v3 d8
    D @v2 n15,8 @v3 d8 @v0 c @v1 c @v3 d8
    D @v2 b8 @v4 D15c8c8c8D0
    filenoise8.nsf