標準MIDIファイルの規格では、標準MIDIファイルに格納される情報のうち、MIDIメッセージとしてシンセサイザに送出されるもの以外をメタイベントと呼んでいます。これにはテンポ、拍子、調、タイトルなどが含まれます。この章ではこれらの指定方法を説明します。
テンポは 1分間あたりの4分音符数を $tempo(数) で指定します。
指定がないときのテンポは 125 になります。曲の途中でテンポを変更することも可能です。
$tempo(168) [__g+ _g+]***
$tempo(140) {[__c+ _c+] $tempo(168) _g+c+ec+_g+}*/6 {_c+_g+c+ec+_g+}*/6
リタルダンドなど徐々にテンポを変更したいときには第11章「連続的な変化」を見てください。
拍子は $timesig(分子,分母) で指定します。指定がなければ4/4拍子として扱われます。
$timesig(3,4) cde $timesig(5,8) {ccccc}/ $timesig(2+3+2,8) {ccccccc}/

上の最後の拍子指定は、$timesig(7,8) と書いても Pytakt内部での扱いは全く同じですが、拍子の成り立ちを示すために上のように書くこともできます(五線譜は参考で、この通りに変換されるとは限りません)。
弱起を持つ曲の場合、下の例のように最初の小節に短い長さの拍子を指定します。標準MIDIファイルには弱起に関する規定が無いため、このような拍子指定を含むMIDIファイルの扱いは音楽ソフトウェアによって異なりますが、少なくともPytaktやmusescoreでは、最初の小節を弱起による不完全小節だと自動認識します。
$timesig(1,4) {c.c/}/ $timesig(3,4) dcf e~

$timesig(3,8) L8 _bcd $timesig(4,4) e~~deage dc_a~r

調の情報を曲のデータに含めるには、下のように $keysig を使います。第2章で説明した自動的にシャープ、フラットをつける指定とは独立していますので、両方の機能を利用するのであれば $keysig とkey= を両方とも指定してください。
$keysig("D major") df+af+
$keysig("C# minor") c+eg+e
$keysig("Bb minor") _b-d-fd-

その他、次に示すような情報を曲データに含めることができます。
| MML | 意味 |
|---|---|
$title("My First Song") |
曲のタイトル |
$title("Composer: Gombei Nanashi") |
作曲者等 (*1) |
$copyright("Copyright (C) 2103 by X. Yzwjwps") |
著作権表示 |
$trackname("Piano RH") |
トラック名 |
$instname("MT-32 Fantasy") |
楽器名 (あまり使用されない) |
$lyric("おぉ!") |
歌詞 |
$marker("Aメロ") |
位置マーカー |
*1 “Composer: ” で始まるテキスト・メタイベントを作曲者等と解釈するのはPytakt独自のルールです。