Commands - LTVA1/klystrack Wiki

Commands

When a note is playing, an instrument program or the track data can modify various parameters by using commands.

The commands are interchangeable between the track commands and the program commands (where applicable). Most of the commands loosely follow the "standards" set by the original Soundtracker and later trackers.

The commands generally follow a pattern: the first two digits tell the action and the next two are the parameter(s) for the command.

Commands that are only in klystrack-plus are marked with 🔴.

xx, yy, zz = parameter to command

Command Description
00xx set arpeggio note (final played note = played note + arpeggio note + vibrato etc.)
40xx set absolute arpeggio note (final played note = absolute arpeggio note + vibrato etc.)
01xx portamento up
02xx portamento down
03xx slide to note with speed xx
04xy vibrato with speed of x and depth of y (if x and y are 0 return to instrument parameters)
24xy 🔴 tremolo with speed of x and depth of y (if x and y are 0 return to instrument parameters)
25xy 🔴 PWM with speed of x and depth of y (00 = off)
27xy 🔴 FM modulator vibrato with speed of x and depth of y (if x and y are 0 return to instrument parameters)
28xy 🔴 FM modulator tremolo with speed of x and depth of y (if x and y are 0 return to instrument parameters)
07xx pulse width down
08xx pulse width up
09xx set pulse width
0axy Fade volume up by x, down by y
0b0x set waveform (1 = noise, 2 = pulse, 4 = triangle, 8 = saw, 9 = 1 + 8 = noise + saw etc.)
0cxx set volume
37xx 🔴 Set volume key scaling level (00 = off)
38xx 🔴 Set FM modulator volume key scaling level (00 = off)
3cxx 🔴 Set envelope key scaling level (00 = off)
3dxx 🔴 Set FM modulator envelope key scaling level (00 = off)
0dxx jump to pattern position xx (in current pattern only), makes pattern looping possible
0e1x fine portamento up by x
0e2x fine portamento down by x
0e9x retrigger note every x tick
0eax fine fade volume down by x
0ebx fine fade volume up by x
0ecx set volume to zero on tick x (note cut)
0edx start playing current note on tick x (note delay)
0eex 🔴 set oscillators' mix mode (default is bitwise AND, to get e.g. pulse+tri wave as in Fearofdark songs select SUM etc.)
0fxy set play speeds to x and y. if x is 0, set both to y
10xy set external arpeggio notes (used with 00f0 and 00f1 in the program)
11xx portamento up by one semitone
12xx portamento down by one semitone
17xx slide panning to left by xx
18xx set stereo panning to xx, 0 = left, 64 = center, 128 = right
19xx slide panning to right by xx
1axx fade global volume, works similar to 0axx
1cxx set channel volume, works similar to 0cxx
1dxx set global volume, works similar to 0cxx
1fxx set play rate to xx
21xx filter cutoff up
22xx filter cutoff down
29xx set cutoff
2axx set resonance
2bxx set filter type
0e3x 🔴 set filter slope
2cxx combined set filter cutoff and type (0x00..0x7F = lowpass, 0x80..0xFF = highpass, similar to AHX command 4xx)
2dxx jump to the end of the current pattern
33xx set FM modulator volume (level of modulation)
340x set FM feedback
35xy set FM multiplier (x multiplies frequency, y divides)
36xx set FM wave
31xx slide buzz tuning up
32xx slide buzz tuning down
3f0x set buzz shape (0-3)
39xx set buzz finetune (0x80 = 0, 0x00 = -128, 0xff = 127)
3axx set buzz semitune (0x80 = 0, 0x00 = -128, 0xff = 127)
5xxx start wavetable sample at offset xxx (0-fff)
6xxx set fine cutoff frequency (0-fff)
7dxx restart instrument program
8xxx 🔴 set fine pulse width (0-fff)
7c00 trigger release
fd00 loop begin
fexx loop to previous "fd00" xx times
ffxx go to step xx
fffe nop (no operation)
ffff end program

Volume column commands

The volume column can be used to trigger some commands in addition to setting the volume.

Dx Fade volume down (same as command 0a0x)
Ux Fade volume up (same as command 0ax0)
Rx Fade panning right
Lx Fade panning left
Px Set panning (8 is center, F is right, 0 is left)