Arpeggiator
This
instrument implements an arpeggiator effect, such as is often found
on hardware synthesizers. The notes generated by the arpeggiator are
played by a simple synthesizer and echoed by a multi-mode delay.
Arpeggiator
Section
- Interval - sets the interval, in semitones, of transposition steps applied to the sequence when repeated cyclically.
- Cycles - adds repeats of the entire arpeggio transposed sequentially by the number of
semitones defined by 'Intvl'. 'Cycles' will have no effect if 'Intvl' is zero.
- Cycle Mode - rule governing the how transpositions proceed as the sequence of held notes is repeated. If 'Intvl' is negative subsequent cycles of the arpeggio will be lower than the first. If 'Up+Down' is activated the transposition steps will go up and then back down (or vice versa if
'Intvl' is negative) rather than just in a single direction before repeating. This option is ignored in 'Random Dir.' mode which instead
implements a kind of 'Drunken Walk'.
- Tempo - The speed or rate of the arpeggio in BPM (beats per minute) if 'Internal' is selected as clock sourc. Each arpeggio note is assumed to be a
quaver/eighth note so a tempo of 120 BPM will result in 240 notes being played per minute, assuming beats are crotchets/quarter notes.
- Tempo Mlt. - 8 'multiplier' presets which scale the tempo using simple ratios.
- Hold - imitates the action of a keyboard's sustain pedal. This function is also sometimes referred to as 'latch' in arpeggiators.
- Arp. Mode - Choose from six modes of movement:
- 'Up', 'Down', and 'Up and Down' perform as would be expected.
- 'Random Direction' randomly moves up or down from the current pitch to the next pitch in the arpeggio.
- 'Random Pick' chooses any other note within the arpeggio each time a new note is required.
- 'Seq. Play' plays through the sequence of notes in the order in which they were pressed.
- Swing - warps the rhythm of each pair of arpeggiator notes. The rhythm is warped continuously from quaver:quaver at its minimum setting to dotted-quaver:semiquaver at its maximum. At its midway point the rhythm is triplet-crotchet:triplet quaver.
- Clock Source - the metronome can either follow an internal Cabbage clock of the tempo from the host software when used as a plugin.
- Pause - temporarily freeze the progress of the arpeggiator.
- On/Off - turn the arpaggiator on and off.
Synthesizer
Section
- VCA - sets the ADSR values for the amplitude envelope for each note.
- VCF - settings pertaining to the filter and the filter envelope.
- Env Amt. - amount of influence of the cutoff frequency envelope which therefore also provides an offset.
- Track - when activated, the filter cutoff frequency also follows the frequency of the note played by the arpeggiator.
- LFO - controls for an LFO that also influences the filter cutoff frequency.
- Subosc. - adds a sine tone oscillator, one octave below the main oscillator.
- Port - amount of glide from note to note as the arpeggiator progresses.
- Freq. Shift - activates and sets the frequency of a frequency shifter applied to the audio output. Clicking the small button above the knob controller resets the frequency to zero and therefore deactivates the effect.
- Delay - a tempo matching ping-pong delay effect. The delay time is set in units in ratio with the arpeggiator rhythmic unit. When 'level' is zero the effect is bypassed.
Technical
Whenever
a new note is played its note number is written into two different
function tables: in the first table, note numbers are written
sequentially in the order in which they were played. (NB. if a note
is removed its note number is removed from this table and any notes
following it in the table are shunted back one place so as to not
leave any gaps.) This table is used by the 'Seq. Play' and 'Random
Pick' arpeggiator modes. A second table is created (and updated any
time a new note is added or removed) in which all notes currently
being held are sorted into ascending order. This table is used by all
other arpeggiator modes. A third table is used to store the on/off
status of each note. A value of '1' in this table denotes 'note on'
and '0' denotes 'note off'. For example if middle C (note number 60)
is pressed, the 61st table item with index number 60 will be '1'.
This is needed to check for active notes and prevent the same note
appearing twice in a note row. This would otherwise be possible when
'hold' is active. This function could be deactivated if you wanted to
define arpeggios with repeated notes.