楽譜を書くプログラマーたち
今日の状況
お兄ちゃんがチップチューンの動画を見ていた。画面にはアルファベットと数字の羅列が流れていて、それが音楽になっていた。「これ、MMLっていうんだよ」と教えてくれた。MML。聞いたことはあるけど、ちゃんとわかってなかった。
登場人物
- ねつき: バーチャル妖狐。アルファベットが音楽になる仕組みが気になって仕方ない
- ミコ: 猫族のメイド。楽譜なら読めるにゃ。プログラムは読めないにゃ
ミコちゃん、MMLって知ってる?
…知らないにゃ
Music Macro Languageの略なの。テキストで音楽を書く言語
たとえば CDEFGAB って書くと、ド・レ・ミ・ファ・ソ・ラ・シって鳴るの
…ドレミをアルファベットで書くだけにゃ?
基本はそう。C4 で四分音符のド、C8 で八分音符のド。O5 でオクターブを指定して、T120 でテンポを決める。全部テキスト
…五線譜の代わりに文字列にゃ
そう! まさにそれなの
1978年のキーボード
で、調べてみたの。MMLっていつからあるんだろうって
最初に「テキストで音楽を書く」仕組みが入ったのは、1978年のSHARP MZ-80Kなの。日本のパソコン。BASICっていうプログラミング言語に MUSIC と TEMPO と BEEP っていう命令があった
…1978年にゃ。48年前にゃ
そのあとNECのPC-8801に載ったN88-BASICとか、MSXとか、いろんなパソコンのBASICに PLAY 文として入っていったの。PLAY "CDEFGAB" って書くと音が鳴る
当時のパソコンって、画面に文字を表示するか、ビープ音を鳴らすか、くらいしかできなかったの。その「ビープ音を鳴らす」部分を音楽的に制御するために生まれたのがMML
…つまり、楽器がないから文字で音楽を書いたにゃ?
そうなの! キーボードしかなかったから、キーボードで音楽を書く方法を作ったの。鍵盤のキーボードじゃなくて、タイプするほうの
…道具が制約を決めて、制約が表現を決めるにゃ
MIDIは手紙じゃなくて電話線
で、MIDIの話なの。MMLと名前が似てるからよく混同されるんだけど、全然違うものなの
…MIDIにゃ。聞いたことはあるにゃ
MIDI——Musical Instrument Digital Interface。1983年に生まれた規格なの。Rolandの梯郁太郎さんとSequential Circuitsのデイヴ・スミスが中心になって作った
当時、シンセサイザーってメーカーごとに全部バラバラだったの。Rolandの機材とYAMAHAの機材を繋いでも、お互いの言葉が通じなかった
…方言にゃ
うん、方言どころか別言語なの。だから「楽器同士が話すための共通語を作ろう」ってなった。1983年のNAMMショーで、Prophet 600とJupiter-6——別のメーカーのシンセサイザー同士がMIDIケーブル1本で繋がって、一緒に演奏したの。初めて
…別メーカーの楽器が会話したにゃ
そう。MIDIは「今、ドの鍵盤が押された」「強さは80」「離された」っていう操作の情報をリアルタイムでやり取りする仕組みなの。音そのものじゃなくて、動作の指示
テキストエディタとケーブル
…待つにゃ。整理させるにゃ
うん
MMLは「テキストで音楽を書く言語」にゃ。MIDIは「楽器同士の通信規格」にゃ
そう! そこが核心なの
…料理に例えるにゃ。MMLはレシピにゃ。「にんにくを刻んで、オリーブオイルで炒めて」と文字で書いてあるにゃ
うんうん
MIDIは厨房の連絡網にゃ。「今、3番コンロに火をつけた」「フライパンの温度が180度」という情報が、厨房内のモニターにリアルタイムで流れるにゃ
わぁ〜、その例えすごくわかりやすいの(゚∀゚)
レシピを見て人間が料理するにゃ。連絡網は厨房の機材同士が勝手にやるにゃ。読む主体が違うにゃ
MMLは人間が読み書きするためのもので、MIDIは機械が読み書きするためのもの。だからMMLはテキストファイルで、MIDIはバイナリデータなの
…それなのに混同されるにゃ?
だって両方とも「音そのものじゃなくて、音の指示を記録する」って点では同じだから。最終的にスピーカーから出てくる音はどっちも同じになりうるの。過程が違うだけ
2ちゃんねるで生まれた音楽
で、ここからがねつきが一番好きな話なの
…にゃ
MMLって、BASICが廃れた1990年代にいったん忘れられかけたの。WindowsになってMIDIが主流になって、GUIの作曲ソフトが出てきて。テキストで音楽を書く必要がなくなった
でも2001年に、日本の2ちゃんねるで「mck」っていうツールが生まれたの。Music Creation Kit。ファミコンの音源チップをMMLで制御するコンパイラ
…ファミコンにゃ? ゲーム機にゃ?
そう。ファミコンって矩形波2つ、三角波1つ、ノイズ1つ、DPCMサンプル1つ——たった5チャンネルしか音が出せないの。その制約の中でどこまで音楽を作れるか、っていう遊びが始まった
…5つしかないにゃ。オーケストラなら100以上あるにゃ
だからこそ面白いの。1つのチャンネルでメロディとベースを高速に切り替えたり、ノイズでドラムとハイハットを同時に表現する技とか。制約があるから技術が生まれた
…
制限された食材で、どれだけ豊かな味を出せるか…にゃ
4つの材料のペペロンチーノみたいでしょ
…ペペロンチーノと一緒にするにゃ
mckで作られた音楽はNSFっていうファイル形式で出力されて、実際のファミコンで再生できたの。2ちゃんねるのDTM板で共有されて、テキストだけのやり取りから音楽が生まれていった
テキストで書かれた音楽を、テキストだけの掲示板で共有する。考えてみたら、すごく自然な組み合わせだったの
書ける人と弾ける人
…ねつきちゃん
うん
一つ聞くにゃ。MMLを書く人は、楽器を弾けるにゃ?
…弾けない人も多いと思うの
…にゃ
MMLって、楽器の演奏技術がなくても音楽を作れるの。C4D4E4 って打てば音が鳴る。指が動かなくても、コードを知らなくても。テキストエディタさえあれば
…MIDIはどうにゃ
MIDIは元が「楽器を繋ぐ規格」だから、基本的には何かしら楽器を弾いて入力するの。MIDIキーボードとか。もちろん画面上でマウスでポチポチ置くこともできるけど、発想の出発点が「演奏」なの
…MMLの出発点は「記述」にゃ
そうなの。演奏する人と、書く人。音楽への入口が違う
…レシピを書ける人が、必ずしも包丁を上手く使えるわけではないにゃ。でもレシピがあれば、料理は完成するにゃ
…うん。プログラマーが音楽を作れる道を開いたのがMMLなの。楽器の代わりにキーボードで。五線譜の代わりにテキストエディタで
まとめ
…ねつきちゃん
うん
MMLは1978年から48年経ってるにゃ。MIDIは1983年から43年にゃ。どちらも古い技術にゃ。なぜ今も使われてるにゃ
…なんでだろ
MIDIは、仕様がシンプルで拡張しやすかったからだと思うの。2020年にMIDI 2.0が出たけど、1.0との後方互換がある。43年前の設計が今でも使えてるのは、最初の設計が良かったから
…MMLはにゃ?
MMLは…たぶん、テキストで音楽を書きたい人がいなくならないからだと思うの
…
GUIの作曲ソフトがどんなに進化しても、テキストエディタを開いて CDEFGAB って打ちたい人がいるの。コードを書くみたいに音楽を書きたい人が
1978年はキーボードしかなかったから文字で書いた。2026年は何でもあるのに、それでも文字で書く人がいる。理由が変わったの。必要だからじゃなくて、そう書きたいから
…手でこねたパンにゃ
え(゚∀゚)
機械でこねたほうが均一で効率的にゃ。でも手でこねるのは、生地の温度と水分を指で感じて、その日の湿度に合わせて力加減を変えるからにゃ
テキストで音を一つずつ書くのは、音の長さと高さを一つずつ自分で決めてるということにゃ。便利さを捨てて、手触りを選んでるにゃ
…
ミコちゃんがパンをこねる理由と、プログラマーがMMLを書く理由が同じだったの
…一緒にするにゃ
2回目のそれ
関連リンク: