OpenMPT manual — Effect Reference
The complete command table of openmpt for every format it writes — MOD, XM, S3M, IT and its own MPTM — with the effect-memory rules, the oscillator waveforms, the retrigger volume table and the "sound control" sub-commands, and with every non-original command marked as a ModPlug hack. Because OpenMPT documents each format's original semantics, this one page is also the best cross-reference between ProTracker/FastTracker letters and Scream Tracker/Impulse Tracker letters (effect-command-crosswalk).
Key claims#
- Notation: effect-column letters are uppercase with hexadecimal parameters, volume-column letters lowercase with decimal parameters.
xxis one 8-bit value,xytwo nibbles. MOD and XM share one command set, S3M/IT/MPTM another ("F75in MOD turns intoT75in S3M"). Out-of-range parameters (e.g.Cxxabove40h) are discouraged. - Frequency units: with Linear Frequency Slides on, a slide unit is 1/16 semitone and an extra-fine unit 1/64 (IT/MPTM); otherwise a unit is one period (period = 3,546,895 ÷ frequency; 3,579,364 in XM), so slides move less at low pitches and more at high ones. MOD and S3M never use linear slides.
- Waveforms for vibrato, tremolo and panbrello: S3M/IT/MPTM
0sine,1sawtooth,2square,3random (all retrigger); MOD/XM add4–7= the same waveforms continued across notes. Every waveform is 64 points long and the speed parameter is points per tick (speed 2 repeats after 32 ticks). Random is "not supported by ProTracker and FastTracker" — avoid it in MOD/XM. - Retrigger volume (
Rxyin XM,Qxyin S3M/IT):x=0last value (XM) / no change (S3M, IT),1–5−1, −2, −4, −8, −16,6×⅔,7×½,8none,9–D+1 … +16,E×1.5,F×2. - Sound control (
X9xin XM,S9xin S3M/IT):0/1surround off/on (onlyS91is native to IT),8/9reverb off/on (discouraged),A/Bcentre / quad surround,C/Dglobal / local filters (Z7F+Z80switch a global filter off),E/Fplay forward / backward. Outside MPTM these are ModPlug hacks. - MOD (effect column only):
0xyarpeggio,1xx/2xxportamento up/down,3xxtone portamento (memory),4xyvibrato (memory),5xy/6xyvolume slide + portamento/vibrato,7xytremolo,8xxpan00–FF,9xxoffset × 256,Axyvolume slide (up onx, down ony, every tick but the first),Bxxposition jump,Cxxvolume00–40,Dxxpattern break to row (00–3F),E0xAmiga LED filter (E00on,E01off — enabling "makes the sound output more muffled"),E1x/E2xfine portamento,E3xglissando ("not widely supported"),E4x/E7xvibrato/tremolo waveform,E5xfinetune (needs a note),E60/E6xpattern loop,E8xcoarse pan,E9xretrigger every x ticks,EAx/EBxfine volume,ECxnote cut,EDxnote delay,EExpattern delay,EFxinvert loop ("permanently modifies the module file"),Fxxspeed below20h, tempo from20h(avoidF00andF20). - XM = MOD plus:
Gxxglobal volume,Hxyglobal volume slide,Kxxkey off after xx ticks,Lxxenvelope position,Pxypanning slide,Rxymulti-retrigger ("very buggy"),Txytremor (on x+1, off y+1 ticks),X1x/X2xextra-fine portamento; hacks:EFxmacro select,X5xpanbrello waveform,X6xfine pattern delay,X9x,XAxhigh offset,Yxypanbrello,Zxx/\xxmacros. Volume column (decimal):axx/bxxfine volume up/down,cxx/dxxvolume slide,gxxtone portamento (16× coarser than3xx),hxxvibrato depth,lxx/rxxpan slide,pxxpan (4-bit, rounded to multiples of 4),uxxvibrato speed only,vxxvolume. Fasttracker II "was a rather buggy program", so enable the FT2 compatibility defaults. - S3M:
Axxspeed,Bxxjump,Cxxbreak (00–3F),Dxyvolume slide withDFy/DxFfine (x/y≠F) andD0F/DF0every-tick when Fast Volume Slides are on,Exx/Fxxportamento withEFx/FFxfine andEEx/FExextra fine,Gxxtone portamento,Hxyvibrato,Ixytremor,Jxyarpeggio,Kxy/Lxyvolume slide + vibrato/portamento,Oxxoffset,Qxyretrigger,Rxytremolo,S1xglissando,S2xfinetune (legacy),S3x/S4xwaveforms,S6xfine pattern delay,S8xpan0–F,SB0/SBxloop,SCxcut,SDxdelay,SExpattern delay,T0x/T1xtempo slide,Txxtempo ≥20h,Uxyfine vibrato,Vxxglobal volume00–40,Xxxpan00–80(XA4surround). Not original ST3:Mxx/Nxychannel volume,Pxypan slide,S5x,S9x,SAx,Wxy,Yxy,Zxx, volume-columnpxx. Memory is mostly global:I00,J00,K00… recall the last non-zero parameter of any command in the column; only vibrato and tone portamento have their own. OPL instruments ignoreOxx,S9x,SAx,XA4and pan only left/centre/right. - IT = S3M with own effect memory per command,
Mxx/Nxychannel volume,Pxypan slide,S5x,S70–S72past-note cut/off/fade,S73–S76NNA cut/continue/off/fade,S77–S7Cvolume/pan/pitch envelope off/on,S9x(onlyS91original),SAx,SFxmacro select,Vxxglobal volume00–80,Wxy,Xxxpan00–FF,Yxy,Zxx;SCx/SDxwith0act as1. Volume column:a0x/b0xfine,c0x/d0xslides,e0x/f0xportamento (4× coarser),g0xtone portamento (g01=G01,g02=G04,g03=G08,g04=G10,g05=G20,g06=G40,g07=G60,g08=G80,g09=GFF),h0xvibrato depth,pxxpan0–64,vxxvolume; all volume-column slides share one memory. - MPTM adds
S7D/S7Eforce pitch/filter envelope,:xynote delay + cut,#xxparameter extension (extendsBxx,Cxx,Oxxup to four rows,Txx,+xx),+xx/*xxfinetune (+80centre, ±1 semitone in sample mode), volume columno0xsample cue;o00+Oxxmakes the offset a percentage of the sample length (O80= second half).
Practical takeaways#
Learn one column's letters per format and the memory rules: in IT "00 repeats this command", in S3M "00 repeats the last command of any kind", in MOD 300/400 recall portamento/vibrato but A00 does nothing. Random LFO waveforms and every "ModPlug hack" break playback in the original trackers.
Notable quotes#
"As Fasttracker II was a rather buggy program, many effect commands may behave in a quirky way."
Pages touched#
openmpt · effect-command-crosswalk · chord-arpeggio · pitch-slide-and-portamento · vibrato · volume-slides · retrigger · sample-offset · stereo-panning · song-init-and-looping · filter-programming · mod-format · xm-format · s3m-format · it-format · impulse-tracker · fasttracker-2 · scream-tracker-3 · protracker