Music Macro Language

MMLは文字列で音楽を記述する言語として、BASIC言語などでよく利用されてきました。

プログラミングの魅力


手軽に自動演奏できるので、当時PCと音楽の接点としてカルチャーショックを受けた記憶があります。
データとしての音楽表記に創造性がかきたてられました。
オクターブや音量、音の長さなど一度定義した状態を次の変更まで継承するところなどは、データ圧縮の手法にも見えます。

下記サイトではWebで手軽にMMLが試すことができます。

https://github.com/cat2151/MML-editor

http://cat2151.github.io/MML-editor/#?p=uDritZeglkEVuAtkrisSritcsMrgtfsKrgtXXWsD2CtVVUUxLItUXisTtMefsNrgtUsQWtSsQtSsMUtT2ItRsQtRsMtcsQtXRS2N2ptUiU2Z2B2L2X2BtX2I2RxPE21riuF

上記サンプルは「ちょうちょ」の曲を2パートでうちこみました。音階はcdefgab、休符はr、lは長さ、oはオクターブです。
MMLにはいろいろなものがあり、高度なものになると音色などもつくれたりします。(このサイトでもつくれます)

音楽に限らず、このようなデータによる表現方法は他の分野にも応用できるのではないでしょうか。
また文字列ということで、プログラミングの基本となる文字列の結合や置換といった編集処理と親和性が高く、さらに複雑な処理も可能です。

一見地味ですが、いろいろと学べます!