Scream Tracker 3 cheat sheet
From Scream Tracker 3 · print · built 2026-08-31
Reference
Cheat sheet#
Screens and global keys#
F1 orders and global variables · F2 pattern editor · F3 instrument list · F4 instrument library · F5 info screen (and play) · Shift+F5 play song, F6 play pattern, Shift+F6 from the current order, F7 from the mark (Shift+F7 sets it), F8 stop · Shift+F8 reload samples into the GUS · F9 status, Shift+F9 setup (colours, directories, chord set) · F10 quick help · Ctrl+R load, Ctrl+W/Ctrl+S save as / quick save, Ctrl+N new, Ctrl+P song length, Ctrl+D DOS shell, Ctrl+Q quit (source: s-st3-manual).
The row#
C#4 04 25 H81 = note + octave (0–7), instrument (00–99 decimal), volume (0–64 decimal), effect (A–Z), infobyte (hex). Middle C is C-4; a sample's C4Spd is the frequency it plays at C-4 (8363 = "no finetune"; +/- octave, * reset, / set by note). Patterns: 32 columns × 64 rows, up to 100 patterns, 255 orders. Effect memory: 00 in D E F G H I J K L Q repeats the last infobyte — and in ST3 the memory is largely shared between commands, unlike IT (sources: s-st3-manual, s-openmpt-manual-compatible-playback).
Effects#
| cmd | effect | cmd | effect |
|---|---|---|---|
Axx | speed 1–FF (default 6) | Oxy | sample offset × 256, loop-aware (hi-hat from the tail of a snare) |
Bxx | jump to order xx (hex) | Qxy | retrig every y frames, volume change x: 1–5 −1/−2/−4/−8/−16, 6 ×⅔, 7 ×½, 9–D +1…+16, E ×3/2, F ×2 (Q72 at speed 8: 64, 32, 16, 8) |
Cxx | break to row xx (decimal) | Rxy | tremolo |
D0y / Dx0 | volume slide down / up, (speed−1) × value per row (D04 at speed 8 = −28) | S1x | glissando (semitone portamento) on/off |
DFy / DxF | fine volume down / up, once per row | S2x | ProTracker finetune → C4Spd 7895…8757 Hz (8 = 8363) |
Exx / Fxx | pitch down / up (00–DF) per frame | S3x / S4x | vibrato / tremolo waveform 0 sine, 1 ramp down, 2 square, 3 random |
EFx / FFx | fine slide (once per row) | S8x | pan 0–F (ST 3.2; GUS only) |
EEx / FEx | extra fine slide (four times finer) | SB0 / SBx | loop point / loop x times (never across patterns) |
Gxx | tone portamento | SCx / SDx | note cut / note delay after x frames |
Hxy / Uxy | vibrato / fine vibrato (4× finer, for high notes) | SEx | repeat the row x times (effects still applied) |
Ixy | tremor on x / off y frames | Txx | tempo 20–FF (default 7D = 125 BPM) |
Jxy | arpeggio +x, +y semitones "50 times per second" — J37 C minor | Vxx | global volume 0–40 |
Kxy / Lxy | H00 + Dxy / G00 + Dxy (no fine slides) | not implemented | S0x Amiga filter, SAx old stereo control, SFx funk repeat |
(source: s-st3-manual; OpenMPT adds Mxx, Nxy, Pxy, S5x, S9x, SAx, Wxy, Yxy, Zxx and volume-column pxx to S3M — none are original ST3 commands, source: s-openmpt-manual-effect-reference)
Pattern editor#
Two piano rows, . clears · * / base octave · , toggles the edit mask (whether volume/effect follow a new note) · Alt+1…8 skip value · chord mode Alt+Z…M (preset chords spread over channels, : exits) · Shift+Q…L enter instrument 1–10 with the current note (drum lines) · Alt+N polychannel · Ctrl+1…9 / Ctrl+B rows between bars (3/4: break at row 47) · < > instrument, + - pattern (Shift ×4), { } speed · 1 AdLib note-off, 4/8 play note/row · Ctrl+Backspace undo, Ctrl+Enter store undo · Alt+T/Alt+R pin channels. Blocks: Alt+D quick-select 16/32/64 rows, Alt+B/Alt+E begin/end, Alt+L channel (×2 pattern), Alt+U unmark, Alt+C copy, Alt+P paste/overwrite, Alt+M mix (echoes), Alt+H overwrite keeping volumes, Alt+Y swap, Alt+Z erase (×2), Alt+X erase effects (×2), Alt+Q/Alt+A transpose ±1, Alt+V/Alt+W set volumes, Alt+S set sample, Alt+I/Alt+J volumes × 3/2 or 2/3, Alt+F/Alt+G double/halve, Alt+K slide volumes (source: s-st3-manual).
Instruments and global variables#
Instrument list: Tab subwindow, Alt+D delete, Alt+O/Alt+W save with/without header, Alt+M maximise, Alt+X/Alt+S exchange/swap, Alt+A Amiga/PC sample flip, Alt+V view as text, Enter library; samples ≤ 64000 bytes, 8-bit; A on the type column makes an AdLib instrument (opl-fm-instruments). F1 variables: tempo, speed, global volume, master volume (SB), volume-0 optimisation, Force Amiga limits (octaves 3–5), Mod Edit Mode (red = not MOD-safe), Fast volslides (ST 3.0 behaviour, auto for old files), Ultraclick removal, stereo; channels L1–L8, R1–R8, A1–A9 with default pans (source: s-st3-manual).
Saving MOD#
Three octaves (C-3–B-5), no volume column, finetune approximated from C4Spd, 128 orders, 64 patterns (100 = extended MOD), 31 instruments, no extra-fine slides / fine vibrato / tremor, speeds ≥ 20h, retrig loses its volume slide (source: s-st3-manual).
Techniques
Chord arpeggio (the 0 3 7 trick) › Impulse Tracker / Scream Tracker 3 #
Jxy cycles base, +x, +y once per tick — the IT manual calls it "an effect similar to old C-64 chords" (source: s-it-manual): the Modsquad's chip lead has a chord channel of J47 (major) and J37 (minor) at volume 64 with J00 to stop, and their rules are "chords in one channel — never two — and no percussion inside them" (source: s-tw077-chip-off-the-block). Pinion admits that for "really neato chords" Jxx is "a bit… shitty sounding" in a sample tracker — but on a looped noise sample with a long falling pitch envelope a column of Jxx makes analog-style sweeps (instrument-envelopes; source: s-tw081-it-tip-of-the-week). Trixter's reminder that "a chord isn't a thing, it's any combination of notes" applies: an arp is a chord spread in time (source: s-tw039-chord-theory-debate).
MOD and XM use 0xy for the same command: ProTracker's help calls it "used to simulate chords … noisy and grainy on most samples, but ok on monotone ones" — C-3 00047 C major, 037 C minor — and FT2 plays the note on tick 1, +x on tick 2, +y on tick 3 (sources: s-protracker-23d-help, s-ft2-manual). ST3's manual says the same in its own letters: Jxy changes the pitch "50 times per second … best to use it with clear or tight-looped (chip) instruments. Old users of the Commodore 64 remember this effect which was used to make chords" (J37 = C minor) (source: s-st3-manual). Two quirks players emulate: Fasttracker 2's arpeggio runs backwards (the second parameter's note comes first), and in ProTracker mode arpeggios that leave the Amiga range wrap around an octave (sources: s-openmpt-manual-compatible-playback, s-openmpt-manual-song-properties).
One command-memory trap when porting a part between formats: in S3M the effect memory is mostly global to the column, so a bare J00 recalls the last non-zero parameter of any command in that column, not just the last arpeggio — where MOD's 0xy has no memory at all and IT keeps per-command memory. Only vibrato and tone portamento have their own memory in S3M (source: s-openmpt-manual-effect-reference; effect-command-crosswalk).
Lead articulation (velocity, legato, late vibrato, drop-off) › Scream Tracker 3 / Impulse Tracker #
Necros's worked example (E minor run; ST3 letters, identical in IT/OpenMPT; source: s-tw012-advanced-tracking-tips):
- Velocity in the volume column — ramp a run up to its held peak and back:
E-4 40 · G-4 40 · A-4 50 · B-4 60 · E-5 64 … G-5 60 · F#5 50 · B-4 40 · C-5 40 → 50 → 64 · A-4 50. Multiples of 10 are quick to type; the volume column, notD20, so the effect column stays free. - Legato with tone portamento so the sample is not restarted:
GF0for any jump over three semitones ("practically instant"),G20/G06for a slow slide over a small step, and aGF0on the row after a slow slide to guarantee it lands, "since some players tend to play Gxx/3xx effects too slowly" (pitch-slide-and-portamento). - Late vibrato on the held notes only:
HA1a row or two after the note, thenHA2, never the main event except in hard up-tempo tunes; fade it back or fade the note (vibrato). - Echo track: copy the lead column,
ALT-Jits volumes down to a third at most (22 from 64), shift it 2–3 rows at speed 6 (4–6 at speed 3), pan it the same distance on the other side of the lead (fake-echo, stereo-panning). - Drop-off ("made infamous by Purple Motion and other siner junkies"): slide up into the top note, sustain it with vibrato, and at the very end fall away with an accelerating down-slide and falling volume:
| row | note / vol / cmd | what happens |
|---|---|---|
| 0 | B-4 01 50 | approach note |
| 1 | C-5 01 64 G05 | the big note, sliding up into it |
| 2 | GF0 | make sure it arrives |
| 3 | HA1 | vibrato in |
| 4 | HA2 | deeper |
| 5 | H00 | continue |
| 6 | HA1 | lessen |
| 7 | 50 E04 | slow fall starts |
| 8 | 30 E06 | faster, quieter |
| 9 | 10 E10 | fast fall, nearly silent |
| A | 00 | kill |
Catspaw's version of the same shape mixes volume-column values with K/H/E commands (C#6 02 33 UC3 → K20 → 44 H82 → K01 → 32 H71 → 20 E0E; source: s-tw058-the-finishing-touches; see volume-slides). The cheapest cousin of the drop-off is vegas's release tip of 1996: "Dont use a ^^^ to kill a note in the lead, just drop the volume to 10, 15, or 20 and volume slide the rest away. It leaves a reverb-ish effect thats really good on flutes, piano's and violins" — no pitch fall, just a volume-column 10–20 on the release row and a D0x slide to silence (source: s-tw062-interview-vegas).
Staccato and grace notes (Dan Hartrell's funk sax run, source: s-tw021-tracking-tips): D0F on a note and the row after it for "4 staccato" notes, G90 on each note of a phrase for a "wavey" pipe-or-reed sound, SD1 (note delay) to turn a note into a grace note that slips into the next, and alternating A05/A08 speeds so the run swings (shuffle-funktempo). Greg Heo's definition: a note cut SCx after x ticks is staccato, the absence of it legato (source: s-tw074-intro-to-musical-theory).
OPL / AdLib FM instruments in trackers › Scream Tracker 3 #
Press A in the instrument list's sample-type column, then Space on Parameters to edit the FM registers; FM voices live on channels A1–A9 (Sound Blaster only — a GUS can still play the samples at the same time); 1 in the pattern editor enters the AdLib note-off; rip the FM sounds from Skaven's example S3M to learn ("they can be saved as normal samples") (source: s-st3-manual). The instrument record packs the OPL registers per operator (multiplier, envelope scaling, sustain, vibrato/tremolo flags, level, attack/decay, sustain/release, waveform, feedback and mode) and carries a C2Spd that scales the note frequency sent to the chip; instrument types distinguish melody, bass drum, snare, tom, cymbal and hi-hat (source: s-st3-tech-doc).
Retrigger and resync › Impulse Tracker / Scream Tracker 3 #
Qxy replays the sample every y frames with a volume change x per hit: 0 none · 1–5 = −1, −2, −4, −8, −16 · 6 = ×⅔ · 7 = ×½ · 8 none · 9–D = +1, +2, +4, +8, +16 · E = ×1½ · F = ×2 (source: s-it-manual). Catspaw's frame arithmetic: at speed 6, Q03 hits again exactly halfway through the row, Q02 gives three hits, Q04 a lopsided pair; avoid odd speeds (5, 7, 9) because no retrig can land on the half-row — get the feel with tempo instead. vegas's tip of 1996 is the same arithmetic from the other side: "Use EVEN speed values like 2, 4, or 6, to make your retrigs sound smoother" — Qxy intervals that divide a speed-6 row evenly (source: s-tw062-interview-vegas). Recipes: ride cymbal Q43 (32 → 24), a snare roll Q53 then Q43 on consecutive rows, and the tom "thwump" QC2 from volume 04 rising by 8 per hit (source: s-tw058-the-finishing-touches). Q00 reuses the last value (volume-slides). ST3's manual gives the same table (with 8 marked "?") and the worked examples Q72 at speed 8 = 64, 32, 16, 8 and QC2 at speed 6 = 12, 20, 28 (source: s-st3-manual). ProTracker's E9x retrigs every x ticks — "If you retrig with 1 in speed 6 that note will be trigged 6 times in one note slot. Retrig on hi-hats!" — and FT2 keeps E9x and adds Rxy with the volume table, which OpenMPT calls "very buggy" (a volume command in the same cell skips ticks) (sources: s-protracker-23d-help, s-ft2-manual, s-openmpt-manual-compatible-playback). IT-compatible players refuse to retrigger a channel that has already stopped, so a very short hi-hat sample needs a silent loop at its end (source: s-openmpt-manual-compatible-playback).
Song initialisation and looping › ST3 / Impulse Tracker #
Put a silent dummy pattern first in the order list:
1 | ^^^ .. .. X3C | ^^^ .. .. X40 | ^^^ .. .. T7D | ^^^ .. .. A06 |
2 | ... .. .. C00 | ... .. .. .00 | ... .. .. X44 | ... .. .. X40 |
^^^ cuts anything still ringing from the previous loop, Xxx sets each channel's pan (works in S3M too), T7D/A06 set tempo 125 and speed 6, C00 breaks to the real first pattern after a fraction of a second. If you fade the global volume out at the end, reset it here too (volume-slides). At the end, put C00 on the same row as the final AFF so the pause lasts one slow row and the song restarts; give the Cubic player a row or two of AFF before the break because it stops on C00 immediately.
Jumps and breaks by format (sources: s-protracker-23d-help, s-ft2-manual, s-st3-manual, s-openmpt-manual-effect-reference, s-openmpt-manual-compatible-playback): ProTracker Bxx jumps to a hex position and "also perform[s] a pattern-break" — "you can use this command instead of restart as on Noisetracker"; Dxx breaks to a decimal line; F00 stops the song. FT2 Dxx takes a hex row (D16), and its E60 loop start has a bug: the next pattern begins on the loop row unless the pattern ends with D00. ST3 Bxx is hex, Cxx decimal, SB0/SBx loops never cross patterns. IT/OpenMPT: Bxx + Cxx on one row jump into the named pattern at the named row; a Bxx right of a terminating SBx cancels the loop. Song length in MOD is "one more than the last position" and NoiseTracker's restart byte is unused by ProTracker.