furnace/papers/doc/3-pattern/effects.md
2023-04-24 05:25:56 -05:00

7.1 KiB

effect list

most of the effect numbers are from ProTracker/FastTracker 2. however, effects are continuous, which means you only need to type it once and then stop it with an effect value of 00.

  • 00xy: arpeggio. after using this effect the channel will rapidly switch between note, note+x and note+y.

  • 01xx: slide up.

  • 02xx: slide down.

  • 03xx: note portamento.

    • a note must be present for this effect to work.
  • 04xy: vibrato. x is the speed, while y is the depth.

    • maximum vibrato depth is ±1 semitone.
  • 07xy: tremolo. x is the speed, while y is the depth.

    • maximum tremolo depth is -60 volume steps.
  • 08xy: set panning. x is the left channel and y is the right one.

    • not all chips support this effect.
  • 80xx: set panning (linear). this effect behaves more like other trackers:

    • 00 is left.
    • 80 is center.
    • FF is right.
    • not all chips support this effect.
  • 81xx: set volume of left channel (from 00 to FF).

    • not all chips support this effect.
  • 82xx: set volume of right channel (from 00 to FF).

    • not all chips support this effect.
  • 09xx: set speed 1.

  • 0Axy: volume slide.

    • if x is 0 then this is a slide down.
    • if y is 0 then this is a slide up.
  • 0Bxx: jump to pattern.

  • 0Cxx: retrigger note every xx ticks.

    • this effect is not continuous.
  • 0Dxx: jump to next pattern.

  • 0Fxx: set speed 2.

  • 9xxx: set sample position to xxx*0x100.

    • not all chips support this effect.
  • Cxxx: change song Hz.

    • xxx may be from 000 to 3ff.
  • E0xx: set arpeggio tick.

    • this sets the number of ticks between arpeggio values.
  • E1xy: note slide up. x is the speed, while y is how many semitones to slide up.

  • E2xy: note slide down. x is the speed, while y is how many semitones to slide down.

  • E3xx: set vibrato direction. xx may be one of the following:

    • 00: up and down.
    • 01: up only.
    • 02: down only.
  • E4xx: set vibrato range in 1/16th of a semitone.

  • E5xx: set pitch. 80 is 0 cents.

    • range is ±1 semitone.
  • EAxx: toggle legato.

  • EBxx: set sample bank.

    • does not apply on Amiga.
  • ECxx: note off after xx ticks.

  • EDxx: delay note by xx ticks.

  • EExx: send external command.

    • this effect is currently incomplete.
  • F0xx: change song Hz by BPM value.

  • F1xx: single tick slide up.

  • F2xx: single tick slide down.

  • F3xx: fine volume slide up (64x slower than 0Axy).

  • F4xx: fine volume slide down (64x slower than 0Axy).

  • F5xx: disable macro.

    • see macro table at the end of this document for possible values.
  • F6xx: enable macro.

  • F8xx: single tick volume slide up.

  • F9xx: single tick volume slide down.

  • FAxy: fast volume slide (4x faster than 0Axy).

    • if x is 0 then this is a slide down.
    • if y is 0 then this is a slide up.
  • FFxx: end of song/stop playback.

additionally each chip has its own effects. click here for more details.

macro table

ID macro
00 volume
01 arpeggio
02 duty/noise
03 waveform
04 pitch
05 extra 1
06 extra 2
07 extra 3
08 extra A (ALG)
09 extra B (FM)
0A extra C (FMS)
0B extra D (AMS)
0C panning left
0D panning right
0E phase reset
0F extra 4
10 extra 5
11 extra 6
12 extra 7
13 extra 8
--- -----------------------------
20 operator 1 macros - AM
21 AR
22 DR
23 MULT
24 RR
25 SL
26 TL
27 DT2
28 RS
29 DT
2A D2R
2B SSG-EG
2C DAM
2D DVB
2E EGT
2F KSL
30 SUS
31 VIB
32 WS
33 KSR
--- -----------------------------
40 operator 2 macros
60 operator 3 macros
80 operator 4 macros

the interpretation of duty, wave and extra macros depends on chip/instrument type:

ex FM OPM OPZ OPLL AY-3-8910 AY8930 Lynx C64 SAA1099 X1-010 Namco 163 FDS Sound Unit ES5506 MSM6258 QSound SNES MSM5232
D NoiseF NoiseFreq NoiseFreq NoiseFreq Duty/Int Duty Wave Pos Duty Filt Mode FreqDiv Echo Level NoiseFreq GroupCtrl
W LFO Shape LFO Shape Patch Waveform Waveform Waveform Waveform Waveform Waveform Waveform Waveform Waveform
1 AMD AMD Duty FilterMode Envelope EnvMode WaveLen Mod Depth Cutoff Filter K1 ClockDiv EchoFeedback Special GroupAtk
2 PMD PMD Envelope Envelope Resonance Envelope WaveUpdate Mod Speed Resonance Filter K2 Echo Length Gain GroupDec
3 LFOSpd LFO Speed LFO Speed AutoEnvNum AutoEnvNum Special AutoEnvNum WaveLoad W Control Env Count Noise
A ALG ALG ALG AutoEnvDen AutoEnvDen AutoEnvDen WaveLoad P Control
B FB FB FB Noise AND WaveLoad L
C FMS FMS FMS Noise OR WaveLoad T
D AMS AMS AMS
4 OpMask OpMask Test/Gate PResetTime EnvRampL
5 AMD2 EnvRampR
6 PMD2 EnvRampK1
7 LFO2Speed EnvRampK2
8 LFO2Shape Env Mode