Homeentitytool

OpenMPT

"A third-generation tracker" for Windows (runs in Wine on macOS and Linux): the open-source continuation of olivier-lapicque's ModPlug Tracker, which grew out of his mid-1990s ModPlugin browser plugin and went open source in 2004. It edits and writes MOD, S3M, XM, IT and its own MPTM, imports some fifty more formats, hosts VST/DirectX plugins and MIDI, exports WAV/FLAC/MP3, and emulates the playback quirks of protracker, fasttracker-2, scream-tracker-3 and impulse-tracker on request (sources: s-openmpt-manual-about-openmpt, s-openmpt-manual-module-formats, s-openmpt-manual-compatible-playback). Its clipboard text format (header ModPlug Tracker IT, 11-character cells, middle C = C-5, === note off) is shared with schism-tracker and duet (sources: s-037-lab, s-duet-readme); OpenMPT.org also hosts the traxweekly archive (source: s-traxweekly-archive). The manual is a wiki (CC BY-SA); eight of its chapters are summarised here.

Versions#

ModPlug Tracker alpha 5 (1998-01-13, influenced by FT 2.08 and IT 2.14p3) … 1.16 (2001-11-21, ASIO); ModPlug "Wild" 2.00 (2004-02-28, VST, 255 channels); OpenMPT 1.17RC2 (2005-08-20); 1.17.02.54 (2009, Saga Musix); 1.19 (2011) per-pattern time signatures; 1.20 (2012) rewritten resonant filter, sample tuner; 1.22 (2013) IT-compressed samples, clipboard manager; 1.23 (2014) 64-bit and plugin bridge; 1.25 (2015) decimal tempos and tempo swing; 1.26 (2016) fine-grained compatibility settings, MO3; 1.27 (2017) Amiga BLEP resampler, SFZ; 1.28 (2018-12-23) AdLib instruments in S3M and MPTM (source: s-tracker-history-notes).

Which format#

mod-format (Amiga: 4 channels, PT quirks, C-4B-6; PC: 8 channels), s3m-format (sample tuning, volume column, OPL FM instruments), xm-format (instruments with envelopes, instrument-based panning), it-format (NNAs, filters, per-note sample transposition, channel-based panning), MPTM (IT plus tunings, parameter control, sequences, tempo swing, fractional tempo, OPL3 with envelopes). Rule from the manual: MPTM for private work, IT for sharing, MOD/XM/S3M only when the target demands them; re-open and listen to a finished MOD, because the file cannot store which quirks it needs (source: s-openmpt-manual-module-formats).

Cheat sheet#

Effect letters are uppercase + hex in the effect column, lowercase + decimal in the volume column. MOD/XM letters and S3M/IT letters are different alphabets for the same jobs — see effect-command-crosswalk (source: s-openmpt-manual-effect-reference).

IT / MPTM effect column#

cmdeffectcmdeffect
Axxspeed (ticks per row)Qxyretrigger every y ticks, volume change x (see table)
Bxxjump to order xxRxytremolo speed x depth y
Cxxbreak to row xx of the next patternS1xglissando off/on ("quirky")
Dxyvolume slide down y / up x; DFy/DxF fine; D0F every tickS2xMOD finetune (legacy)
Exx/Fxxportamento down/up; EFx/FFx fine; EEx/FEx extra fineS3x S4x S5xvibrato / tremolo / panbrello waveform 0 sine, 1 saw, 2 square, 3 random
Gxxtone portamento (linear: xx/16 semitone per tick)S6xextend the row by x ticks
Hxy / Uxyvibrato / fine vibrato (shared memory)S70 S71 S72past notes: cut / off / fade
Ixytremor on x off y ticksS73S76NNA of this note: cut / continue / off / fade
Jxyarpeggio +x, +yS77S7Cvolume / pan / pitch envelope off, on (MPTM S7D/S7E: force pitch / filter)
Kxy / Lxyvolume slide + vibrato / + tone portamentoS8xcoarse pan 0–F
Mxx / Nxychannel volume / slideS91surround (other S9x: filters S9C global / S9D local, play direction S9E/S9F — MPTM)
Oxxsample offset × 256 (SAx adds x × 65536)SB0 / SBxloop start / loop x times
Pxypan slide right y / left x; PFy/PxF fineSCx / SDxnote cut / note delay after x ticks (0 = 1)
Txxtempo ≥ 20; T0x/T1x slide down/up per tickSExrepeat the row x times
Vxx / Wxyglobal volume 00–80 / slideSFxselect parametered macro
Xxxpan 00–FFYxypanbrello
Zxx / \xxMIDI macro / smoothed (\ is a hack)MPTM: :xydelay x ticks then cut after y; #xx extends the previous B/C/O/T/+; +xx/*xx finetune

Retrigger x: 15 −1, −2, −4, −8, −16 · 6 ×⅔ · 7 ×½ · 9D +1 … +16 · E ×1.5 · F ×2. Memory: 00 recalls the same command's last value in IT; in S3M most commands share one memory.

Volume column (decimal)#

IT/MPTM: vxx volume, pxx pan 0–64, a0x/b0x fine volume up/down, c0x/d0x slide up/down, e0x/f0x portamento down/up (×4), g0x tone portamento (g01=G01, g02=G04, g03=G08, g04=G10, g05=G20, g06=G40, g07=G60, g08=G80, g09=GFF), h0x vibrato depth, MPTM o0x cue point. XM: vxx, pxx (16 positions), axx/bxx fine, cxx/dxx slide, gxx tone portamento (= 3xx × 16), hxx vibrato depth, uxx vibrato speed only, lxx/rxx pan slide. MOD has no volume column.

