Tempo and note length control

Here are various note length control commands.

Tempo

There're two commands to adjust tempo : the t<num> command and @t<num>,<num> command.
Note that when you adjust the tempo, it does it only on the track where you use the command, that is, you can possibly use different tempi in different tracks.
Therefore, if you want several tracks to use the same tempo (usually the case) then you can use the “pluralization” feature of MML:

ABCDE t140   ; all 2A03 tracks at 140 BPM

...       ; go on with the tune

Conventional tempo : t<num>

<num> (1 — INT_MAX)
Tempo in Beats per Minute (BPM), assuming a 4/4 score.

Sets the tempo of the current track. This kind of notation is familiar to musicians.
Pratical values of tempo are from 20 BPM (slow) to 200 BPM (very fast), but you can use any values here.
If you don't use that command in a track, a default of 120 BPM is assumed.

ABCDE t120    ; standard tempo

Direct notation tempo : @t<len>,<num>

<len> (1 — INT_MAX)
Standard note length.

<num> (1 — INT_MAX)
Number of frames.

Roughly speaking, you tell that you want a <len> note to last <num> frames. So @t4,12 means “I want a quarter note to last 12 frames”. An eighth note will then last 6 frames, and an half will last 24 frames, etc.

ABCDE @t8,8    ; an 8th note lasts 8 frames (very fast, for NTSC it corresponds to 225 BPM)

Default length control

set note default length : l<len>

<len> (1 — INT_MAX)
Standard note length.

Sets the default note length on a track. Everytime you leave out the <len> argument of a note, rest, key-off, wait, or any direct notation (except “data thru”) then ppmckc uses the default note length of that track. A default of 4 (a quarter) is assumed if you don't use that command.

A l8 c e g c4
; is the same as
A c8 e8 g8 c4
; it can save a bit of typing.
Unless otherwise stated, the content of this page is licensed under GNU Free Documentation License.