MMLについてAIに聞いてみる

音楽をテキストベースで記述するためのMML(Music Macro Language)という言語があると知ったので、詳細をAIに尋ねてみました。

MML(Music Macro Language)とは?

  • 1970年代~1980年代に誕生
  • 主に **8ビットコンピューターやゲーム機(ファミコン、MSXなど)**で使われた
  • テキストで簡易的に音楽を作れるように設計された
  • 最近は **ブラウザやゲーム制作ツール(PICO-8、RPGツクールなど)**にも再登場

MML の基本構文(例)

t120 o5 l4 cdefgab>c

これを解読すると:

  • t120:テンポ 120
  • o5:オクターブ5(中央ド付近)
  • l4:基本音符の長さ=4分音符
  • cdefgab>c:ドレミファソラシド(最後の > でオクターブ上昇)

よく使われる MML コマンド

コマンド意味
tテンポ(bpm)t140
oオクターブo4(オクターブ4)
l音符の長さ(全音符=1)l8(8分音符)
cdefgab音階c=ド, d=レ
r休符(rest)r4(4分休符)
> <オクターブ上下> = 上げる、< = 下げる
&音符の連結c4&c8(同じ音を4分+8分伸ばす)
v音量(volume)v8(音量設定)

実行環境・ツール例

環境・ツール名説明・特徴
PICO-8ファンタジーコンソール、MML風の音楽入力が可能
MCK/MML2VGM実機ファミコンやPC-88向けにMMLを書く古典ツール
WebAudio MMLJavaScript 上でMMLを再生するライブラリ
RPGツクール一部の古いシリーズでMML入力がサポート

MML のメリット・デメリット

メリット

  • 非常にシンプル、テキストエディタで作曲可能
  • プログラミング的な制御が可能(ループ、変数など)
  • 古典ゲーム音楽の再現に最適

デメリット

  • 複雑な和音・楽器表現には不向き
  • リアルタイムDAWに比べると自由度が低い
  • 音の試聴に実行環境が必要(Webなどでは再生ライブラリも必要)

簡単なデモ(MML文字列)

t120 o5 l8
c e g > c
r4
< g e c

→ これは、Cメジャーコードをアルペジオ風に鳴らして、休符のあとに逆順で戻ってくるフレーズです。


試してみるには?

Web上でMMLを実行できるサービスもあります:

(注:リンクが開けない場合は「WebAudio MML」で検索してみてください)


まとめ

  • MML = 音楽のプログラミング言語
  • 文字だけでメロディ・テンポ・リズムが制御可能
  • ゲーム制作や8bit音楽が好きな人には特におすすめ!

なんとなく理解が深まりましたが、私の場合はまずは「Web Audio API」から入った方がよさそうだなと思いました。

参考:音を操るWeb技術 – Web Audio API入門
https://ics.media/entry/200427

By

Posted in

Reply

メールアドレスが公開されることはありません。 が付いている欄は必須項目です