Song properties and tempo#

Linear frequency slides (1/16 semitone units; off in MOD/S3M) · Fast Volume Slides (S3M 3.00) · Extended Filter Range (130 Hz–5 kHz → 10 kHz) · IT Old Effects · Compatible Gxx (own portamento memory, envelopes reset) · ProTracker 1/2 mode and Amiga Frequency Limits for MOD · mix levels (Compatible for shared IT/XM/MOD/S3M, identical to Schism's; 1.17RC3 with plugins). Tempo modes: Classic — rows per minute = tempo × 24 ÷ speed, tick = 2.5 s ÷ tempo; Alternative — tempo in ticks per second; Modern (MPTM) — tempo = real BPM, rows per minute = tempo × rows per beat, speed no longer changes the pace; Tempo Swing per beat row, globally or per pattern (source: s-openmpt-manual-song-properties).

Instruments and samples#

Instruments: sample map (drum kits: map every note to C-5), global volume, fade out (32768 ÷ value ticks), pan, pitch/pan separation, filter cutoff/resonance (max cutoff + min resonance = off), volume/pan/cutoff/resonance swing, NNA cut/continue/off/fade with duplicate checks, envelopes in ticks with loop, sustain loop, carry and release node, plugin MIDI channel and pitch-bend range (source: s-openmpt-manual-instruments). Samples: C-5 frequency (IT/S3M) or finetune (MOD 1/8, XM 1/128 semitone), loops off/on/bidi plus sustain loops, auto-vibrato (depth in 1/64 semitone, sweep, rate 256 ÷ rate ticks), draw mode and resize for chip waves, crossfade, trim, time-stretch, OPL editor for S3M/MPTM (opl-fm-instruments) (source: s-openmpt-manual-samples).

Filter and macros#

Z00Z7F cutoff, Z80Z8F resonance (defaults); macro messages F0F000xx cutoff, F0F001xx resonance, F0F00200 lowpass, F0F00210 highpass, F0F003xx plugin dry/wet; SFx switches the channel's parametered macro; S9C/S9D global/local filter mode (filter-programming; source: s-openmpt-manual-zxx-macros).

The clipboard text format#

The pattern-clipboard text, pinned precisely by duet's docs (source: s-duet-docs-clipboard):

  • Header line: any line whose last three characters are IT — OpenMPT writes ModPlug Tracker IT (two spaces before IT); schism-tracker writes Pasted Pattern - IT. S3M and MPT headers read the same way; XM/MOD blocks read too, but their effect letters are another alphabet.
  • One line per row; each channel is | plus exactly 11 characters in four fields: NOTE(3) — C-5/C#5 (sharps only; Db5 reads as C#5), ... empty, === off, ^^^ cut, ~~~ fade; INS(2) — decimal 0199; VOL(3) — a letter and two decimal digits (v64, p32, a/b fine volume, c/d slide, e/f portamento, g tone portamento, h vibrato); FX(3) — the effect letter AZ and two hex digits.
  • Rows end in \r\n; spaces read like dots. A field the mark did not reach is spelled as spaces (a volume-only mark copies | v40 ) and honoured on paste. OpenMPT and Schism are strict about the widths; duet forgives short cells, ragged rows and lowercase.

Compatible playback#

For IT and XM meant to be shared, press Set Defaults and judge by Impulse Tracker / Fasttracker 2 (or XMPlay); Fasttracker 2's routine is "very quirky", Impulse Tracker's "relatively bug-free and logical". The quirk list — FT2 arpeggios backwards, E60 loops, period wrap-around, IT's silent-loop rule for retriggered hi-hats, ST3's global effect memory, ProTracker one-shot loops and VBlank timing — is on the tool and format pages (source: s-openmpt-manual-compatible-playback).

ModPlug in the scene's sources (1998)#

The one contemporary mention of ModPlug in the traxweekly archive: in February 1998 mental-floss, who played tracked music live and found that "tracking programs don't cue well", had asked ModPlug's author (olivierl@jps.net — olivier-lapicque) for "Denon-CD player style mixing controls", cueing and mixing in a player program; the answer was that "the tracker program is a priority" (source: s-tw119-interview-mental-floss; see live-tracking). ModPlug Tracker alpha 5 had appeared on 1998-01-13 (source: s-tracker-history-notes).

impulse-tracker · schism-tracker · fasttracker-2 · scream-tracker-3 · protracker · it-format · xm-format · s3m-format · mod-format · effect-command-crosswalk · tracker · duet · 037-lab · traxweekly · olivier-lapicque · live-tracking

Sources#

s-openmpt-manual-about-openmpt · s-openmpt-manual-module-formats · s-openmpt-manual-effect-reference · s-openmpt-manual-compatible-playback · s-openmpt-manual-zxx-macros · s-openmpt-manual-instruments · s-openmpt-manual-samples · s-openmpt-manual-song-properties · s-tracker-history-notes · s-schism-tracker-wiki · s-037-lab · s-traxweekly-archive · s-duet-readme · s-tw119-interview-mental-floss · s-duet-docs-clipboard

source file wiki/entities/openmpt.md · graph