OpenMPT manual — Compatible Playback
Why openmpt has a "compatible playback" mode and a list of every quirk it can emulate, format by format — in effect a catalogue of how impulse-tracker, fasttracker-2, scream-tracker-3 and protracker really behave, and of the traps a composer inherits with each format.
Key claims#
- The rationale: "playback accuracy has always been a problem with tracked music"; a typo in an original tracker becomes a behaviour every player must copy. OpenMPT once played XM/IT differently from their trackers; the compatibility flags let old OpenMPT songs keep sounding as they did while new ones match the originals. For IT and XM files meant to be shared, "Set Defaults" in Song Properties and take Impulse Tracker / Fasttracker 2 (or XMPlay) as the reference; MPTM needs no settings.
- Common settings include: regular portamento at speed 1 is not supposed to move (only fine/extra-fine do); frequencies computed in Hz rather than periods; tempo clamped to 32–255; note delays next to a row delay repeat on every repetition; ping-pong loop-end rounding (short bidi loops used to detune).
- IT ("relatively bug-free and logical"): instrument number without note retriggers envelopes;
Gxxshares memory withExx/Fxx; IT arpeggio algorithm; out-of-range delays queue the instrument; nested pattern loops; ping-pong direction not reset by instrument numbers;SCxreally stops the sample; envelope carry rules; portamento does nothing without a previous note; volume-column slides share memory with the effect column and fine slides run only on the first tick; sample swap during portamento restarts the new sample; "Do not retrigger already stopped channels" — so a very short hi-hat that must be retriggered needs "a silent loop at the end"; the nasty Envelope Carry + Compatible Gxx quirk that can pick up "the envelope position of a completely unrelated note … even from another channel". - XM: Fasttracker 2 has "a very quirky playback routine which makes even common pattern effects (and combinations thereof) behave totally unpredictable" — use the defaults; MilkyTracker and XMPlay emulate them. Quirks: smooth volume ramping (muffles drum attacks), FT2 arpeggio plays backwards,
Rxxerratic,uxxsets vibrato speed without vibrating, no portamento-ed note without a playing note,Kxxkey-off oddities, finer volume-column pan slides, offset past the sample end stops the note, onlyX1x/X2xwork,E60makes the next pattern start on the loop row (putD00at the end), tremorTxxand note delay quirks, broken period handling ("sliding a note too deep … will wrap around at some point and become a very high note"), finetune audible only in multiples of 8, instruments without a volume envelope are muted instantly on note-off, the buggy ramp-down tremolo (E71) "even influenced by vibrato",1xx/2xxwith separate memories, tone portamento direction quirk after reaching the target from below. - S3M (settings guessed on load): effects on muted channels are ignored completely; "most effects share the same memory" except vibrato and tone portamento; tone portamento + instrument number applies the new sample's volume but not the sample (GUS driver) — the Sound Blaster driver instead swaps samples on the fly;
U1FthenH00plays a normal vibrato; portamento after arpeggio continues from the last arpeggiated note; notes cannot be retriggered after a cut; lower frequency limit; OPL notes ignore tone portamento;Kxy/Lxycannot fine-slide. - MOD: VBlank timing (
F20+ sets speed, not tempo); ProTracker one-shot loops — a loop starting at 0 plays the whole sample once, then only the loop; panning commands ignored; sample swapping by a lone instrument number "as soon as the currently played sample reaches its loop end"; the tremolo ramp-down bug; out-of-range note delay played on the next row; tempo changes handled on the second tick.
Practical takeaways#
Sharing an XM or IT means composing against the original tracker's bugs, not against OpenMPT's defaults; the list doubles as a checklist of effects to avoid in each format (random LFOs, E60 loops in XM, F20, panning in Amiga MODs).
Notable quotes#
"Fasttracker 2 has a very quirky playback routine which makes even common pattern effects (and combinations thereof) behave totally unpredictable."
Pages touched#
openmpt · fasttracker-2 · impulse-tracker · scream-tracker-3 · protracker · xm-format · s3m-format · mod-format · sample-looping · retrigger · pitch-slide-and-portamento · song-init-and-looping · vibrato