furnace/doc/3-pattern/effects.md

145 lines
7.3 KiB
Markdown
Raw Normal View History

2022-01-16 06:10:43 +00:00
# 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.
2022-01-16 06:10:43 +00:00
- a note must be present for this effect to work.
- **`04xy`**: vibrato. `x` is the speed, while `y` is the depth.
2022-01-16 06:10:43 +00:00
- maximum vibrato depth is ±1 semitone.
- **`07xy`**: tremolo. `x` is the speed, while `y` is the depth.
2022-03-14 20:59:52 +00:00
- maximum tremolo depth is -60 volume steps.
- **`08xy`**: set panning. `x` is the left channel and `y` is the right one.
2022-10-16 05:53:05 +00:00
- not all chips support this effect.
- **`80xx`**: set panning (linear). this effect behaves more like other trackers:
2022-04-30 04:41:14 +00:00
- `00` is left.
- `80` is center.
- `FF` is right.
2022-10-16 05:53:05 +00:00
- not all chips support this effect.
- **`81xx`**: set volume of left channel (from `00` to `FF`).
2022-10-16 05:53:05 +00:00
- not all chips support this effect.
- **`82xx`**: set volume of right channel (from `00` to `FF`).
2022-10-16 05:53:05 +00:00
- not all chips support this effect.
- **`09xx`**: set speed 1.
- **`0Axy`**: volume slide.
2022-01-16 06:10:43 +00:00
- 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.
2022-01-16 06:10:43 +00:00
- this effect is not continuous.
- **`0Dxx`**: jump to next pattern.
- **`0Fxx`**: set speed 2.
2022-01-16 06:10:43 +00:00
- **`9xxx`**: set sample position to `xxx`\*0x100.
2022-10-16 05:53:05 +00:00
- not all chips support this effect.
2022-03-14 20:59:52 +00:00
- **`Cxxx`**: change song Hz.
2022-01-16 06:10:43 +00:00
- `xxx` may be from `000` to `3ff`.
- **`E0xx`**: set arpeggio tick.
2022-01-16 06:10:43 +00:00
- 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:
2022-01-16 06:10:43 +00:00
- `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.
2022-01-16 06:10:43 +00:00
- 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.
2022-03-27 02:16:15 +00:00
- 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.
2022-12-17 05:09:56 +00:00
- 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`).
2022-03-14 20:59:52 +00:00
- 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.
2022-01-16 06:10:43 +00:00
2022-10-16 05:53:05 +00:00
additionally each chip has its own effects. [click here for more details](../7-systems/README.md).
2022-12-17 05:09:56 +00:00
## 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
2023-04-24 10:25:56 +00:00
60 | operator 3 macros
80 | operator 4 macros
2022-12-17 05:09:56 +00:00
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 |
2023-01-16 21:10:34 +00:00
3 | LFOSpd | LFO Speed | LFO Speed | | AutoEnvNum | AutoEnvNum | | Special | | AutoEnvNum | WaveLoad W | | Control | Env Count | | | | Noise |
2022-12-17 05:09:56 +00:00
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 | | | | |
2023-01-16 21:10:34 +00:00
8 | | | LFO2Shape | | | | | | | | | | | Env Mode | | | | |