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.