Effects

From TriloTracker
Jump to: navigation, search
Notepad red.png NOTE: Some of the effect commands described differ per sound chip. For FM (MSX-Music) a seperate hack of TT called TTFM will be available in the near future. For each effect it is specified for which chip the effect works.


0xy - Arpeggio

[ PSG ][ SCC ][ FM ]

Cycles between note, note+x halftones, note+y halftones. Example:

C-4 01 .. 037 

This will play C-4, C-4+3 semitones and C-4+7 semitones (C-4, D#4 and G-4) Note: if both x and y are zero, this command is ignored (and displayed as "...").

See also command E0y Short Arpeggio for details for using 2 tone arpeggios.



1xy - Portamento up

[ PSG ][ SCC ][ FM ]

This will slide up the pitch of the current note being played by the given step size (in xy) each tic. 100 will continue the previous portamento values, even after a new note or effect. The slide will wrap around when it has reached the limit of the tone register. The slide is not delimited.

C#4 .. ...      Play a note
... .. 106      Portamento up in steps of 6 on each tic.
... .. 100      Continue slide
G-4 .. ...      New note
... .. 100      Slide the new note in steps of 6 again.


2xy - Portamento down

[ PSG ][ SCC ][ FM ]

Same as portamento up bit his will slide up the pitch of the current note being played by the given step size (in xy) each tic.



3xy - Tone Portamento

[ PSG ][ SCC ][ FM ]

This command is used together with a note, and will bend the current pitch at the given step size ,on each tic, towards the specified note. Example:

C-4 1. ...
F-4 .. 305 (bend the note up towards F-4)
... .. 300 (continue to slide up, until F-4 is reached)


4xy - Vibrato

[ PSG ][ SCC ][ FM ]

Vibrato with speed x and depth y. This command will oscillate the frequency of the current note with a sine wave. (You can change the vibrato waveform to a triangle wave, a square wave, or a random table by using the E4x command). the depth value ranges from 0 to 7.



5xy - Tone Portamento + Volume Slide

[ PSG ][ SCC ][ FM ]

This command is equivalent to Tone-Portamento and Volume Slide. (300 + Axy).



6xy - Vibrato + Volume Slide

[ PSG ][ SCC ][ FM ]

This command is equivalent to Vibrato and Volume Slide. (400 + Axy).



7xy - <unused>



8xy - PSG HW Envelope Multiplier

[ PSG ][ [ SCC ] ][ FM ]

This command sets the frequency of the hardware envelope registers. The value of xy is multiplied with 8 to set the frequency value(0-2040). The frequency value sets the speed of the envelope steps. The default frequency is always set to 0. Value set using this command will stay in effect until changed and/or end of playback.

This command only sets the envelope frequency and can be used in any track (even non-PSG tracks). To use the HW envelope playback command EEy is used.

Example:

... .. 801 Set the frequency to 8. Step speed is: (8*1024)/4000000 = 0,002 seconds


9xy - Macro offset

[ PSG ][ SCC ][ FM ]

This command, when used together with a note, will start playing the sample at the position xy (instead of position 0). If xy is 00 (900), the previous value will be used. Be sure not to use xy values outside the instrument macro.

Notepad red.png NOTE: This effect is NOT supported in the standalone re-player.


Axy - Volume slide

[ PSG ][ SCC ][ FM ]

Slide up or down the current volume. ... .. A20 Slides up the current volume each 2 ticks by one. ... .. A08 Slides down the current volume each 8 ticks by one.

Note!: Until TT v0.9 there is a bug in the volume slide.



Bxy - SCC commands

[ PSG ][ SCC ][ FM ]

B00 - Reset

Resets the waveform to the waveform related to the current instrument.


B1y - Duty Cycle

Generates a square waveform for the current track. The value ($0 - $f) in y defines the shape (0-50%) of the waveform to generate in steps of 3,125%.
... .. B10       Waveform 3,1%: ________
... .. B17                25% : ¯¯______


B2y - Waveform cut

Cuts the current waveform (related to instrument) at position y to 0 (no amplitude). The value in y ($0-$f) defines size of the waveform in steps of 6.5%. The rest is cut to center.
... .. B20       Waveform 6,5%: /-------
... .. B2F                100%: /\////// 


B4y - Waveform compress

Compresses the current waveform (related to instrument). Parameter y contains the value ($0..$7) of the compression rate in steps of 4%. ($0=4%, $7=32%).


BBy - Set waveform

Changes the current waveform into the waveform specified in y. Only waveforms $0..$F can be used.

BCy - Set waveform+16.

Changes the current waveform into the waveform+16 specified in y. Only waveforms $0..$F can be used. With this command it is possible to set the upper 16 waveforms.


Bxy - FM commands

[ PSG ][ SCC ][ FM ]

B0y - Change channel setup

Set the channel set-uo used to replay the song.
... .. B00       Use 2 PSG and 6 FM channels
... .. B01       Use 3 PSG and 5 FM channels

Cxy - SCC morph

[ PSG ][ SCC ][ FM ]
Notepad red.png NOTE: This effect only affects the SCC chip channels. In contradiction to the other effect commands this command will stay active and do not need to be re-triggered each row

Waveform morphing will morph between 2 waveforms. The morphing is done in 16 steps using variable intervals. Only 1 morph at the same time is possible. Multiple tracks can use the same morphing waveform by using the 'morph-slave' command. A morph will always complete in the background (except for morph change Cx0 and Cxy). Even after a track stops acting in 'morph-slave' mode. 'Morph-slave' mode is cancelled in a track by a note, rest (-R-), instrument or Bxy effect.

Example:

C-4 3FC14  ... .....  morph each 4 tics current instrument waveform to waveform 1
... .....  C-4 3DC00  this track will follow any morph updates.
... .....  ... ..412  normal effects still work as normal
C-3 .....  ... ..400  morph stops in the track with a note 
E-4 ..C00  ... ..C00  morph is not restarted but continued in both tracks. 'slave'
... .....  ... ..C60  morph stops and current morphed waveform is morphed into waveform 6
... .....  ... ..C44  morph restarts with original instrument waveform to waveform 4 
... .....  ... 3....  morph stops in the track with the instrument.


C00
Set this track to 'morph-slave' mode. Any morph updates are automatically updated in this track.


Cx0
Start a new morph into waveform x using the current morph waveform values. Only useful after a Cxy command. The current morph speed is maintained (x values between 1-F). Sets track into 'morph-slave' mode.


Cxy
Start a new morph into waveform x (0-F) starting from the original instrument waveform. The update interval, in tics, is set using y (1-F). Sets track into 'morph-slave' mode.




Cxy - FM drum commands

[ PSG ][ SCC ][ FM ]
Notepad red.png NOTE: This effect only affects the FM chip drum channels. But the drum commands can be used in any track (even PSG) and will affect the FM chip drum channels.

At default the drum macros are initialized as follows:

drum preset layout
preset     |1|2|3|4|5|6|7|8|9|A|B|C|D|E|F|
           | | | | | | | | | | | | | | | |
bass-drum  |x| |x| | |x| |x| |x|x| |x|x| |
snare-drum | |x|x| | | |x|x| | | |x|x| | |
hi-hat     | | | |x| | | | | | |x|x|x| |x|
cymbal     | | | | |x|x|x|x| | | | | |x|x|
tom        | | | | | | | | |x|x| | | |x| |


C00
Reset all percussion registers to default.
Cxy
Play the corresponding drum macro (1-31)




D00 - Pattern end

[ PSG ][ SCC ][ FM ]

Stops playing the current pattern and continues to the next pattern.



Exy - Extended commands

[ PSG ][ SCC ][ FM ]

E0y - Short arpeggio

y value sets the number of halve tones to alternate every tic (note+0.note+y). Use E00 to continue the sort arpeggio on the next step.

E1y - Fine slide up

y value sets the value to slide up. This is only done once. This command is useful on higher notes for portamento or as note detune.

E2y - Fine slide down

y value sets the value to slide down. This is only done once. This command is useful on higher notes for portamento or as note detune.

E4y - Vibrato control

y value sets the form used on vibrato (0=sine,1=triangle,2=pulse). This setting will affect all channels.

E50 - Note link

Links the note next to this command with the previous note. The instrument macro is not restarted.

E6y - Track detune

y value sets the track detune for all notes played till set differently. Values $0..$7 are positive values and values $8..$F are negative values (-1..-7)

E7y - Sustain FM ONLY

y value set the sustain of the current note (0 is off, 1-f is on).

E8y - Global transpose

y value sets the global transpose for all notes in halve notes. Values $0..$7 are positive (0..7) values and values $8..$F are negative values (-1..-7)
---.. E82    Will add 2 halve notes to all notes played.
---.. ...
---.. E80    Global transpose is set back to original (reset).

ECy - Note cut delay

y value sets the delay in ticks to wait before stopping the current note.

EDy - Note delay

y value sets the delay in ticks to wait before starting the note.

====EEy - Envelope==== PSG ONLY

y value sets the envelope shape to use. Value EE0 will continue the current envelope command. Values $1-$f sets the envelope shape. The envelope shape is executed in 15 steps. Step speed depends on the envelope frequency (see command 8xy). Envelope shapes are restart at every EEy command (except EE0). The following envelope shapes are available:
8      \\\\\\\\\\
1-3,9  \_________  
A      \/\/\/\/\/
B      \¯¯¯¯¯¯¯¯¯  
C      //////////
D      /¯¯¯¯¯¯¯¯¯  
E      /\/\/\/\/\
4-7,F  /_________  


EFy - Trigger

y value is set in the trigger variable. The trigger can be used to sync programs to the music.


Fxy - Replay Speed

[ PSG ][ SCC ][ FM ]

Set the speed (values 2-63) to play the music data. The xy value sets the delay in ‘halve’ ticks to wait between each pattern row.