MMLとは。(Music Macro Language)
2011.6.3 Hautbois. / sccwave(Twitter) / MML
すたどんたんというWEBサービスがあります。
データに「すたどんたん」と日本語を入れて再生すると音がなるのです。
実際には文字それぞれに音が割り当てられていて、それがなります。
実はこれもMML(Music Macro Language)なんです。
このサービスの心臓部はSiONという
アクションスプリクトでつくられた統合サウンドライブラリでその機能の1部を使ったサービスなのです。
MMLTALKSというサービスも行っていて
自分もそこのユーザーの1人です。
一言で言えばMMLは楽譜です。
音楽の授業で、ドレミファソラシドをハニホヘトイロハとか、。
英語ではド=C、レ=D~シb=Bb、シ=Bとか。
ドイツ語では、ド=C~シb=B、シ=Hとか、頭の片隅にありませんか?。
これを基本としたものがMMLなのです。
音程について
楽譜を見てみます。

でもこれだけではドレミファソラシ、次の高いドがあらわせません。
そのためMMLではオクターブを指定する「o」コマンドがあります。
♪o5cdefgab の次は、o6cdefgabと「o」の次にオクターブをあらわす数字を入れます。
♪オクターブの指定は「<」と「>」でもできます
例)cdefgab
これでドレミファソラシド(1オクターブ高いド)になります。
ただしこの「<」と「>」は逆の場合もあります。というか私は逆に書きます。
大抵は、この「<」と「>」を逆に指定する方法があります。
・ピコカキコ(FlMML)では最初に#OCTAVE REVERSEと書きます。
・MMLTALKS(SiON)では#REV;と書きます。
音長について
♪音の長さといえば、4分音符とか、全音符とか、休符とかありますよね。
MMLではこの長さをドレミをあらわすcdeのあとに数字で書きます。
例)c4d4e4r4 c4d4e4r g4e4d4c4 d4e4d4r4
でもこれではずらずらと見にくいので、これ以降は4分音符ですよ!というコマンドがあります。
♪それは「l」アルファベットのL、多分初期は長さ(Length)の略だったのかな?と個人的に思ってます。
例)l4 cder cder gedc dedr
大分スッキリです。しかも最初の「l4」を「l8」にすればすべて8分音符になります。
後から直すときに楽できます。
忘れてました「r」アルファベットのRは休符になります。多分、休み(Rest)の略なんだと思います。
♪付点音符はどうするか、付点4分音符は、4分音符+8分音符で、
楽譜だと音符の横に「.」がつきますね?
MMLでもそのまま「.」ピリオドを書きます。
例)l4 c.d.e f.g.a
♪複付点音符もそのまま書きます。どこまで書けるかは環境によります。
例)c2..d8 e2..f8 g1
♪スタッカート
これには大問題があります。
楽譜にスタッカートがあった場合、楽典では音を半分にするとか適当に書いてありますが、
これは曲や時代によってぜんぜん意味が違うのです。
MIDIソフトでスタッカートを表現する場合音を短くするだけではなく、
エクスプレッションコマンドを連続で書き、音が減衰して行くようにしたりします。
人間もスタッカートが楽譜に書いてあっても、色々とテクニックを使って演奏します。
MMLでは「q」と言うコマンドを使います。(多分クオンタイズ)
音の長さを割合で表し最小1最大8を指定します(環境によっては16だったりもします)
例)4分音符のドレミ
l4 cde
例)4分音符のドレミを単純に半分にしたい場合は4/8なので
l4 q4 cde
例)もっと短くしたい場合は
l4 q2 cde
この辺は音色の余韻との兼ね合いやMix具合によって調整する必要があるでしょう。
音量について
♪音量は基本「v」コマンドをつかい音量0は「v0」音量最大は「v15」を書きます。
例)ドレミファ音量2/3にしてドレミファ音量1/3にしてドレミファ
v15 cdef v10 cdef v5 cdef
ただしこれでは荒すぎるので後に拡張されて@v0~@v127の128段階になっている場合が多いです。
音色について
♪これはかなり環境によって違いますが、
大抵は「@」コマンドを使います。
例)0番の音色を使いたい
@0 l4 cdefg
じゃぁ0番はなんの音色なんだ?って思うはずです。
これは完全に環境に依存。もしくは自分で定義します。
その他
たとえば繰り返しは?
[~]だったり /:~:/だったり
スラー、タイはどうするの?
&を使いますが、これも人間の演奏とはかけ離れるのでテクニックが必要です。
シンセサイザーのピッチベンドは?
*だったり
こう書いてみるとかなり大変ですね。
ただ、自分としてはMMLを書くことはプログラミングとは思っていません。
世の中サウンドプログラマと言うとMIDIに楽譜を打ち込んだり、
効果音を作ったりする職業と思われがちですがこれもどうなのかなーって思います。
今現在、作曲家(コンポーザー)はすでにMIDIに打ち込むまでする人がほとんどです。
そこから音色やエフェクトをつけていくのがマニュピレーター
効果音を作るのがサウンドエディター。
冒頭に書いた「すたどんたん」ここに「すたどんたん」と打ち込み音楽を作る人は
ある意味作曲家であり、作曲を通り越して、サウンドクリエーターと思ったりします。
つまり「すたどんたん」でうまいドラムビートを作れるのであれば、もうクリエーターかなって思います。
私みたいに昔の曲を引っ張りだしてきて組み合わせるだけとは違うと思います。
それでは、良いミュージックライフを♪