AudioMulch Help > Contraption Reference > Signal Generators Previous Next


A synthesizer and tone generator that plays arpeggios.

Arpeggiator lets you create repeating sequences of pitches (“arpeggios”) with a variety of cycle lengths, directions and pitch ranges. It has a piano keyboard interface for selecting pitches and a pattern editor for controlling when and how the Arpeggiator advances to the next pitch. You can specify the rhythmic pattern with the rhythmic matrix, and can also add ties so that notes glide from one to the next. The speed of the glide can also be determined. Other parameters control the direction, range, and regularity of the arpeggios.

Arpeggiator generates sound using two oscillators. You can select the waveform of each oscillator, control the balance between them, and decide how they are tuned against each other.

This contraption synchronizes to the global clock. Remember to press play.

See the Adjusting Contraption Properties section for information about using sliders, knobs, presets etc.

Related Contraptions



Arpeggiator parameter editor window


Controls the output level of the Arpeggiator


Disables sound output when check-box is checked

Osc 1, Osc 2

(Oscillator1Waveform, Oscillator2Waveform)

Selects the oscillator's waveform.You can choose between a saw, sine and square wave for each oscillator.

Osc 2 Trans


Controls the transposition of oscillator 2 relative to oscillator 1. Transposition is specified as the number of semitones above oscillator 1.



Provides fine adjustment of the tuning of oscillator 2. Shifts oscillator 2 above its nominal pitch (determined by Osc 2 Trans) by up to one semitone.



Functions as a crossfader between the two oscillators. At 0 only Osc 1 is audible while at 1 only Osc 2 is audible. At 0.5 both oscillators are evenly mixed.



Controls the amount of oscillator cross-feedback. The two oscillators are connected in a feedback loop where each modulates the other's frequency. Small amounts of Feedback lead to changes in timbre or brightness, larger amounts create distorted sounds. 0 being no feedback, 1 being the maximum amount.


Affects notes tied together in the trigger grid. The higher the Glide setting the more the pitches of the tied notes slide from one to the next. With a maximum Glide setting of 1.0, the pitch sliding between tied notes is completely fluid so that you can't determine the exact point at which each note starts.

Pitch Set

Selects the notes in the arpeggio. Choose notes by clicking on them.


Controls the movement of the arpeggio. The arpeggio can move Up, Down, Up/Down (up, then down), or in a Random pattern.

Base Octave


Defines the position of the Pitch Set keyboard within the full range of musical pitches. Also determines the Base Octave of the arpeggio (Osc 1), with 1 being the lowest and 8 the highest.

With Base Octave set to 1, the lowest note of the Pitch Set keyboard is C0 (~16.35Hz) - the C below the lowest C on a full piano keyboard. With Base Octave set to 8, the middle C on the Pitch Set keyboard corresponds to C8 (~4186Hz) – the highest note on a full 88 key piano keyboard.


Controls the number of times a sequence (as determined on the Pitch Set) will recur. Functions in tandem with Cycle Transpose to define the total pitch range of the arpeggio.

Cy. Trans


Controls the number of semitones by which a sequence is transposed, each time it recurs. This parameter is only activated when Range is set to 2 or more. Every time the sequence recurs it is transposed by the number of semitones specified as the Cycle Transpose.

For example, if Range is set to 3 and Cycle Transpose is set to 12 (twelve semitones, or an octave), the sequence will play three times: (1) the original pitches specified by the Pitch Set and Base Octave, (2) shifted up by an octave, and finally (3) shifted up by a further octave. Then the sequence returns to the Base Octave and the cycling process starts again.



Introduces randomness into the arpeggios by controlling the probability that notes in the melodic sequence will be skipped over. Higher values increase the likelihood that notes will be skipped.



Introduces randomness into the arpeggios by controlling the probability that notes in the melodic sequence will be repeated. Higher values increase the likelihood that notes will be repeated.

Pattern Editor

Determines the rhythmic pattern used to advance to the next note of the arpeggio, as well as ties between notes. See the Instructions section below for more information.

Cycle Length


Determines the number of beats/bars that occur in a sequence before it returns to the start of the cycle. Arpeggiator does not necessarily produce regularly cycling sequences. If the number of notes selected on the Pitch Set differs from or is not a factor of the number of triggers selected in the Trigger Grid, the sequence may take any number of beats to return to its starting point.

Cycle Length allows you to control irregularities. For example, in 4/4 time when using a rhythmic value of semiquavers, a Cycle Length of 16 represents a one bar cycle, 32 a two bar cycle and so on. A Cycle Length of 0 will have no effect on the sequence and it will carry out its defined course.

Cycle Length uses the same units as the currently selected rhythmic value, as displayed in the drop down menu to the left of the Trigger Grid.


Pattern Editor

The pattern editor displays a rhythmic matrix, which determines the rhythmic pattern used to advance to the next note of the arpeggio. The pattern consists of a matrix of equally spaced cells. You can vary the spacing of the cells, the pattern (loop) length and include one or more time signature changes. Bar and beat numbers are marked along the top of the matrix. By default, the cells are spaced a sixteenth note (semiquaver) apart within a two bar loop of 4/4 time.

The Triggers row indicates the on/off state of each note in the rhythmic pattern. Notes can be toggled on and off by clicking on cells. Click on a cell and drag to "paint" (select) multiple cells without releasing the mouse.

The Ties row indicates whether a note is tied to the following note. Ties are toggled on and off by clicking on cells. See Glide (in the Parameters section above) for more information on ties. Click on a cell and drag to "paint" (select) multiple cells without releasing the mouse.

To select a different rhythmic value (instead of semiquavers) for the cell spacing, click on the drop down list to the left of the matrix and select the desired value. You can also add customized rhythmic values by selecting Other... from the list and entering new values.

To learn about changing the length of the pattern and including time signature changes go to the Editing Rhythmic Patterns and Time Signatures and Rhythmic Units pages of this Help File.

Relevant Example Files

The following files provide some examples of how Arpeggiator can be used:

ArpeggioDrone.amh, HappyPenguins.amh. SidechainingSouthPole.amh, Aava.amh, Chemutengure-MbiraMelody.amh & ChordProgression.amh

To open the Example Files directory, go to the File menu, select Open, and double-click on the Examples folder. Read descriptions of the example files here.

Suggested Uses and Practical Applications

Ross Bencina says: “Connect an Arpeggiator to a SouthPole filter contraption to create traditional analog synthesizer sounds.” Also: “Select a single note for the Pitch Set to generate single note drones.”

Andrew Bencina says: “In the case of the Arpeggiator, it is one of the few harmonic contraptions in AudioMulch that can allow for chordal composition through the automation of pitch sets via presets. In addition, you can get it to perform melodic lines with varying degrees of randomization.”

Technical Discussion

Arpeggiator combines the functionality of an analog dual oscillator synthesizer with an arpeggiating sequencer. It is built around two separate sine, square or saw-tooth oscillators.

Previous Next