Article History
 
 
 
Discussion
 
60387 views
 
28% HertzDevil
FamiTracker Effects Commands View HTML Version
 

FamiTracker's effects commands are mostly based on those found in '[[FastTracker II]. FamiTracker's effects columns are expandable; each channel supports up to 4 effect columns. This can be helpful if you are an audio micro-managing freak!  :D

Bear in mind that what you see is what you get: collapsing an effect column effectively disables them from playback and export (they are not lost though; expanding the column again will reveal the effects and they will then play back like before).

'[#[Index]

'[tab[0[40] General
'[tab[1[40] General
'[tab[2[40] General
'[tab[3[40] General
'[tab[4[40] General
'[tab[7[40] General
'[tab[9[40] (no effect)
'[tab[A[40] General
'[tab[B[40] Global
'[tab[C[40] Global
'[tab[D[40] Global
'[tab[E[40] General
'[tab[F[40] Global
'[tab[G[40] General
'[tab[H[40] Chip-Specific (2A03 Pulse / '[o]VRC7'[/o] / FDS / '[o]5B'[/o])
'[tab[I[40] Chip-Specific (2A03 Pulse / '[o]VRC7'[/o] / FDS / '[o]5B'[/o])
'[tab[J[40] Chip-Specific (FDS / '[o]5B'[/o])
'[tab[P[40] General
'[tab[Q[40] General
'[tab[R[40] General
'[tab[S[40] General
'[tab[V[40] Chip-Specific (2A03 Pulse / Noise / VRC6 / '[o]VRC7'[/o] / MMC5 / N163 / '[o]5B'[/o])
'[tab[W[40] Chip-Specific (DPCM)
'[tab[X[40] Chip-Specific (DPCM)
'[tab[Y[40] Chip-Specific (DPCM)
'[tab[Z[40] Chip-Specific (DPCM)


'[#[Global Effects]
'[t[mono]Bxx'[/t] - Jump to frame '[t[b0]xx'[/t].
'[t[b0]xx'[/t] = Frame (in hexadecimal)


'[t[mono]Cxx'[/t] - Halt; end song.
'[t[b0]xx'[/t] = Inconsequential


'[t[mono]Dxx'[/t] - Skip to next frame and start at '[t[b0]xx'[/t].
'[t[b0]xx'[/t] = Row (in hexadecimal)


'[t[mono]Fxx'[/t] - Set Speed/Tempo.
If '[t[b0]xx'[/t] = 00-1F: Speed value
If '[t[b0]xx'[/t] = 20-FF: Tempo value

Notes: if you leave the tempo to 2.5 times the refresh rate (NTSC default 150 / '[t[mono]F96'[/t]), then the "speed" setting corresponds the the amount of ticks per tracker row. This is useful to acheive even tempos (without any irregularity), swing, using '[t[mono]Gxx'[/t] efficiently, etc.
Furthermore, recent versions of Famitracker allow modifying the exact split point where '[t[mono]Fxx'[/t] would change the tempo instead of the speed, so that backwards compatibility is maintained. By pressing the key combination Ctrl+Shift+S, the ranges below take effect:
If '[t[b0]xx'[/t] = 00-14: Speed value
If '[t[b0]xx'[/t] = 15-FF: Tempo value
The 0.4.2. beta 1 allows the use of any split point by TXT importation.


'[#[General Effects]
'[t[mono]0xy'[/t] - Arpeggio aka '[[arps]; fast note shifting in half steps.
'[t[b0]x'[/t] = Number of half steps from root note for first shift
'[t[b0]y'[/t] = Number of half steps from root note for second shift

Ex: '[t[mono]037'[/t] = Minor chord. '[t[mono]047'[/t] = Major chord. '[t[mono]070'[/t] = Perfect 5th. '[t[mono]'[[0CC-FamiTracker[0CC]'[/t] = Octave.
View article on '[[arps] for more examples.

Notes: Leaving '[t[b0]y'[/t] blank causes the arp to last two ticks instead of three.


'[t[mono]1xx'[/t], '[t[mono]2xx'[/t] - Portamento up (1) and down (2); smooth pitch glide up.
'[t[b0]xx'[/t] = Speed

Notes: '[t[mono]100'[/t], '[t[mono]200'[/t] and '[t[mono]300'[/t] all cancel each other.


'[t[mono]3xx'[/t] - Glissando; pitch glide to next note.
'[t[b0]xx'[/t] = Speed

Notes: '[t[mono]100'[/t], '[t[mono]200'[/t] and '[t[mono]300'[/t] all cancel each other.


'[t[mono]4xy'[/t] - Vibrato; pitch vibration.
'[t[b0]x'[/t] = Speed
'[t[b0]y'[/t] = Depth

Notes: '[t[mono]400'[/t] to turn off.


'[t[mono]7xy'[/t] - Tremolo; volume tremor.
'[t[b0]x'[/t] = Speed
'[t[b0]y'[/t] = Depth

Notes: '[t[mono]700'[/t] to turn off.


'[t[mono]Axy'[/t]- Volume slide up/down from set volume.
If '[t[b0]x'[/t] > '[t[b0]y'[/t]: Increase volume
If '[t[b0]x'[/t] < '[t[b0]y'[/t]: Decrease volume
If '[t[b0]x'[/t] = '[t[b0]y'[/t]: Halt slide

Notes: It's important to remember that the volume does not reset automatically on every new note; it has to be entered manually every time you want a new slide.


'[t[mono]Exx'[/t] - Set Volume; DEPRECATED.  Use volume column instead.
'[t[b0]xx'[/t] = Volume value
Valid range = 00 - 0F

Notes: Larger values of '[t[b0]xx'[/t] beyond 0F can multiply with channel volume.


'[t[mono]Gxx'[/t] - Delay note
'[t[b0]xx'[/t] = Amount of ticks before note is played

Notes: Pattern data cannot be delayed by more than one row.


'[t[mono]Pxx'[/t] - Fine pitch setting.
If '[t[b0]xx'[/t] = 80: Default
If '[t[b0]xx'[/t] > 80: Increase pitch
If '[t[b0]xx'[/t] < 80: Decrease pitch


'[t[mono]Qxy'[/t], '[t[mono]Rxy'[/t] - Pitch slide up (Q) or down (R) to note.
'[t[b0]x'[/t] = Speed
'[t[b0]y'[/t] = Number of semitones to slide to from base note


'[t[mono]Sxx'[/t] - Delayed note cut.
'[t[b0]xx'[/t] = Ticks before note is cut.

Notes: '[t[mono]S00'[/t] is effectively the same as a note cut event.


'[#[Channel-Specific Effects]


'[t[mono]Hxy'[/t], '[t[mono]Ixy'[/t] - Trigger hardware note sweep up (H) and down (I).
'[t[b0]x'[/t] = Period
'[t[b0]y'[/t] = Shift
Valid range for '[t[b0]x'[/t] and '[t[b0]y'[/t] = 0 - 7

Notes: Unlike '[t[mono]1xx'[/t] and '[t[mono]2xx'[/t], these sweeps are logarithmic.
This feature is only available for the 2A03 Square channels.


'[t[mono]Hxx'[/t] - FDS modulation depth setting.
'[t[b0]xx'[/t] = Modulation depth
Valid range = 00 - 3F


'[t[mono]Hxy'[/t] - 5B envelope share & automatic modulation setting.
If '[t[b0]x'[/t] = 0: Yield control to '[t[mono]Ixx'[/t] and '[t[mono]Jxx'[/t]
If '[t[b0]x'[/t] = 1-7: Apply envelope by left-shifting channel period (useful for fade shapes)
If '[t[b0]x'[/t] = 8: Apply envelope at same period as channel output
If '[t[b0]x'[/t] = 9-F: Apply envelope by right-shifting channel period (useful for triangle / sawtooth shapes)

If '[t[b0]y'[/t] = 0: Disable envelope modulation on this channel
If '[t[b0]y'[/t] = 1-3 or 9: Fade out
If '[t[b0]y'[/t] = 4-7 or D: Fade in
If '[t[b0]y'[/t] = 8 or C: (Exponential) sawtooth
If '[t[b0]y'[/t] = A or E: (Exponential) triangle
If '[t[b0]y'[/t] = B: Fade out, then restore full volume
If '[t[b0]y'[/t] = F: Fade in, then silence


'[t[mono]Hxx'[/t] - VRC7 custom patch port setting.
'[t[b0]xx'[/t] = Register address
Valid range = 00 - 07


'[t[mono]Ixx'[/t], '[t[mono]Jyy'[/t] - FDS modulation rate setting.
'[t[mono]Ixx'[/t] is the high part of the modulation rate, and '[t[mono]Jyy'[/t] is the low part.
Valid range for '[t[b0]xx'[/t] = 00 - 0F
Valid range for '[t[b0]yy'[/t] = 00 - FF


'[t[mono]Ixx'[/t], '[t[mono]Jyy'[/t] - 5B envelope period setting. 
'[t[mono]Ixx'[/t] is the high part of the envelope period, and '[t[mono]Jyy'[/t] is the low part.

Notes: Ineffective if '[t[mono]Hxy'[/t] with nonzero '[t[b0]y'[/t] is issued.


'[t[mono]Ixx'[/t] - Write to VRC7 custom patch using the address selected by '[t[mono]Hxx'[/t].
'[t[b0]xx'[/t] = Register value


'[t[mono]Vxx'[/t] - Set Square Duty Cycling / Noise Pattern.
This command affects different channels in different ways.

2A03 & MMC5 squares = sets the duty cycle value (4 settings)
2A03 noise = sets the noise mode (2 settings)
VRC6 squares = sets the duty cycle value (8 settings)
VRC6 sawtooth = flips the volume high bit (2 settings - see notes below)
N163 = calls the corresponding waveform from the current instrument (16 settings)
VRC7 = sets the patch number (16 settings)
5B = enables square or noise output (4 settings) (0.5.0 beta only)
In all cases, using the (n+1)-th setting loops back to 0.

Note that '[t[mono]Vxx'[/t] is overridden by any duty cycle or wave macro in the current instrument.

'[t[b0]2A03/MMC5 VALUES'[/t]
'[t[b0]xx'[/t] = Square duty cycle
00 = 12.5% Duty
01 = 25% Duty
02 = 50% Duty
03 = 75% Duty

'[t[b0]2A03 NOISE VALUES'[/t]
'[t[b0]xx'[/t] = Noise type
00 = Normal noise
01 = Periodic noise

'[t[b0]VRC6 PULSE VALUES'[/t]
'[t[b0]xx'[/t] = Square duty cycle
00 = 6.25% Duty
01 = 12.5% Duty
02 = 18.75% Duty
03 = 25% Duty
04 = 31.25% Duty
05 = 37.5% Duty
06 = 43.75% Duty
07 = 50% Duty

'[t[b0]VRC6 SAWTOOTH VALUES'[/t]
'[t[b0]xx'[/t] = Sawtooth volume high bit
00 = Normal
01 = Flipped

Notes: The sawtooth wave has no "pulse width" or "duty cycle", but it utilizes the '[t[mono]Vxx'[/t] effect for modifying the volume register's high bit instead. The channel's volume is 6-bit rather than 4-bit (like most other channels), so it goes up to 63. FamiTracker maps values from 0 to 63 by multiplying the channel column's (or instrument macro's) volume by 2 to get the "real" volume value. This means if you input F (or 15), you're really getting 1E (or 30). '[t[mono]Vxx'[/t] (or the duty cycle macro) is simply the way FamiTracker lets you get to volume values above 30; when it is set to 1, add 32 to the "real" volume value (so 0 becomes 32, 1 becomes 34, 2 becomes 36 etc.).

Bear in mind that the actual maximum volume is 42 (which you would get by using 5 with '[t[mono]V01'[/t]) - anything above that causes the accumulator to wrap, the sawtooth wave distorts and no volume is gained whatsoever. In 0.5.0 beta, This command has no effect for VRC6 instruments using 64-step volume sequences.

'[t[b0]N163 VALUES'[/t]
This calls the corresponding waveform in the instrument.
'[t[b0]xx'[/t] = Waveform index
Valid range = 00 - 0F

'[t[b0]VRC7 VALUES'[/t]
Immediately changes the VRC7 patch number.
'[t[b0]xx'[/t] = Patch number
Valid range = 00 - 0F

Notes: Available only in 0.4.1 or before, and 0.5.0 beta.

'[t[b0]5B VALUES'[/t]
Enables square or noise output.
'[t[b0]xx'[/t] = Enable flag
00 = Silence
01 = Square only
02 = Noise only
03 = Noise + Square


'[t[mono]Wxx'[/t] - DPCM pitch setting.
'[t[b0]xx'[/t] = DPCM pitch
Valid range = 00 - 0F

Refer to this table via decimal to hex as a reference to when the "pitch" is changed of a DMC sample:
'[t[code]DMC Sampling rate(0-F) (Default:F 33.14KHz)
      '[tab[0:  4.18KHz[100]  '[tab[1:  4.71KHz[100]  '[tab[2:  5.26KHz[100]  '[tab[3:  5.59KHz[100]
      '[tab[4:  6.26KHz[100]  '[tab[5:  7.05KHz[100]  '[tab[6:  7.92KHz[100]  '[tab[7:  8.36KHz[100]
      '[tab[8:  9.42KHz[100]  '[tab[9: 11.18KHz[100]  '[tab[A: 12.60KHz[100]  '[tab[B: 13.98KHz[100]
      '[tab[C: 16.88KHz[100]  '[tab[D: 21.30KHz[100]  '[tab[E: 24.86KHz[100]  '[tab[F: 33.14KHz[100]'[/t]


'[t[mono]Wxx'[/t] - 5B noise pitch setting.
'[t[b0]xx'[/t] = 5B noise pitch, 00 is highest
Valid range = 00 - 1F


'[t[mono]Xxx'[/t] - DPCM retrigger
'[t[b0]xx'[/t] = length in ticks between retriggers.


'[t[mono]Yxx'[/t] - Start Sample Offset; DPCM skipping.
(64 * xx) = number of bytes to skip from start of sample.
Valid range = 00 - 3F

Note: Currently using a value of '[t[b0]xx'[/t] higher than length of sample results in a weird sample looping in the tracker but comes out only a loud weird glitch upon NSF export.


'[t[mono]Zxx'[/t] - Set the DPCM's delta counter (DC); affects volume of triangle, noise, and DPCM.
Regarding Noise and Triangle:  If '[t[b0]xx'[/t] > 00 the volume of the channels is decreased by the offset due to distortion of DC.
Regarding DPCM channel:  '[t[b0]xx'[/t] = offset amount of distortion incremented or decremented, resulting in volume either up or down; depending on current DC value.

Notes: The DC counts down and is affected by DC resets provided by the DMC sample and the current DC register value.  In summary, the value supplied is relative to the sample and the counter.

Using '[t[mono]Zxx'[/t] in large intervals (ex: '[t[mono]Z7F'[/t] and then '[t[mono]Z00'[/t]) causes a 'clicking' sound due to a radical peak in the wave.  Click volume can be manipulated with lower intervals and lower values.  Clicks can be used as a form of percussion.


'[#[Further Notes]
'[t[mono]Exx'[/t] will not work if an instrument volume envelope is used. 

'[t[mono]1xx'[/t], '[t[mono]2xx'[/t], '[t[mono]3xx'[/t], '[t[mono]Qxy'[/t], '[t[mono]Rxy'[/t] will not work if an instrument frequency effect loop is used. (Pitch, Hi-pitch and Arpeggio.) 

If effects commands seem different or don't work for you, download the latest BotB leak of '[[FamiTracker].

'[#[See Also]
'[[nsf (format)]
'[[nsfplus (format)]
'[[FamiTracker]
'[[List of Effects Commands]

 
C A T E G O R I E S
 
 
Effects Commands