}一行目はコメントです。ニ行目、totata.hをIncludeしているのでそこにtotata.hの内容が展開されます。Utaはtotata.h内で定義されているユーザー関数で、それに引数として文字列を渡しています。三行目の文字列の中に「タ-」があります。文字表記の巻別一覧には「ト」と「タ」の二種類しか書いてありませんが、MMLの中には「少し低いト(ト-)」「少し高いト(ト+)」「少し低いタ(タ-)」「少し高いタ(タ+)」が含まれます。これら四つの音はオプション扱いで、実際には少ししか使われていません。(参考:ト+-/タ+-を含むもの)このようにすべてがtotata.hをIncludeしていて、そこでは共通の属性とUta関数が記述されています。11:Mode0と同じでVelocityを変える。トを"n67"に置換(ノート番号67on)N.s({タ},{n69;});N.s({。U_50(){N.s({ト-},{n60;});N.s({ト+},{n62;});N.s({タ-},{n78;});N.s({タ+},{n80;});N.s({ト},{n61;});N.s({タ},{n79;});N.s({。Length//========================================関数Utaは変数U_Modeの値により実際に処理を行なう関数に分岐しています。今の場合(デフォルトの)50なので関数U_50に飛びます。.sは文字列置換の機能です。して渡された文字列はMIDIノート番号を表わす表記に置き換えられます。80これはノート番号81を440Hzにした10cent刻みのスケール用なので、十二平均律でそのまま再生すると変な音になります。十二平均律で鳴らす場合は変数U_Modeを0にします。すると関数U_00が呼ばれてノート番号の対応は次のようになります。+/-を含んでいてもMML側を直す必要はありません。69十二平均律ではノート番号67はGの音(ソ)、ノート番号69はAの音(ラ)です。(参考:十二平均律でのMIDIノート番号の対応表)[メモ]Uta{トタタ}はUta({トタタ})の省略形です。引数の変数のスコープはローカルではないようです。テキスト音楽「サクラ」の「MMLをMIDIファイルへ一括変換」機能を使うと1,100個のMMLファイルを一撃で1,100個のMIDIファイルに変換できます。使用したテキスト音楽「サクラ」のバージョンは2.37です。