Bass Foundation

note: 40 amp: 1 pan: 0 attack: 0
decay: 0 sustain: 0 release: 1 attack_level: 1
decay_level: sustain_level sustain_level: 1 cutoff: 83 res: 0.5

use_synth :bass_foundation

A soft bass synth inspired by the sounds of the 80s. Use together with :bass_highend if you want to give it a gargling component. Adapted for Sonic Pi from Steal This Sound.

Introduced in v4.0

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 40
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

cutoff:

MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.

Default: 83
Must be zero or greater, must be a value less than 131
May be changed whilst playing
Has slide options to shape changes

res:

Filter resonance as a value between 0 and 1. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.

Default: 0.5
Must be zero or greater, must be a value less than 1
May be changed whilst playing
Has slide options to shape changes

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


Bass Highend

note: 40 amp: 1 pan: 0 attack: 0
decay: 0 sustain: 0 release: 1 attack_level: 1
decay_level: sustain_level sustain_level: 1 cutoff: 102 res: 0.9
drive: 2.0

use_synth :bass_highend

An addition to the :bass_foundation synth inspired by the sounds of the 80s. Use them together if you want to give it a rough, slurping, or gargling component. Adapted for Sonic Pi from Steal This Sound.

Introduced in v4.0

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 40
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

cutoff:

MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.

Default: 102
Must be zero or greater, must be a value less than 131
May be changed whilst playing
Has slide options to shape changes

res:

Filter resonance as a value between 0 and 1. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.

Default: 0.9
Must be zero or greater, must be a value less than 1
May be changed whilst playing
Has slide options to shape changes

drive:

Higher drive values make the sound louder and rougher.

Default: 2.0
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


Sine Wave

note: 52 amp: 1 pan: 0 attack: 0
decay: 0 sustain: 0 release: 1 attack_level: 1
decay_level: sustain_level sustain_level: 1 env_curve: 2

use_synth :beep

A simple pure sine wave. The sine wave is the simplest, purest sound there is and is the fundamental building block of all noise. The mathematician Fourier demonstrated that any sound could be built out of a number of sine waves (the more complex the sound, the more sine waves needed). Have a play combining a number of sine waves to design your own sounds!

Introduced in v2.0

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 52
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

env_curve:

Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed

Default: 2
Must be one of the following values: [1, 2, 3, 4, 6, 7]
Can not be changed once set

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


Blade Runner style strings

note: 52 amp: 1 pan: 0 attack: 0
decay: 0 sustain: 0 release: 1 attack_level: 1
decay_level: sustain_level sustain_level: 1 env_curve: 2 cutoff: 100
vibrato_rate: 6 vibrato_depth: 0.15 vibrato_delay: 0.5 vibrato_onset: 0.1

use_synth :blade

Straight from the 70s, evoking the mists of Blade Runner, this simple electro-style string synth is based on filtered saw waves and a variable vibrato.

Introduced in v2.6

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 52
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

env_curve:

Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed

Default: 2
Must be one of the following values: [1, 2, 3, 4, 6, 7]
Can not be changed once set

cutoff:

MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.

Default: 100
Must be zero or greater, must be a value less than 131
May be changed whilst playing
Has slide options to shape changes

vibrato_rate:

Number of wobbles per second. For realism this should be between 6 and 8, maybe even faster for really high notes.

Default: 6
Must be a value greater than or equal to 0.0, must be a value less than or equal to 20.0
May be changed whilst playing
Has slide options to shape changes

vibrato_depth:

Amount of variation around the central note. 1 is the sensible maximum (but you can go up to 5 if you want a special effect), 0 would mean no vibrato. Works well around 0.15 but you can experiment.

Default: 0.15
Must be a value greater than or equal to 0.0, must be a value less than or equal to 5.0
May be changed whilst playing
Has slide options to shape changes

vibrato_delay:

How long in seconds before the vibrato kicks in.

Default: 0.5
Must be zero or greater
Can not be changed once set

vibrato_onset:

How long in seconds before the vibrato reaches full power.

Default: 0.1
Must be zero or greater
Can not be changed once set

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


Brown Noise

amp: 1 pan: 0 attack: 0 decay: 0
sustain: 0 release: 1 attack_level: 1 decay_level: sustain_level
sustain_level: 1 env_curve: 2 cutoff: 110 res: 0

use_synth :bnoise

Noise whose spectrum falls off in power by 6 dB per octave. Useful for generating percussive sounds such as snares and hand claps. Also useful for simulating wind or sea effects.

Introduced in v2.0

Options

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

env_curve:

Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed

Default: 2
Must be one of the following values: [1, 2, 3, 4, 6, 7]
Can not be changed once set

cutoff:

MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.

Default: 110
Must be zero or greater, must be a value less than 131
May be changed whilst playing
Has slide options to shape changes

res:

Filter resonance as a value between 0 and 1. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.

Default: 0
Must be zero or greater, must be a value less than 1
May be changed whilst playing
Has slide options to shape changes

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


Chip Bass

note: 60 note_resolution: 0.1 amp: 1 pan: 0
attack: 0 decay: 0 sustain: 0 release: 1
attack_level: 1 decay_level: sustain_level sustain_level: 1 env_curve: 2

use_synth :chipbass

A 16 step triangle wave modelled after the 2A03 chip found in voice 3 of the NES games console. This can be used for retro sounding basslines. For complete authenticity with the 2A03 bear in mind that the triangle channel on that chip didn’t have a volume control.

Introduced in v2.10

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 60
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

note_resolution:

Locks down the note resolution to be multiples of this (MIDI) number. For example, a note_resolution: of 1 will only allow semitones to be played. When used in conjunction with note_slide: produces a staircase of notes rather than a continuous line which is how things were on the NES. Set to 0 to disable. This wasn’t a feature of this triangle (bass) channel on the original chip but some emulators have added it in since.

Default: 0.1
Must be zero or greater
May be changed whilst playing

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

env_curve:

Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed

Default: 2
Must be one of the following values: [1, 2, 3, 4, 6, 7]
Can not be changed once set

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


Chip Lead

note: 60 note_resolution: 0.1 amp: 1 pan: 0
attack: 0 decay: 0 sustain: 0 release: 1
attack_level: 1 decay_level: sustain_level sustain_level: 1 env_curve: 2
width: 0

use_synth :chiplead

A slightly clipped square (pulse) wave with phases of 12.5%, 25% or 50% modelled after the 2A03 chip found in voices 1 and 2 of the NES games console. This can be used for retro sounding leads and harmonised lines. This also adds an opt ‘note_resolution’ which locks the note slide to certain pitches which are multiples of the step size. This allows for emulation of the sweep setting on the 2A03.

Introduced in v2.10

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 60
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

note_resolution:

Locks down the note resolution to be multiples of this (MIDI) number. For example, a note_resolution: of 1 will only allow semitones to be played. When used in conjunction with note_slide: produces a staircase of notes rather than a continuous line which is how things were on the NES. Set to 0 to disable. This wasn’t a feature of this triangle (bass) channel on the original chip but some emulators have added it in since.

Default: 0.1
Must be zero or greater
May be changed whilst playing

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

env_curve:

Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed

Default: 2
Must be one of the following values: [1, 2, 3, 4, 6, 7]
Can not be changed once set

width:

Which of the three pulse_widths to use - 0 => 12.5%, 1 => 25%, 2 => 50%

Default: 0
Must be one of the following values: [0, 1, 2]
May be changed whilst playing

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


Chip Noise

amp: 1 pan: 0 attack: 0 decay: 0
sustain: 0 release: 1 attack_level: 1 decay_level: sustain_level
sustain_level: 1 env_curve: 0 freq_band: 0

use_synth :chipnoise

Generates noise whose values are either -1 or 1 (like a pulse or square wave) with one of 16 particular frequencies. This is similar to the noise channel on the 2A03 chip used in the NES games console, although it lacks the same Pseudo-Random Number Generator (PRNG) and doesn’t implement the 2A03’s lesser used noise mode. The amplitude envelope defaults to moving by step to keep that 16 bit feel and this synth also has a slight soft clipping to better imitate the original sound of the device. Use for retro effects, hand claps, snare drums and hi-hats.

Introduced in v2.10

Options

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

env_curve:

Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed

Default: 0
Must be one of the following values: [1, 2, 3, 4, 6, 7]
Can not be changed once set

freq_band:

Which of the 16 frequency bands to use, from 0 to 15. These range from 220Hz to 225kHz as on the original chip. This arg will accept floats but round to the nearest integer to allow for sweeping through the 16 set points with envelopes.

Default: 0
Must be a value between 0 and 15 inclusively
May be changed whilst playing
Has slide options to shape changes

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


Clip Noise

amp: 1 pan: 0 attack: 0 decay: 0
sustain: 0 release: 1 attack_level: 1 decay_level: sustain_level
sustain_level: 1 env_curve: 2 cutoff: 110 res: 0

use_synth :cnoise

Generates noise whose values are either -1 or 1. This produces the maximum energy for the least peak to peak amplitude. Useful for generating percussive sounds such as snares and hand claps. Also useful for simulating wind or sea effects.

Introduced in v2.0

Options

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

env_curve:

Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed

Default: 2
Must be one of the following values: [1, 2, 3, 4, 6, 7]
Can not be changed once set

cutoff:

MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.

Default: 110
Must be zero or greater, must be a value less than 131
May be changed whilst playing
Has slide options to shape changes

res:

Filter resonance as a value between 0 and 1. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.

Default: 0
Must be zero or greater, must be a value less than 1
May be changed whilst playing
Has slide options to shape changes

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


Dark Ambience

note: 52 amp: 1 pan: 0 attack: 0
decay: 0 sustain: 0 release: 1 attack_level: 1
decay_level: sustain_level sustain_level: 1 env_curve: 2 cutoff: 110
res: 0.7 detune1: 12 detune2: 24 noise: 0
ring: 0.2 room: 70 reverb_time: 100

use_synth :dark_ambience

A slow rolling bass with a sparkle of light trying to escape the darkness. Great for an ambient sound.

Introduced in v2.4

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 52
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

env_curve:

Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed

Default: 2
Must be one of the following values: [1, 2, 3, 4, 6, 7]
Can not be changed once set

cutoff:

MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.

Default: 110
Must be zero or greater, must be a value less than 131
May be changed whilst playing
Has slide options to shape changes

res:

Filter resonance as a value between 0 and 1. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.

Default: 0.7
Must be zero or greater, must be a value less than 1
May be changed whilst playing
Has slide options to shape changes

detune1:

Distance (in MIDI notes) between the main note and the second component of sound. Affects thickness, sense of tuning and harmony.

Default: 12
Can not be changed once set
Has slide options to shape changes

detune2:

Distance (in MIDI notes) between the main note and the third component of sound. Affects thickness, sense of tuning and harmony. Tiny values such as 0.1 create a thick sound.

Default: 24
Can not be changed once set
Has slide options to shape changes

noise:

Noise source. Has a subtle effect on the timbre of the sound. 0=pink noise (the default), 1=brown noise, 2=white noise, 3=clip noise and 4=grey noise

Default: 0
Must be one of the following values: [0, 1, 2, 3, 4]
May be changed whilst playing

ring:

Amount of ring in the sound. Lower values create a more rough sound, higher values produce a sound with more focus.

Default: 0.2
Must be a value between 0.1 and 50 inclusively
May be changed whilst playing

room:

Room size in squared metres used to calculate the reverb.

Default: 70
Must be a value greater than or equal to 0.1, must be a value less than or equal to 300
Can not be changed once set

reverb_time:

How long in beats the reverb should go on for.

Default: 100
Must be zero or greater
Can not be changed once set

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


Detuned Pulse Wave

note: 52 amp: 1 pan: 0 attack: 0
decay: 0 sustain: 0 release: 1 attack_level: 1
decay_level: sustain_level sustain_level: 1 env_curve: 2 cutoff: 100
detune: 0.1 pulse_width: 0.5 dpulse_width: pulse_width

use_synth :dpulse

A pair of detuned pulse waves passed through a low pass filter. Two pulse waves with slightly different frequencies generates a nice thick sound which can be used as a basis for some nice bass sounds. Thicken the sound by increasing the detune value, or create an octave-playing synth by choosing a detune of 12 (12 MIDI notes is an octave). Each pulse wave can also have individual widths (although the default is for the detuned pulse to mirror the width of the main pulse).

Introduced in v2.8

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 52
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

env_curve:

Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed

Default: 2
Must be one of the following values: [1, 2, 3, 4, 6, 7]
Can not be changed once set

cutoff:

MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.

Default: 100
Must be zero or greater, must be a value less than 131
May be changed whilst playing
Has slide options to shape changes

detune:

Distance (in MIDI notes) between components of sound. Affects thickness, sense of tuning and harmony. Tiny values such as 0.1 create a thick sound. Larger values such as 0.5 make the tuning sound strange. Even bigger values such as 5 create chord-like sounds.

Default: 0.1
May be changed whilst playing
Has slide options to shape changes

pulse_width:

The width of the pulse wave as a value between 0 and 1. A width of 0.5 will produce a square wave. Different values will change the timbre of the sound. Only valid if wave is type pulse.

Default: 0.5
Must be a value between 0 and 1 exclusively
May be changed whilst playing
Has slide options to shape changes

dpulse_width:

The width of the second detuned pulse wave as a value between 0 and 1. A width of 0.5 will produce a square wave. Different values will change the timbre of the sound. Only valid if wave is type pulse.

Default: pulse_width
Must be a value between 0 and 1 exclusively
May be changed whilst playing
Has slide options to shape changes

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


Detuned Saw wave

note: 52 amp: 1 pan: 0 attack: 0
decay: 0 sustain: 0 release: 1 attack_level: 1
decay_level: sustain_level sustain_level: 1 env_curve: 2 cutoff: 100
detune: 0.1

use_synth :dsaw

A pair of detuned saw waves passed through a low pass filter. Two saw waves with slightly different frequencies generates a nice thick sound which is the basis for a lot of famous synth sounds. Thicken the sound by increasing the detune value, or create an octave-playing synth by choosing a detune of 12 (12 MIDI notes is an octave).

Introduced in v2.0

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 52
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

env_curve:

Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed

Default: 2
Must be one of the following values: [1, 2, 3, 4, 6, 7]
Can not be changed once set

cutoff:

MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.

Default: 100
Must be zero or greater, must be a value less than 131
May be changed whilst playing
Has slide options to shape changes

detune:

Distance (in MIDI notes) between components of sound. Affects thickness, sense of tuning and harmony. Tiny values such as 0.1 create a thick sound. Larger values such as 0.5 make the tuning sound strange. Even bigger values such as 5 create chord-like sounds.

Default: 0.1
May be changed whilst playing
Has slide options to shape changes

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


Detuned Triangle Wave

note: 52 amp: 1 pan: 0 attack: 0
decay: 0 sustain: 0 release: 1 attack_level: 1
decay_level: sustain_level sustain_level: 1 env_curve: 2 cutoff: 100
detune: 0.1

use_synth :dtri

A pair of detuned triangle waves passed through a low pass filter. Two pulse waves with slightly different frequencies generates a nice thick sound which can be used as a basis for some nice bass sounds. Thicken the sound by increasing the detune value, or create an octave-playing synth by choosing a detune of 12 (12 MIDI notes is an octave).

Introduced in v2.10

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 52
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

env_curve:

Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed

Default: 2
Must be one of the following values: [1, 2, 3, 4, 6, 7]
Can not be changed once set

cutoff:

MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.

Default: 100
Must be zero or greater, must be a value less than 131
May be changed whilst playing
Has slide options to shape changes

detune:

Distance (in MIDI notes) between components of sound. Affects thickness, sense of tuning and harmony. Tiny values such as 0.1 create a thick sound. Larger values such as 0.5 make the tuning sound strange. Even bigger values such as 5 create chord-like sounds.

Default: 0.1
May be changed whilst playing
Has slide options to shape changes

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


Dull Bell

note: 52 amp: 1 pan: 0 attack: 0
decay: 0 sustain: 0 release: 1 attack_level: 1
decay_level: sustain_level sustain_level: 1 env_curve: 2

use_synth :dull_bell

A simple dull discordant bell sound.

Introduced in v2.0

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 52
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

env_curve:

Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed

Default: 2
Must be one of the following values: [1, 2, 3, 4, 6, 7]
Can not be changed once set

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


Basic FM synthesis

note: 52 amp: 1 pan: 0 attack: 0
decay: 0 sustain: 0 release: 1 attack_level: 1
decay_level: sustain_level sustain_level: 1 env_curve: 2 cutoff: 100
divisor: 2 depth: 1

use_synth :fm

A sine wave with a fundamental frequency which is modulated at audio rate by another sine wave with a specific modulation, division and depth. Useful for generating a wide range of sounds by playing with the divisor and depth params. Great for deep powerful bass and fun 70s sci-fi sounds.

Introduced in v2.0

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 52
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

env_curve:

Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed

Default: 2
Must be one of the following values: [1, 2, 3, 4, 6, 7]
Can not be changed once set

cutoff:

MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.

Default: 100
Must be zero or greater, must be a value less than 131
May be changed whilst playing
Has slide options to shape changes

divisor:

Modifies the frequency of the modulator oscillator relative to the carrier. Don’t worry too much about what this means - just try different numbers out!

Default: 2
May be changed whilst playing
Has slide options to shape changes

depth:

Modifies the depth of the carrier wave used to modify fundamental frequency. Don’t worry too much about what this means - just try different numbers out!

Default: 1
May be changed whilst playing
Has slide options to shape changes

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


Gabberkick

note: 34 amp: 0.5 pan: 0 attack: 0.001
decay: 0.01 sustain: 0.3 release: 0.02 attack_level: 1
decay_level: 0.7 sustain_level: 0.7 cutoff: 119 res: 0.2
slope_start: 84 slope_length1: 0.015 slope_intermediate: 69 slope_length2: 0.1
boost: 8

use_synth :gabberkick

An aggressive Gabber synth sound, adapted for Sonic Pi from SuperCollider Code. Play a :g1 with default values at about 200 bpm in order to get those punchy Gabber baseline kicks. Intended for short kick sounds, the synth is quite configurable and can produce lots of other interesting sounds, also with longer :sustain values. This synth alters the frequency while it is played along an exponential curve starting at :slope_start, passing through :slope_intermediate, and finally going to :note. This is why the :note parameter as such is not slideable.

Introduced in v4.5

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 34
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 0.5
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0.001
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 0.01
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.

Default: 0.3
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 0.02
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: 0.7
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 0.7
Must be zero or greater
Can not be changed once set

cutoff:

MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.

Default: 119
Must be zero or greater, must be a value less than 131
May be changed whilst playing
Has slide options to shape changes

res:

Filter resonance as a value between 0 and 1. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.

Default: 0.2
Must be zero or greater, must be a value less than 1
May be changed whilst playing
Has slide options to shape changes

slope_start:

The note where the frequency slope starts, typically much higher than the final note.

Default: 84
Must be zero or greater
Can not be changed once set

slope_length1:

The time in seconds between :slope_start and :slope_intermediate.

Default: 0.015
Must be zero or greater
Can not be changed once set

slope_intermediate:

The note where the frequency passes through after :slope_length1, typically much nearer to the final note.

Default: 69
Must be zero or greater
Can not be changed once set

slope_length2:

The time in seconds between :slope_intermediate and the final :note.

Default: 0.1
Must be zero or greater
Can not be changed once set

boost:

Changes the timbre of the synth by boosting the center frequency.

Default: 8
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


Grey Noise

amp: 1 pan: 0 attack: 0 decay: 0
sustain: 0 release: 1 attack_level: 1 decay_level: sustain_level
sustain_level: 1 env_curve: 2 cutoff: 110 res: 0

use_synth :gnoise

Generates noise which results from flipping random bits in a word. The spectrum is emphasised towards lower frequencies. Useful for generating percussive sounds such as snares and hand claps. Also useful for simulating wind or sea effects.

Introduced in v2.0

Options

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

env_curve:

Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed

Default: 2
Must be one of the following values: [1, 2, 3, 4, 6, 7]
Can not be changed once set

cutoff:

MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.

Default: 110
Must be zero or greater, must be a value less than 131
May be changed whilst playing
Has slide options to shape changes

res:

Filter resonance as a value between 0 and 1. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.

Default: 0
Must be zero or greater, must be a value less than 1
May be changed whilst playing
Has slide options to shape changes

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


Growl

note: 52 amp: 1 pan: 0 attack: 0.1
decay: 0 sustain: 0 release: 1 attack_level: 1
decay_level: sustain_level sustain_level: 1 env_curve: 2 cutoff: 130
res: 0.7

use_synth :growl

A deep rumbling growl with a bright sine shining through at higher notes.

Introduced in v2.4

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 52
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0.1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

env_curve:

Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed

Default: 2
Must be one of the following values: [1, 2, 3, 4, 6, 7]
Can not be changed once set

cutoff:

MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.

Default: 130
Must be zero or greater, must be a value less than 131
May be changed whilst playing
Has slide options to shape changes

res:

Filter resonance as a value between 0 and 1. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.

Default: 0.7
Must be zero or greater, must be a value less than 1
May be changed whilst playing
Has slide options to shape changes

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


Hollow

note: 52 amp: 1 pan: 0 attack: 0
decay: 0 sustain: 0 release: 1 attack_level: 1
decay_level: sustain_level sustain_level: 1 env_curve: 2 cutoff: 90
res: 0.99 noise: 1 norm: 0

use_synth :hollow

A hollow breathy sound constructed from random noise

Introduced in v2.4

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 52
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

env_curve:

Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed

Default: 2
Must be one of the following values: [1, 2, 3, 4, 6, 7]
Can not be changed once set

cutoff:

MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.

Default: 90
Must be zero or greater, must be a value less than 131
May be changed whilst playing
Has slide options to shape changes

res:

Filter resonance as a value between 0 and 1. Only functional if a cutoff value is specified. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.

Default: 0.99
Must be zero or greater, must be a value less than 1
May be changed whilst playing
Has slide options to shape changes

noise:

Noise source. Has a subtle effect on the timbre of the sound. 0=pink noise, 1=brown noise (the default), 2=white noise, 3=clip noise and 4=grey noise

Default: 1
Must be one of the following values: [0, 1, 2, 3, 4]
May be changed whilst playing

norm:

Normalise the audio (make quieter parts of the synth’s sound louder and louder parts quieter) - this is similar to the normaliser FX. This may emphasise any clicks caused by clipping.

Default: 0
Must be one of the following values: [0, 1]
May be changed whilst playing

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


Hoover

note: 52 amp: 1 pan: 0 attack: 0.05
decay: 0 sustain: 0 release: 1 attack_level: 1
decay_level: sustain_level sustain_level: 1 env_curve: 2 cutoff: 130
res: 0.1

use_synth :hoover

Classic early 90’s rave synth - ‘a sort of slurry chorussy synth line like the classic Dominator by Human Resource’. Based on Dan Stowell’s implementation in SuperCollider and Daniel Turczanski’s port to Overtone. Works really well with portamento (see docs for the ‘control’ method).

Introduced in v2.6

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 52
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0.05
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

env_curve:

Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed

Default: 2
Must be one of the following values: [1, 2, 3, 4, 6, 7]
Can not be changed once set

cutoff:

MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.

Default: 130
Must be zero or greater, must be a value less than 131
May be changed whilst playing
Has slide options to shape changes

res:

Filter resonance as a value between 0 and 1. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.

Default: 0.1
Must be zero or greater, must be a value less than 1
May be changed whilst playing
Has slide options to shape changes

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


SynthKalimba

note: 52 amp: 1 pan: 0 attack: 0
decay: 0 sustain: 4 release: 1 attack_level: 1
decay_level: sustain_level sustain_level: 1 clickiness: 0.1

use_synth :kalimba

A synthesised kalimba (a type of African thumb piano). Note that due to the plucked nature of this synth the envelope opts such as attack:, sustain: and release: do not work as expected. They can only shorten the natural length of the note, not prolong it. Note the default envelope is longer than usual - sustain: 4 and release: 1

Introduced in v3.3

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 52
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. With the kalimba synth, this opt can only have the effect of shortening the attack phase, not prolonging it.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level). With the kalimba synth, this opt can only have the effect of controlling the amp within the natural duration of the note and can not prolong the sound.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. With the kalimba synth, this opt can only have the effect of controlling the amp within the natural duration of the note and can not prolong the sound.

Default: 4
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. With the kalimba synth, this opt can only have the effect of controlling the amp within the natural duration of the note and can not prolong the sound.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

clickiness:

Ratio of percussive click to melodic note in the sound. A low clickiness like 0.1 works well - higher values might give the impression that the instrument is being played harder. Very high values (towards 1) will be louder!

Default: 0.1
Must be a value between 0 and 1 inclusively
Can not be changed once set

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


Modulated Sine Wave

note: 52 amp: 1 pan: 0 attack: 0
decay: 0 sustain: 0 release: 1 attack_level: 1
decay_level: sustain_level sustain_level: 1 env_curve: 2 cutoff: 100
mod_phase: 0.25 mod_range: 5 mod_pulse_width: 0.5 mod_phase_offset: 0
mod_invert_wave: 0 mod_wave: 1

use_synth :mod_beep

A sine wave passed through a low pass filter which modulates between two separate notes via a variety of control waves.

Introduced in v2.0

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 52
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

env_curve:

Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed

Default: 2
Must be one of the following values: [1, 2, 3, 4, 6, 7]
Can not be changed once set

cutoff:

MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.

Default: 100
Must be zero or greater, must be a value less than 131
May be changed whilst playing
Has slide options to shape changes

mod_phase:

Phase duration in beats of oscillations between the two notes. Time it takes to switch between the notes.

Default: 0.25
Must be greater than zero
May be changed whilst playing
Has slide options to shape changes
Scaled with current BPM value

mod_range:

The size of gap between modulation notes. A gap of 12 is one octave.

Default: 5
May be changed whilst playing
Has slide options to shape changes

mod_pulse_width:

The width of the modulated pulse wave as a value between 0 and 1. A width of 0.5 will produce a square wave. Only valid if mod wave is type pulse.

Default: 0.5
Must be a value between 0 and 1 exclusively
May be changed whilst playing
Has slide options to shape changes

mod_phase_offset:

Initial modulation phase offset (a value between 0 and 1).

Default: 0
Must be a value between 0 and 1 inclusively
Can not be changed once set

mod_invert_wave:

Invert mod waveform (i.e. flip it on the y axis). 0=normal wave, 1=inverted wave.

Default: 0
Must be one of the following values: [0, 1]
May be changed whilst playing

mod_wave:

Wave shape of mod wave. 0=saw wave, 1=pulse, 2=triangle wave and 3=sine wave.

Default: 1
Must be one of the following values: [0, 1, 2, 3]
May be changed whilst playing

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


Modulated Detuned Saw Waves

note: 52 amp: 1 pan: 0 attack: 0
decay: 0 sustain: 0 release: 1 attack_level: 1
decay_level: sustain_level sustain_level: 1 env_curve: 2 cutoff: 100
mod_phase: 0.25 mod_range: 5 mod_pulse_width: 0.5 mod_phase_offset: 0
mod_invert_wave: 0 mod_wave: 1 detune: 0.1

use_synth :mod_dsaw

A pair of detuned saw waves (see the dsaw synth) which are modulated between two fixed notes at a given rate.

Introduced in v2.0

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 52
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

env_curve:

Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed

Default: 2
Must be one of the following values: [1, 2, 3, 4, 6, 7]
Can not be changed once set

cutoff:

MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.

Default: 100
Must be zero or greater, must be a value less than 131
May be changed whilst playing
Has slide options to shape changes

mod_phase:

Phase duration in beats of oscillations between the two notes. Time it takes to switch between the notes.

Default: 0.25
Must be greater than zero
May be changed whilst playing
Has slide options to shape changes
Scaled with current BPM value

mod_range:

The size of gap between modulation notes. A gap of 12 is one octave.

Default: 5
May be changed whilst playing
Has slide options to shape changes

mod_pulse_width:

The width of the modulated pulse wave as a value between 0 and 1. A width of 0.5 will produce a square wave. Only valid if mod wave is type pulse.

Default: 0.5
Must be a value between 0 and 1 exclusively
May be changed whilst playing
Has slide options to shape changes

mod_phase_offset:

Initial modulation phase offset (a value between 0 and 1).

Default: 0
Must be a value between 0 and 1 inclusively
Can not be changed once set

mod_invert_wave:

Invert mod waveform (i.e. flip it on the y axis). 0=normal wave, 1=inverted wave.

Default: 0
Must be one of the following values: [0, 1]
May be changed whilst playing

mod_wave:

Wave shape of mod wave. 0=saw wave, 1=pulse, 2=triangle wave and 3=sine wave.

Default: 1
Must be one of the following values: [0, 1, 2, 3]
May be changed whilst playing

detune:

Distance (in MIDI notes) between components of sound. Affects thickness, sense of tuning and harmony. Tiny values such as 0.1 create a thick sound. Larger values such as 0.5 make the tuning sound strange. Even bigger values such as 5 create chord-like sounds.

Default: 0.1
May be changed whilst playing
Has slide options to shape changes

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


Basic FM synthesis with frequency modulation.

note: 52 amp: 1 pan: 0 attack: 0
decay: 0 sustain: 0 release: 1 attack_level: 1
decay_level: sustain_level sustain_level: 1 env_curve: 2 cutoff: 100
divisor: 2 depth: 1 mod_phase: 0.25 mod_range: 5
mod_pulse_width: 0.5 mod_phase_offset: 0 mod_invert_wave: 0 mod_wave: 1

use_synth :mod_fm

The FM synth modulating between two notes - the duration of the modulation can be modified using the mod_phase arg, the range (number of notes jumped between) by the mod_range arg and the width of the jumps by the mod_width param. The FM synth is a sine wave with a fundamental frequency which is modulated at audio rate by another sine wave with a specific modulation, division and depth. Useful for generating a wide range of sounds by playing with the :divisor and :depth params. Great for deep powerful bass and fun 70s sci-fi sounds.

Introduced in v2.0

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 52
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

env_curve:

Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed

Default: 2
Must be one of the following values: [1, 2, 3, 4, 6, 7]
Can not be changed once set

cutoff:

MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.

Default: 100
Must be zero or greater, must be a value less than 131
May be changed whilst playing
Has slide options to shape changes

divisor:

Modifies the frequency of the modulator oscillator relative to the carrier. Don’t worry too much about what this means - just try different numbers out!

Default: 2
May be changed whilst playing
Has slide options to shape changes

depth:

Modifies the depth of the carrier wave used to modify fundamental frequency. Don’t worry too much about what this means - just try different numbers out!

Default: 1
May be changed whilst playing
Has slide options to shape changes

mod_phase:

Phase duration in beats of oscillations between the two notes. Time it takes to switch between the notes.

Default: 0.25
Must be greater than zero
May be changed whilst playing
Scaled with current BPM value

mod_range:

The size of gap between modulation notes. A gap of 12 is one octave.

Default: 5
May be changed whilst playing

mod_pulse_width:

The width of the modulated pulse wave as a value between 0 and 1. A width of 0.5 will produce a square wave. Only valid if mod wave is type pulse.

Default: 0.5
Must be a value between 0 and 1 exclusively
May be changed whilst playing

mod_phase_offset:

Initial modulation phase offset (a value between 0 and 1).

Default: 0
Must be a value between 0 and 1 inclusively
Can not be changed once set

mod_invert_wave:

Invert mod waveform (i.e. flip it on the y axis). 0=normal wave, 1=inverted wave.

Default: 0
Must be one of the following values: [0, 1]
May be changed whilst playing

mod_wave:

Wave shape of mod wave. 0=saw wave, 1=pulse, 2=triangle wave and 3=sine wave.

Default: 1
Must be one of the following values: [0, 1, 2, 3]
May be changed whilst playing

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


Modulated Pulse

note: 52 amp: 1 pan: 0 attack: 0
decay: 0 sustain: 0 release: 1 attack_level: 1
decay_level: sustain_level sustain_level: 1 env_curve: 2 cutoff: 100
mod_phase: 0.25 mod_range: 5 mod_pulse_width: 0.5 mod_phase_offset: 0
mod_invert_wave: 0 mod_wave: 1 pulse_width: 0.5

use_synth :mod_pulse

A pulse wave with a low pass filter modulating between two notes via a variety of control waves (see mod_wave: arg). The pulse wave defaults to a square wave, but the timbre can be changed dramatically by adjusting the pulse_width arg between 0 and 1.

Introduced in v2.0

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 52
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

env_curve:

Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed

Default: 2
Must be one of the following values: [1, 2, 3, 4, 6, 7]
Can not be changed once set

cutoff:

MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.

Default: 100
Must be zero or greater, must be a value less than 131
May be changed whilst playing
Has slide options to shape changes

mod_phase:

Phase duration in beats of oscillations between the two notes. Time it takes to switch between the notes.

Default: 0.25
Must be greater than zero
May be changed whilst playing
Has slide options to shape changes
Scaled with current BPM value

mod_range:

The size of gap between modulation notes. A gap of 12 is one octave.

Default: 5
May be changed whilst playing
Has slide options to shape changes

mod_pulse_width:

The width of the modulated pulse wave as a value between 0 and 1. A width of 0.5 will produce a square wave. Only valid if mod wave is type pulse.

Default: 0.5
Must be a value between 0 and 1 exclusively
May be changed whilst playing
Has slide options to shape changes

mod_phase_offset:

Initial modulation phase offset (a value between 0 and 1).

Default: 0
Must be a value between 0 and 1 inclusively
Can not be changed once set

mod_invert_wave:

Invert mod waveform (i.e. flip it on the y axis). 0=normal wave, 1=inverted wave.

Default: 0
Must be one of the following values: [0, 1]
May be changed whilst playing

mod_wave:

Wave shape of mod wave. 0=saw wave, 1=pulse, 2=triangle wave and 3=sine wave.

Default: 1
Must be one of the following values: [0, 1, 2, 3]
May be changed whilst playing

pulse_width:

The width of the pulse wave as a value between 0 and 1. A width of 0.5 will produce a square wave. Different values will change the timbre of the sound. Only valid if wave is type pulse.

Default: 0.5
Must be a value between 0 and 1 exclusively
May be changed whilst playing
Has slide options to shape changes

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


Modulated Saw Wave

note: 52 amp: 1 pan: 0 attack: 0
decay: 0 sustain: 0 release: 1 attack_level: 1
decay_level: sustain_level sustain_level: 1 env_curve: 2 cutoff: 100
mod_phase: 0.25 mod_range: 5 mod_pulse_width: 0.5 mod_phase_offset: 0
mod_invert_wave: 0 mod_wave: 1

use_synth :mod_saw

A saw wave passed through a low pass filter which modulates between two separate notes via a variety of control waves.

Introduced in v2.0

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 52
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

env_curve:

Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed

Default: 2
Must be one of the following values: [1, 2, 3, 4, 6, 7]
Can not be changed once set

cutoff:

MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.

Default: 100
Must be zero or greater, must be a value less than 131
May be changed whilst playing
Has slide options to shape changes

mod_phase:

Phase duration in beats of oscillations between the two notes. Time it takes to switch between the notes.

Default: 0.25
Must be greater than zero
May be changed whilst playing
Has slide options to shape changes
Scaled with current BPM value

mod_range:

The size of gap between modulation notes. A gap of 12 is one octave.

Default: 5
May be changed whilst playing
Has slide options to shape changes

mod_pulse_width:

The width of the modulated pulse wave as a value between 0 and 1. A width of 0.5 will produce a square wave. Only valid if mod wave is type pulse.

Default: 0.5
Must be a value between 0 and 1 exclusively
May be changed whilst playing
Has slide options to shape changes

mod_phase_offset:

Initial modulation phase offset (a value between 0 and 1).

Default: 0
Must be a value between 0 and 1 inclusively
Can not be changed once set

mod_invert_wave:

Invert mod waveform (i.e. flip it on the y axis). 0=normal wave, 1=inverted wave.

Default: 0
Must be one of the following values: [0, 1]
May be changed whilst playing

mod_wave:

Wave shape of mod wave. 0=saw wave, 1=pulse, 2=triangle wave and 3=sine wave.

Default: 1
Must be one of the following values: [0, 1, 2, 3]
May be changed whilst playing

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


Modulated Sine Wave

note: 52 amp: 1 pan: 0 attack: 0
decay: 0 sustain: 0 release: 1 attack_level: 1
decay_level: sustain_level sustain_level: 1 env_curve: 2 cutoff: 100
mod_phase: 0.25 mod_range: 5 mod_pulse_width: 0.5 mod_phase_offset: 0
mod_invert_wave: 0 mod_wave: 1

use_synth :mod_sine

A sine wave passed through a low pass filter which modulates between two separate notes via a variety of control waves.

Introduced in v2.0

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 52
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

env_curve:

Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed

Default: 2
Must be one of the following values: [1, 2, 3, 4, 6, 7]
Can not be changed once set

cutoff:

MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.

Default: 100
Must be zero or greater, must be a value less than 131
May be changed whilst playing
Has slide options to shape changes

mod_phase:

Phase duration in beats of oscillations between the two notes. Time it takes to switch between the notes.

Default: 0.25
Must be greater than zero
May be changed whilst playing
Has slide options to shape changes
Scaled with current BPM value

mod_range:

The size of gap between modulation notes. A gap of 12 is one octave.

Default: 5
May be changed whilst playing
Has slide options to shape changes

mod_pulse_width:

The width of the modulated pulse wave as a value between 0 and 1. A width of 0.5 will produce a square wave. Only valid if mod wave is type pulse.

Default: 0.5
Must be a value between 0 and 1 exclusively
May be changed whilst playing
Has slide options to shape changes

mod_phase_offset:

Initial modulation phase offset (a value between 0 and 1).

Default: 0
Must be a value between 0 and 1 inclusively
Can not be changed once set

mod_invert_wave:

Invert mod waveform (i.e. flip it on the y axis). 0=normal wave, 1=inverted wave.

Default: 0
Must be one of the following values: [0, 1]
May be changed whilst playing

mod_wave:

Wave shape of mod wave. 0=saw wave, 1=pulse, 2=triangle wave and 3=sine wave.

Default: 1
Must be one of the following values: [0, 1, 2, 3]
May be changed whilst playing

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


Modulated Triangle Wave

note: 52 amp: 1 pan: 0 attack: 0
decay: 0 sustain: 0 release: 1 attack_level: 1
decay_level: sustain_level sustain_level: 1 env_curve: 2 cutoff: 100
mod_phase: 0.25 mod_range: 5 mod_pulse_width: 0.5 mod_phase_offset: 0
mod_invert_wave: 0 mod_wave: 1

use_synth :mod_tri

A triangle wave passed through a low pass filter which modulates between two separate notes via a variety of control waves.

Introduced in v2.0

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 52
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

env_curve:

Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed

Default: 2
Must be one of the following values: [1, 2, 3, 4, 6, 7]
Can not be changed once set

cutoff:

MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.

Default: 100
Must be zero or greater, must be a value less than 131
May be changed whilst playing
Has slide options to shape changes

mod_phase:

Phase duration in beats of oscillations between the two notes. Time it takes to switch between the notes.

Default: 0.25
Must be greater than zero
May be changed whilst playing
Has slide options to shape changes
Scaled with current BPM value

mod_range:

The size of gap between modulation notes. A gap of 12 is one octave.

Default: 5
May be changed whilst playing
Has slide options to shape changes

mod_pulse_width:

The width of the modulated pulse wave as a value between 0 and 1. A width of 0.5 will produce a square wave. Only valid if mod wave is type pulse.

Default: 0.5
Must be a value between 0 and 1 exclusively
May be changed whilst playing
Has slide options to shape changes

mod_phase_offset:

Initial modulation phase offset (a value between 0 and 1).

Default: 0
Must be a value between 0 and 1 inclusively
Can not be changed once set

mod_invert_wave:

Invert mod waveform (i.e. flip it on the y axis). 0=normal wave, 1=inverted wave.

Default: 0
Must be one of the following values: [0, 1]
May be changed whilst playing

mod_wave:

Wave shape of mod wave. 0=saw wave, 1=pulse, 2=triangle wave and 3=sine wave.

Default: 1
Must be one of the following values: [0, 1, 2, 3]
May be changed whilst playing

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


Noise

amp: 1 pan: 0 attack: 0 decay: 0
sustain: 0 release: 1 attack_level: 1 decay_level: sustain_level
sustain_level: 1 env_curve: 2 cutoff: 110 res: 0

use_synth :noise

Noise that contains equal amounts of energy at every frequency - comparable to radio static. Useful for generating percussive sounds such as snares and hand claps. Also useful for simulating wind or sea effects.

Introduced in v2.0

Options

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

env_curve:

Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed

Default: 2
Must be one of the following values: [1, 2, 3, 4, 6, 7]
Can not be changed once set

cutoff:

MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.

Default: 110
Must be zero or greater, must be a value less than 131
May be changed whilst playing
Has slide options to shape changes

res:

Filter resonance as a value between 0 and 1. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.

Default: 0
Must be zero or greater, must be a value less than 1
May be changed whilst playing
Has slide options to shape changes

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


Organ Tonewheel

note: 60 amp: 1 pan: 0 attack: 0.01
decay: 0 sustain: 1 release: 0.01 attack_level: 1
decay_level: sustain_level sustain_level: 1 bass: 8 quint: 8
fundamental: 8 oct: 8 nazard: 0 blockflute: 0
tierce: 0 larigot: 0 sifflute: 0 rs_freq: 6.7
rs_freq_var: 0.1 rs_pitch_depth: 0.008 rs_delay: 0 rs_onset: 0
rs_pan_depth: 0.05 rs_amplitude_depth: 0.2

use_synth :organ_tonewheel

An emulation of a tonewheel organ with an optional rotary speaker. These instruments were the first electro-mechanical synthesisers, developed in the mid 1930s by Laurens Hammond. They generate sine-like signals with the tonewheels and mix them together. Up to 9 sine waves can be combined in order to control the organ’s timbre, setting their individual levels with drawbar controls. Their sound is often output over a rotary speaker cabinet, producing a characteristic oscillating sound.

Based on work of Chris Wigington and Zé Craum.

Introduced in v4.0

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, 56.5, :C, :C2, :Eb4, or :Ds3. This synth does allow changing or sliding the note while playing. In real tonewheel organs one would get this effect only when fiddling with the motor driving the tonewheel.

Default: 60
Must be zero or greater, must be a value less than 231
May be changed whilst playing
Has slide options to shape changes

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0.01
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 0.01
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

bass:

The drawbar for the tonewheel creating a sound component one octave below the base tone, i.e. half its frequency

Default: 8
Must be a value between 0 and 8 inclusively
May be changed whilst playing
Has slide options to shape changes

quint:

The drawbar for the tonewheel creating a sound component 3/2 of the frequency of the base tone

Default: 8
Must be a value between 0 and 8 inclusively
May be changed whilst playing
Has slide options to shape changes

fundamental:

The drawbar for the tonewheel creating the base tone component. If you turn vibrato off and set just this drawbar to 8 and all the others to 0, you basically get a sine tone for the note to be played.

Default: 8
Must be a value between 0 and 8 inclusively
May be changed whilst playing
Has slide options to shape changes

oct:

The drawbar for the tonewheel creating a sound component one octave above the base tone, i.e. twice its frequency

Default: 8
Must be a value between 0 and 8 inclusively
May be changed whilst playing
Has slide options to shape changes

nazard:

The drawbar for the tonewheel creating a sound component 3 times the frequency of the base tone

Default: 0
Must be a value between 0 and 8 inclusively
May be changed whilst playing
Has slide options to shape changes

blockflute:

The drawbar for the tonewheel creating a sound component 2 octaves above the base tone, i.e. 4 times its frequency.

Default: 0
Must be a value between 0 and 8 inclusively
May be changed whilst playing
Has slide options to shape changes

tierce:

The drawbar for the tonewheel creating a sound component 5 times the frequency of the base tone.

Default: 0
Must be a value between 0 and 8 inclusively
May be changed whilst playing
Has slide options to shape changes

larigot:

The drawbar for the tonewheel creating a sound component 6 times the frequency of the base tone.

Default: 0
Must be a value between 0 and 8 inclusively
May be changed whilst playing
Has slide options to shape changes

sifflute:

The drawbar for the tonewheel creating a sound component 3 octaves above the base tone, i.e. 8 times its frequency.

Default: 0
Must be a value between 0 and 8 inclusively
May be changed whilst playing
Has slide options to shape changes

rs_freq:

Rotation frequency of the rotary speaker in Hertz. The tonewheel organ’s rotary speaker affects sound in (at least) 3 ways: The frequency changes due to a Doppler effect, so that the pitch oscillates around the base frequency, the note the synth is playing. The amplitude and hence the perceived loudness change. When the horns rotate, they sound louder when they point towards the listener. The pan changes: When the horns point sideways, they sound louder on the side they point to.

The ‘chorale’ speed of the speaker is 0.83 Hz, the ‘tremolo’ speed is 6.7 Hz, each referring to the horn. The woofer rotates at a slower speed, which is calculated from the horn’s frequency.

Disable the rotary speaker by setting :rs_freq to 0. Note that while :rs_freq can be slid, sliding up from plain 0 is not possible and sliding to and from frequencies close to 0 may have unexpected effects.

Default: 6.7
Must be a value between 0 and 10 inclusively
May be changed whilst playing
Has slide options to shape changes

rs_freq_var:

Irregularity of the rotation frequency, expressed as a proportion of the rotation frequency. This affects loudness, pan, and pitch.

Default: 0.1
Must be a value between 0 and 1 inclusively
Can not be changed once set

rs_pitch_depth:

Size of the pitch deviation around the fundamental, as a proportion of the fundamental. 0.02 = 2% of the fundamental.

Default: 0.008
Must be a value between 0 and 1 inclusively
Can not be changed once set

rs_delay:

Delay before rotary effect is established, in beats.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

rs_onset:

Transition time in beats from no rotary effect to full rotary effect after the initial delay time.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

rs_pan_depth:

Size of the pan deviation from the centre caused by the rotary speaker.

Default: 0.05
Must be a value between 0 and 1 inclusively
Can not be changed once set

rs_amplitude_depth:

Size of the amplitude variation around the base amplitude.

Default: 0.2
Must be a value between 0 and 1 inclusively
Can not be changed once set

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


SynthPiano

note: 52 amp: 1 pan: 0 vel: 0.2
attack: 0 decay: 0 sustain: 0 release: 1
attack_level: 1 decay_level: sustain_level sustain_level: 1 hard: 0.5
stereo_width: 0

use_synth :piano

A basic piano synthesiser. Note that due to the plucked nature of this synth the envelope opts such as attack:, sustain: and release: do not work as expected. They can only shorten the natural length of the note, not prolong it.

Introduced in v2.6

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, 56.5, :C, :C2, :Eb4, or :Ds3.

Default: 52
Must be zero or greater, must be a value less than 231
May be changed whilst playing
Has slide options to shape changes

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

vel:

Velocity of keypress.

Default: 0.2
Must be a value between 0 and 1 inclusively
Can not be changed once set

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. With the piano synth, this opt can only have the effect of shortening the attack phase, not prolonging it.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level). With the piano synth, this opt can only have the effect of controlling the amp within the natural duration of the note and can not prolong the sound.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. With the piano synth, this opt can only have the effect of controlling the amp within the natural duration of the note and can not prolong the sound.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. With the piano synth, this opt can only have the effect of controlling the amp within the natural duration of the note and can not prolong the sound.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

hard:

Hardness of keypress.

Default: 0.5
Must be a value between 0 and 1 inclusively
Can not be changed once set

stereo_width:

Width of the stereo effect (which makes low notes sound towards the left, high notes towards the right). 0 to 1.

Default: 0
Must be a value between 0 and 1 inclusively
Can not be changed once set

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


SynthPluck

note: 52 amp: 1 pan: 0 attack: 0
sustain: 0 release: 1 attack_level: 1 decay: 0
decay_level: sustain_level sustain_level: 1 noise_amp: 0.8 max_delay_time: 0.125
pluck_decay: 30 coef: 0.3

use_synth :pluck

A basic plucked string synthesiser that uses Karplus-Strong synthesis. Note that due to the plucked nature of this synth the envelope opts such as attack:, sustain: and release: do not work as expected. They can only shorten the natural length of the note, not prolong it. Also, the note: opt will only honour whole tones.

Introduced in v2.10

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3. Note that the piano synth can only play whole tones such as 60 and does not handle floats such as 60.3

Default: 52
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. With the piano synth, this opt can only have the effect of controlling the amp within the natural duration of the note and can not prolong the sound.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. With the piano synth, this opt can only have the effect of controlling the amp within the natural duration of the note and can not prolong the sound.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level). With the piano synth, this opt can only have the effect of controlling the amp within the natural duration of the note and can not prolong the sound.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

noise_amp:

Amplitude of source (pink) noise.

Default: 0.8
Must be a value between 0 and 1 inclusively
Can not be changed once set

max_delay_time:

Maximum length of the delay line buffer.

Default: 0.125
Must be a value between 0.125 and 1 inclusively
Can not be changed once set

pluck_decay:

How long the pluck takes to stabilise on a note. This doesn’t have a dramatic effect on the sound.

Default: 30
Must be a value between 1 and 100 inclusively
Can not be changed once set

coef:

Coefficient of the internal OnePole filter. Values around zero are resonant and bright, values towards 1 sound more dampened and cutoff. It’s a little bit like playing nearer the soundhole/fingerboard for values near zero and more toward the bridge for values approaching one, although this isn’t an exact comparison.

Default: 0.3
Must be a value between -1 and 1 inclusively
Can not be changed once set

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


Pink Noise

amp: 1 pan: 0 attack: 0 decay: 0
sustain: 0 release: 1 attack_level: 1 decay_level: sustain_level
sustain_level: 1 env_curve: 2 cutoff: 110 res: 0

use_synth :pnoise

Noise whose spectrum falls off in power by 3 dB per octave. Useful for generating percussive sounds such as snares and hand claps. Also useful for simulating wind or sea effects.

Introduced in v2.0

Options

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

env_curve:

Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed

Default: 2
Must be one of the following values: [1, 2, 3, 4, 6, 7]
Can not be changed once set

cutoff:

MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.

Default: 110
Must be zero or greater, must be a value less than 131
May be changed whilst playing
Has slide options to shape changes

res:

Filter resonance as a value between 0 and 1. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.

Default: 0
Must be zero or greater, must be a value less than 1
May be changed whilst playing
Has slide options to shape changes

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


Pretty Bell

note: 52 amp: 1 pan: 0 attack: 0
decay: 0 sustain: 0 release: 1 attack_level: 1
decay_level: sustain_level sustain_level: 1 env_curve: 2

use_synth :pretty_bell

A pretty bell sound. Works well with short attacks and long decays.

Introduced in v2.0

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 52
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

env_curve:

Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed

Default: 2
Must be one of the following values: [1, 2, 3, 4, 6, 7]
Can not be changed once set

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


The Prophet

note: 52 amp: 1 pan: 0 attack: 0
decay: 0 sustain: 0 release: 1 attack_level: 1
decay_level: sustain_level sustain_level: 1 env_curve: 2 cutoff: 110
res: 0.7

use_synth :prophet

Dark and swirly, this synth uses Pulse Width Modulation (PWM) to create a timbre which continually moves around. This effect is created using the pulse ugen which produces a variable width square wave. We then control the width of the pulses using a variety of LFOs - sin-osc and lf-tri in this case. We use a number of these LFO modulated pulse ugens with varying LFO type and rate (and phase in some cases) to provide the LFO with a different starting point. We then mix all these pulses together to create a thick sound and then feed it through a resonant low pass filter (rlpf). For extra bass, one of the pulses is an octave lower (half the frequency) and its LFO has a little bit of randomisation thrown into its frequency component for that extra bit of variety.

Synth design adapted from: The Prophet Speaks (page 2) Steal This Sound, Mitchell Sigman

Introduced in v2.0

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 52
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

env_curve:

Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed

Default: 2
Must be one of the following values: [1, 2, 3, 4, 6, 7]
Can not be changed once set

cutoff:

MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.

Default: 110
Must be zero or greater, must be a value less than 131
May be changed whilst playing
Has slide options to shape changes

res:

Filter resonance as a value between 0 and 1. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.

Default: 0.7
Must be zero or greater, must be a value less than 1
May be changed whilst playing
Has slide options to shape changes

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


Pulse Wave

note: 52 amp: 1 pan: 0 attack: 0
decay: 0 sustain: 0 release: 1 attack_level: 1
decay_level: sustain_level sustain_level: 1 env_curve: 2 cutoff: 100
pulse_width: 0.5

use_synth :pulse

A simple pulse wave with a low pass filter. This defaults to a square wave, but the timbre can be changed dramatically by adjusting the pulse_width arg between 0 and 1. The pulse wave is thick and heavy with lower notes and is a great ingredient for bass sounds.

Introduced in v2.0

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 52
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

env_curve:

Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed

Default: 2
Must be one of the following values: [1, 2, 3, 4, 6, 7]
Can not be changed once set

cutoff:

MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.

Default: 100
Must be zero or greater, must be a value less than 131
May be changed whilst playing
Has slide options to shape changes

pulse_width:

The width of the pulse wave as a value between 0 and 1. A width of 0.5 will produce a square wave. Different values will change the timbre of the sound. Only valid if wave is type pulse.

Default: 0.5
Must be a value between 0 and 1 exclusively
May be changed whilst playing
Has slide options to shape changes

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


Rhodey

note: 69 amp: 1 pan: 0 attack: 0.001
decay: 1 sustain: 0 release: 1 attack_level: 1
decay_level: sustain_level sustain_level: 0 lfo_width: 0.3 lfo_rate: 0.4
vel: 0.8 mod_index: 0.2 mix: 0.2

use_synth :rhodey

The sound of an electric piano from the 60’s and 70’s, producing a characteristic metallic sound for notes below :g2. Adapted for Sonic Pi from SuperCollider Code. Note the remarks on :sustain_level, if you are looking for a sustained sound, rather than a plucked one.

Introduced in v4.5

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 69
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0.001
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release. Note that for this value to take effect, the :sustain_level must be greater than zero.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase. Note that the default is zero, so that the envelope rises to the :attack_level taking the :attack time and then goes directly to zero in the :decay time, emulating a plucked instrument. For a sustained sound, set the :sustain_level to a value greater than zero.

Default: 0
Must be zero or greater
Can not be changed once set

lfo_width:

Width of the low-frequency oscillator (LFO) which determines how wide base tones oscillate around their base frequencies; a dimensionless scaled ratio between base and peak oscillator frequencies

Default: 0.3
Must be zero or greater, must be a value less than 1
May be changed whilst playing
Has slide options to shape changes

lfo_rate:

Rate of the low-frequency oscillator (LFO) in Hz which determines how fast base tones oscillate around their base frequencies

Default: 0.4
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

vel:

The velocity of the attack, makes the sound louder and changes the timbre

Default: 0.8
Must be zero or greater, must be a value less than 10
Can not be changed once set

mod_index:

Controls the basic oscillator’s amplitude in the sound generation. For typical electric piano sounds use values between 0 and 1. Values beyond 1 also produce interesting sounds, albeit untypical for an electric piano.

Default: 0.2
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

mix:

Controls the composition of the oscilators. Use values near 1 for a softer, xylophone-like timbre.

Default: 0.2
Must be a value between 0 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


SynthRodeo

note: 52 amp: 1 pan: 0 attack: 0
decay: 1 sustain: 0.8 release: 1 attack_level: 1
decay_level: sustain_level sustain_level: 1 use_chorus: 1 use_compressor: 1
cutoff: 72

use_synth :rodeo

Classic 70’s electric piano sound, with built-in compressor and chorus.

Introduced in v3.3

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 52
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.

Default: 0.8
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

use_chorus:

Enable the chorus effect (on by default).

Default: 1
Must be one of the following values: [0, 1]
Can not be changed once set

use_compressor:

Enable the compressor (on by default).

Default: 1
Must be one of the following values: [0, 1]
Can not be changed once set

cutoff:

MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.

Default: 72
Must be zero or greater, must be a value less than 131
May be changed whilst playing
Has slide options to shape changes

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


Saw Wave

note: 52 amp: 1 pan: 0 attack: 0
decay: 0 sustain: 0 release: 1 attack_level: 1
decay_level: sustain_level sustain_level: 1 env_curve: 2 cutoff: 100

use_synth :saw

A saw wave with a low pass filter. Great for using with FX such as the built in low pass filter (available via the cutoff arg) due to the complexity and thickness of the sound.

Introduced in v2.0

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 52
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

env_curve:

Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed

Default: 2
Must be one of the following values: [1, 2, 3, 4, 6, 7]
Can not be changed once set

cutoff:

MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.

Default: 100
Must be zero or greater, must be a value less than 131
May be changed whilst playing
Has slide options to shape changes

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


SC-808 Bassdrum

note: 32 amp: 1 pan: 0 decay: 2
decay_curve: -7 attenuation: 1

use_synth :sc808_bassdrum

Bassdrum of the SC808 drum machine based on Yoshinosuke Horiuchi’s implementation of the legendary rhythm composer from the early 80s.

Introduced in v4.5

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 32
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

decay:

Internal decay of the bass drum in seconds. Drive it up to 5 or so, in order to get that bass carpet, often featured in hip-hop. Note, you need to increase the duration of the envelope (e.g. the release: opt) to hear this internal decay.

Default: 2
Must be zero or greater
Can not be changed once set

decay_curve:

Curve value for the decay of the bass drum

Default: -7
Can not be changed once set

attenuation:

Base frequency attenuation. Use values around 0.2 or lower for giving the bassdrum a more artificial sound.

Default: 1
Must be zero or greater
Can not be changed once set

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


SC-808 Clap

amp: 1 pan: 0 lpf: 93 hpf: 121
rev: 1

use_synth :sc808_clap

Clap of the SC808 drum machine based on Yoshinosuke Horiuchi’s implementation of the legendary rhythm composer from the early 80s.

Introduced in v4.5

Options

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

lpf:

Low pass filter cutoff value for the clap. A MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.

Default: 93
Must be zero or greater, must be a value less than 131
May be changed whilst playing
Has slide options to shape changes

hpf:

High pass filter cutoff value for the clap. A MIDI note representing the lowest frequencies allowed to be present in the sound. A high value like 100 makes the sound thin and whispy, a low value like 40 removes just the lower bass components of the sound.

Default: 121
Must be zero or greater, must be a value less than 119
May be changed whilst playing
Has slide options to shape changes

rev:

Relative amplitude of the clap’s reverb, making sound more spacious or distant as if it were played in a large room or cave.

Default: 1
Must be zero or greater
Can not be changed once set

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


SC-808 Claves

note: 99 amp: 1 pan: 0 click: 1
decay: 0.1 decay_curve: -20

use_synth :sc808_claves

Claves of the SC808 drum machine based on Yoshinosuke Horiuchi’s implementation of the legendary rhythm composer from the early 80s. This is a percussive synth, so it does not use the standard envelope parameters, neither does it feature slideable parameters.

Introduced in v4.5

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 99
Must be zero or greater
May be changed whilst playing

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

click:

Amount of initial click to the claves sound. 0 is no click and 1 is a hard click.

Default: 1
Must be a value between 0 and 1 inclusively
Can not be changed once set

decay:

Amount of decay for the claves. Higher numbers increase the decay duration.

Default: 0.1
Must be greater than zero
Can not be changed once set

decay_curve:

Curve value for the decay of the claves

Default: -20
Can not be changed once set

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


SC-808 Closed Hi-Hat

amp: 1 pan: 0 hpf: 121.252 lpf: 121.0588
decay: 0.42 decay_curve: -30

use_synth :sc808_closed_hihat

Closed hi-hat of the SC808 drum machine based on Yoshinosuke Horiuchi’s implementation of the legendary rhythm composer from the early 80s. This is a percussive synth, so it does not use the standard envelope parameters, neither does it feature slideable parameters.

Introduced in v4.5

Options

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

hpf:

High pass filter cutoff value for the rimshot. A MIDI note representing the lowest frequencies allowed to be present in the sound. A high value like 100 makes the sound thin and whispy, a low value like 40 removes just the lower bass components of the sound.

Default: 121.252
Must be zero or greater, must be a value less than 131
May be changed whilst playing
Has slide options to shape changes

lpf:

Low pass filter cutoff value for the hi-hat. A MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.

Default: 121.0588
Must be zero or greater, must be a value less than 131
May be changed whilst playing
Has slide options to shape changes

decay:

Decay of the hi-hat in seconds, for shorter and longer sounds. Values beyond 1 may not really sound like a hi-hat, but interesting anyway.

Default: 0.42
Must be zero or greater
Can not be changed once set

decay_curve:

Curve value for the decay of the hi-hat

Default: -30
Can not be changed once set

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


SC-808 Conga High

note: 65 amp: 1 pan: 0 click: 0.15
decay: 6 detune1: 1.22972 detune2: 1.08108 decay_curve: -250

use_synth :sc808_congahi

High conga of the SC808 drum machine based on Yoshinosuke Horiuchi’s implementation of the legendary rhythm composer from the early 80s. This is a percussive synth, so it does not use the standard envelope parameters, neither does it feature slideable parameters.

Introduced in v4.5

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 65
Must be zero or greater
May be changed whilst playing

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

click:

Amount of initial click to the drum sound. 0 is no click and 1 is a hard click.

Default: 0.15
Must be a value between 0 and 1 inclusively
Can not be changed once set

decay:

Amount of decay for the tom. Higher numbers increase the decay duration.

Default: 6
Must be greater than zero
Can not be changed once set

detune1:

Detune multiplier of original pitch for the tom’s timbre. A value of 1 indicates no deviation from the fundamental pitch

Default: 1.22972
Must be greater than zero
Can not be changed once set

detune2:

Second etune multiplier of original pitch for the tom’s timbre. A value of 1 indicates no deviation from the fundamental pitch

Default: 1.08108
Must be greater than zero
Can not be changed once set

decay_curve:

Curve value for the decay of the tom

Default: -250
Can not be changed once set

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


SC-808 Conga Low

note: 52 amp: 1 pan: 0 click: 0.15
decay: 18 detune1: 1.333333 detune2: 1.121212 decay_curve: -250

use_synth :sc808_congalo

Low conga of the SC808 drum machine based on Yoshinosuke Horiuchi’s implementation of the legendary rhythm composer from the early 80s. This is a percussive synth, so it does not use the standard envelope parameters, neither does it feature slideable parameters.

Introduced in v4.5

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 52
Must be zero or greater
May be changed whilst playing

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

click:

Amount of initial click to the drum sound. 0 is no click and 1 is a hard click.

Default: 0.15
Must be a value between 0 and 1 inclusively
Can not be changed once set

decay:

Amount of decay for the tom. Higher numbers increase the decay duration.

Default: 18
Must be greater than zero
Can not be changed once set

detune1:

Detune multiplier of original pitch for the tom’s timbre. A value of 1 indicates no deviation from the fundamental pitch

Default: 1.333333
Must be greater than zero
Can not be changed once set

detune2:

Second etune multiplier of original pitch for the tom’s timbre. A value of 1 indicates no deviation from the fundamental pitch

Default: 1.121212
Must be greater than zero
Can not be changed once set

decay_curve:

Curve value for the decay of the tom

Default: -250
Can not be changed once set

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


SC-808 Conga Mid

note: 57 amp: 1 pan: 0 click: 0.15
decay: 9 detune1: 1.24 detune2: 1.12 decay_curve: -250

use_synth :sc808_congamid

Mid conga of the SC808 drum machine based on Yoshinosuke Horiuchi’s implementation of the legendary rhythm composer from the early 80s. This is a percussive synth, so it does not use the standard envelope parameters, neither does it feature slideable parameters.

Introduced in v4.5

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 57
Must be zero or greater
May be changed whilst playing

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

click:

Amount of initial click to the drum sound. 0 is no click and 1 is a hard click.

Default: 0.15
Must be a value between 0 and 1 inclusively
Can not be changed once set

decay:

Amount of decay for the tom. Higher numbers increase the decay duration.

Default: 9
Must be greater than zero
Can not be changed once set

detune1:

Detune multiplier of original pitch for the tom’s timbre. A value of 1 indicates no deviation from the fundamental pitch

Default: 1.24
Must be greater than zero
Can not be changed once set

detune2:

Second etune multiplier of original pitch for the tom’s timbre. A value of 1 indicates no deviation from the fundamental pitch

Default: 1.12
Must be greater than zero
Can not be changed once set

decay_curve:

Curve value for the decay of the tom

Default: -250
Can not be changed once set

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


SC-808 Cowbell

note: 79.59 detune: -7.084 amp: 1 pan: 0
hpf: 113 decay: 9.5 decay_curve: -90

use_synth :sc808_cowbell

Cowbell of the SC808 drum machine based on Yoshinosuke Horiuchi’s implementation of the legendary rhythm composer from the early 80s. This is a percussive synth, so it does not use the standard envelope parameters, neither does it feature slideable parameters.

Introduced in v4.5

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 79.59
Must be zero or greater
May be changed whilst playing

detune:

Distance (in MIDI notes) between components of sound. Affects thickness, sense of tuning and harmony. Tiny values such as 0.1 create a thick sound. Larger values such as 0.5 make the tuning sound strange. Even bigger values such as 5 create chord-like sounds.

Default: -7.084
May be changed whilst playing

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

hpf:

High pass filter cutoff value for the cowbell. A MIDI note representing the lowest frequencies allowed to be present in the sound. A high value like 100 makes the sound thin and whispy, a low value like 40 removes just the lower bass components of the sound.

Default: 113
Must be zero or greater, must be a value less than 119
May be changed whilst playing
Has slide options to shape changes

decay:

Amount of decay for the cowbell. Higher numbers increase the decay duration.

Default: 9.5
Must be greater than zero
Can not be changed once set

decay_curve:

Curve value for the decay of the cowbell

Default: -90
Can not be changed once set

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


SC-808 Cymbal

amp: 1 pan: 0 decay: 2 decay_curve: -3
tone: 0.002

use_synth :sc808_cymbal

Cymbal of the SC808 drum machine based on Yoshinosuke Horiuchi’s implementation of the legendary rhythm composer from the early 80s. This is a percussive synth, so it does not use the standard envelope parameters, neither does it feature slideable parameters.

Introduced in v4.5

Options

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

decay:

Decay of the cymbal in seconds, for shorter and longer sounds.

Default: 2
Must be zero or greater
Can not be changed once set

decay_curve:

Curve value for the decay of the hi-hat

Default: -3
Can not be changed once set

tone:

Change the timbre by adding in additional frequencies to the sound

Default: 0.002
Must be zero or greater, must be a value less than or equal to 1
May be changed whilst playing

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


SC-808 Maracas

amp: 1 pan: 0 hpf: 113 click: 1
decay: 0.1 decay_curve: -20

use_synth :sc808_maracas

Maracas of the SC808 drum machine based on Yoshinosuke Horiuchi’s implementation of the legendary rhythm composer from the early 80s. This is a percussive synth, so it does not use the standard envelope parameters, neither does it feature slideable parameters.

Introduced in v4.5

Options

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

hpf:

High pass filter cutoff value for the maracas. A MIDI note representing the lowest frequencies allowed to be present in the sound. A high value like 100 makes the sound thin and whispy, a low value like 40 removes just the lower bass components of the sound.

Default: 113
Must be zero or greater, must be a value less than 119
May be changed whilst playing
Has slide options to shape changes

click:

Amount of initial click to the maraca sound. 0 is no click and 1 is a hard click.

Default: 1
Must be a value between 0 and 1 inclusively
Can not be changed once set

decay:

Amount of decay for the maracas. Higher numbers increase the decay duration.

Default: 0.1
Must be greater than zero
Can not be changed once set

decay_curve:

Curve value for the decay of the maracas

Default: -20
Can not be changed once set

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


SC-808 Open Hi-Hat

amp: 1 pan: 0 hpf: 118.551 lpf: 107.213
decay: 0.5 decay_curve: -3

use_synth :sc808_open_hihat

Open hi-hat of the SC808 drum machine based on Yoshinosuke Horiuchi’s implementation of the legendary rhythm composer from the early 80s. This is a percussive synth, so it does not use the standard envelope parameters, neither does it feature slideable parameters. Note that this synth is rather faint and may require an amp of 2 or more to be heard.

Introduced in v4.5

Options

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

hpf:

High pass filter cutoff value for the rimshot. A MIDI note representing the lowest frequencies allowed to be present in the sound. A high value like 100 makes the sound thin and whispy, a low value like 40 removes just the lower bass components of the sound.

Default: 118.551
Must be zero or greater, must be a value less than 131
May be changed whilst playing
Has slide options to shape changes

lpf:

Low pass filter cutoff value for the hi-hat. A MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.

Default: 107.213
Must be zero or greater, must be a value less than 131
May be changed whilst playing
Has slide options to shape changes

decay:

Decay of the hi-hat in seconds, for shorter and longer sounds. Values beyond 1 may not really sound like a hi-hat, but interesting anyway.

Default: 0.5
Must be zero or greater
Can not be changed once set

decay_curve:

Curve value for the decay of the hi-hat

Default: -3
Can not be changed once set

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


SC-808 Rimshot

note: 92 detune: -22 amp: 1 pan: 0
lpf: 63 hpf: 118 decay: 0.07 decay_curve: -42
click: 1

use_synth :sc808_rimshot

Rimshot of the SC808 drum machine based on Yoshinosuke Horiuchi’s implementation of the legendary rhythm composer from the early 80s. This is a percussive synth, so it does not use the standard envelope parameters, neither does it feature slideable parameters.

Introduced in v4.5

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 92
Must be zero or greater
May be changed whilst playing

detune:

Detune in MIDI notes of original pitch for the rimshot’s timbre.

Default: -22
Must be greater than zero
Can not be changed once set

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

lpf:

Low pass filter cutoff value for the rimshot. A MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.

Default: 63
Must be zero or greater, must be a value less than 131
May be changed whilst playing
Has slide options to shape changes

hpf:

High pass filter cutoff value for the rimshot. A MIDI note representing the lowest frequencies allowed to be present in the sound. A high value like 100 makes the sound thin and whispy, a low value like 40 removes just the lower bass components of the sound.

Default: 118
Must be zero or greater, must be a value less than 119
May be changed whilst playing
Has slide options to shape changes

decay:

Amount of decay for the rimshot. Higher numbers increase the decay duration.

Default: 0.07
Must be greater than zero
Can not be changed once set

decay_curve:

Curve value for the decay of the rimshot

Default: -42
Can not be changed once set

click:

Amount of initial click to the rimshot sound. 0 is no click and 1 is a hard click.

Default: 1
Must be a value between 0 and 1 inclusively
Can not be changed once set

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


SC-808 Snare

note: 65 detune: -11 amp: 1 pan: 0
lpf: 93 hpf: 121 mix: 0.7 head_hpf: 30
decay: 4.2 decay_curve: -115 click: 0.999

use_synth :sc808_snare

Snare drum of the SC808 drum machine based on Yoshinosuke Horiuchi’s implementation of the legendary rhythm composer from the early 80s.

Introduced in v4.5

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 65
Must be zero or greater
May be changed whilst playing

detune:

Detune multiplier of original pitch for the snare’s timbre. A value of 1 indicates no deviation from the fundamental pitch

Default: -11
Can not be changed once set

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

lpf:

Low pass filter cutoff value for the snare vibration. A MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.

Default: 93
Must be zero or greater, must be a value less than 131
May be changed whilst playing
Has slide options to shape changes

hpf:

High pass filter cutoff value for the snare vibration. A MIDI note representing the lowest frequencies allowed to be present in the sound. A high value like 100 makes the sound thin and whispy, a low value like 40 removes just the lower bass components of the sound.

Default: 121
Must be zero or greater, must be a value less than 119
May be changed whilst playing
Has slide options to shape changes

mix:

Ratio of amplitude between the sound of the head of the drum (the boom) and the snare of the drum (the buzz). A value of 1 is 100% snare, a value of 0 is 100% head and 0.5 is 50% of each.

Default: 0.7
Must be a value between 0 and 1 inclusively
Can not be changed once set

head_hpf:

High pass filter cutoff value for the head of the drum. A MIDI note representing the lowest frequencies allowed to be present in the sound. Use a lower volume to make the boom part of the snare sound lower.

Default: 30
Must be zero or greater, must be a value less than 119
Can not be changed once set

decay:

Amount of decay for the snare. Higher numbers increase the decay duration.

Default: 4.2
Must be greater than zero
Can not be changed once set

decay_curve:

Curve value for the decay of the snare

Default: -115
Can not be changed once set

click:

Amount of initial click to the drum sound. 0 is no click and 1 is a hard click.

Default: 0.999
Must be a value between 0 and 1 inclusively
Can not be changed once set

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


SC-808 Tom High

note: 52 amp: 1 pan: 0 click: 0.4
decay: 11 detune1: 1.333333 detune2: 1.21212 decay_curve: -250

use_synth :sc808_tomhi

High tom drum of the SC808 drum machine based on Yoshinosuke Horiuchi’s implementation of the legendary rhythm composer from the early 80s. This is a percussive synth, so it does not use the standard envelope parameters, neither does it feature slideable parameters.

Introduced in v4.5

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 52
Must be zero or greater
May be changed whilst playing

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

click:

Amount of initial click to the drum sound. 0 is no click and 1 is a hard click.

Default: 0.4
Must be a value between 0 and 1 inclusively
Can not be changed once set

decay:

Amount of decay for the tom. Higher numbers increase the decay duration.

Default: 11
Must be greater than zero
Can not be changed once set

detune1:

Detune multiplier of original pitch for the tom’s timbre. A value of 1 indicates no deviation from the fundamental pitch

Default: 1.333333
Must be greater than zero
Can not be changed once set

detune2:

Second etune multiplier of original pitch for the tom’s timbre. A value of 1 indicates no deviation from the fundamental pitch

Default: 1.21212
Must be greater than zero
Can not be changed once set

decay_curve:

Curve value for the decay of the tom

Default: -250
Can not be changed once set

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


SC-808 Tom Low

note: 40 amp: 1 pan: 0 click: 0.4
decay: 4 detune1: 1.125 detune2: 1.25 decay_curve: -250

use_synth :sc808_tomlo

Low tom drum of the SC808 drum machine based on Yoshinosuke Horiuchi’s implementation of the legendary rhythm composer from the early 80s. This is a percussive synth, so it does not use the standard envelope parameters, neither does it feature slideable parameters.

Introduced in v4.5

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 40
Must be zero or greater
May be changed whilst playing

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

click:

Amount of initial click to the drum sound. 0 is no click and 1 is a hard click.

Default: 0.4
Must be a value between 0 and 1 inclusively
Can not be changed once set

decay:

Amount of decay for the tom. Higher numbers increase the decay duration.

Default: 4
Must be greater than zero
Can not be changed once set

detune1:

Detune multiplier of original pitch for the tom’s timbre. A value of 1 indicates no deviation from the fundamental pitch

Default: 1.125
Must be greater than zero
Can not be changed once set

detune2:

Second etune multiplier of original pitch for the tom’s timbre. A value of 1 indicates no deviation from the fundamental pitch

Default: 1.25
Must be greater than zero
Can not be changed once set

decay_curve:

Curve value for the decay of the tom

Default: -250
Can not be changed once set

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


SC-808 Tom Mid

note: 44 amp: 1 pan: 0 click: 0.4
decay: 16 detune1: 1.333333 detune2: 1.25 decay_curve: -250

use_synth :sc808_tommid

Mid tom drum of the SC808 drum machine based on Yoshinosuke Horiuchi’s implementation of the legendary rhythm composer from the early 80s.

Introduced in v4.5

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 44
Must be zero or greater
May be changed whilst playing

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

click:

Amount of initial click to the drum sound. 0 is no click and 1 is a hard click.

Default: 0.4
Must be a value between 0 and 1 inclusively
Can not be changed once set

decay:

Amount of decay for the tom. Higher numbers increase the decay duration.

Default: 16
Must be greater than zero
Can not be changed once set

detune1:

Detune multiplier of original pitch for the tom’s timbre. A value of 1 indicates no deviation from the fundamental pitch

Default: 1.333333
Must be greater than zero
Can not be changed once set

detune2:

Second etune multiplier of original pitch for the tom’s timbre. A value of 1 indicates no deviation from the fundamental pitch

Default: 1.25
Must be greater than zero
Can not be changed once set

decay_curve:

Curve value for the decay of the tom

Default: -250
Can not be changed once set

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


Sine Wave

note: 52 amp: 1 pan: 0 attack: 0
decay: 0 sustain: 0 release: 1 attack_level: 1
decay_level: sustain_level sustain_level: 1 env_curve: 2

use_synth :sine

A simple pure sine wave. The sine wave is the simplest, purest sound there is and is the fundamental building block of all noise. The mathematician Fourier demonstrated that any sound could be built out of a number of sine waves (the more complex the sound, the more sine waves needed). Have a play combining a number of sine waves to design your own sounds!

Introduced in v2.0

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 52
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

env_curve:

Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed

Default: 2
Must be one of the following values: [1, 2, 3, 4, 6, 7]
Can not be changed once set

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


Sound In

amp: 1 pan: 0 attack: 0 decay: 0
sustain: 1 release: 0 attack_level: 1 decay_level: sustain_level
sustain_level: 1 env_curve: 0 input: 1

use_synth :sound_in

Treat sound card input as a synth. If your audio card has inputs, you may use this synth to feed the incoming audio into Sonic Pi. This synth will read in a single mono audio stream - for example from a standard microphone or guitar. See :sound_in_stereo for a similar synth capable of reading in a stereo signal.

As with all Sonic Pi synths, there is a default envelope which determines the duration of the lifetime of the synth. Therefore, to get a continuous stream of audio, you need to place consecutive calls to this synth in iteration or a live_loop. For example:

live_loop :playback do

synth :sound_in, sustain: 8

sleep 8

end

Note that if the microphone and speaker are close together (on a laptop or in a small room) you will potentially get a harsh feedback sound.

Also, note that audio in isn’t yet supported on Raspberry Pi.

Introduced in v2.10

Options

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

env_curve:

Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed

Default: 0
Must be one of the following values: [1, 2, 3, 4, 6, 7]
Can not be changed once set

input:

Sound card input channel to obtain audio from. Indexing starts at 1 so input 1 represents the first channel, and channel 2 can be represented by input: 2

Default: 1
Must be a value greater than or equal to 1
May be changed whilst playing

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


Sound In Stereo

amp: 1 pan: 0 attack: 0 decay: 0
sustain: 1 release: 0 attack_level: 1 decay_level: sustain_level
sustain_level: 1 env_curve: 0 input: 1

use_synth :sound_in_stereo

Treat sound card input as a synth. If your audio card has inputs, you may use this synth to feed the incoming audio into Sonic Pi. This synth will read in a stereo audio stream - for example from a stereo microphone or external stereo keyboard. See :sound_in for a similar synth capable of reading in a mono signal. The stereo input is expected to be on consecutive sound card channels.

As with all Sonic Pi synths, there is a default envelope which determines the duration of the lifetime of the synth. Therefore, to get a continuous stream of audio, you need to place consecutive calls to this synth in iteration or a live_loop. For example:

live_loop :playback do

synth :sound_in_stereo, sustain: 8

sleep 8

end

Note that if the microphone and speaker are close together (on a laptop or in a small room) you will potentially get a harsh feedback sound.

Also, note that audio in isn’t yet supported on Raspberry Pi.

Introduced in v2.10

Options

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

env_curve:

Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed

Default: 0
Must be one of the following values: [1, 2, 3, 4, 6, 7]
Can not be changed once set

input:

First of two consecutive sound card input channels to obtain audio from. Indexing starts at 1 so input 1 represents the first channel, and channel 2 can be represented by input: 2

Default: 1
Must be a value greater than or equal to 1
May be changed whilst playing

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


Square Wave

note: 52 amp: 1 pan: 0 attack: 0
decay: 0 sustain: 0 release: 1 attack_level: 1
decay_level: sustain_level sustain_level: 1 env_curve: 2 cutoff: 100

use_synth :square

A simple square wave with a low pass filter. The square wave is thick and heavy with lower notes and is a great ingredient for bass sounds. If you wish to modulate the width of the square wave see the synth pulse.

Introduced in v2.2

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 52
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

env_curve:

Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed

Default: 2
Must be one of the following values: [1, 2, 3, 4, 6, 7]
Can not be changed once set

cutoff:

MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.

Default: 100
Must be zero or greater, must be a value less than 131
May be changed whilst playing
Has slide options to shape changes

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


Pulse Wave with sub

note: 52 amp: 1 pan: 0 attack: 0
decay: 0 sustain: 0 release: 1 attack_level: 1
decay_level: sustain_level sustain_level: 1 env_curve: 2 cutoff: 100
pulse_width: 0.5 sub_amp: 1 sub_detune: -12

use_synth :subpulse

A pulse wave with a sub sine wave passed through a low pass filter. The pulse wave is thick and heavy with lower notes and is a great ingredient for bass sounds - especially with the sub wave.

Introduced in v2.6

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 52
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

env_curve:

Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed

Default: 2
Must be one of the following values: [1, 2, 3, 4, 6, 7]
Can not be changed once set

cutoff:

MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.

Default: 100
Must be zero or greater, must be a value less than 131
May be changed whilst playing
Has slide options to shape changes

pulse_width:

The width of the pulse wave as a value between 0 and 1. A width of 0.5 will produce a square wave. Different values will change the timbre of the sound. Only valid if wave is type pulse.

Default: 0.5
Must be a value between 0 and 1 exclusively
May be changed whilst playing
Has slide options to shape changes

sub_amp:

Amplitude for the additional sine wave.

Default: 1
May be changed whilst playing
Has slide options to shape changes

sub_detune:

Amount of detune from the note for the additional sine wave. Default is -12

Default: -12
May be changed whilst playing
Has slide options to shape changes

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


Supersaw

note: 52 amp: 1 pan: 0 attack: 0
decay: 0 sustain: 0 release: 1 attack_level: 1
decay_level: sustain_level sustain_level: 1 env_curve: 2 cutoff: 130
res: 0.7

use_synth :supersaw

Thick swirly saw waves sparkling and moving about to create a rich trancy sound.

Introduced in v2.0

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 52
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

env_curve:

Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed

Default: 2
Must be one of the following values: [1, 2, 3, 4, 6, 7]
Can not be changed once set

cutoff:

MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.

Default: 130
Must be zero or greater, must be a value less than 131
May be changed whilst playing
Has slide options to shape changes

res:

Filter resonance as a value between 0 and 1. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.

Default: 0.7
Must be zero or greater, must be a value less than 1
May be changed whilst playing
Has slide options to shape changes

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


TB-303 Emulation

note: 52 amp: 1 pan: 0 attack: 0
decay: 0 sustain: 0 release: 1 attack_level: 1
decay_level: sustain_level sustain_level: 1 env_curve: 2 cutoff: 120
cutoff_min: 30 cutoff_attack: attack cutoff_decay: decay cutoff_sustain: sustain
cutoff_release: release cutoff_attack_level: 1 cutoff_decay_level: cutoff_sustain_level cutoff_sustain_level: 1
res: 0.9 wave: 0 pulse_width: 0.5

use_synth :tb303

Emulation of the classic Roland TB-303 Bass Line synthesiser. Overdrive the res (i.e. use very large values) for that classic late 80s acid sound.

Introduced in v2.0

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 52
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

env_curve:

Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed

Default: 2
Must be one of the following values: [1, 2, 3, 4, 6, 7]
Can not be changed once set

cutoff:

The maximum cutoff value as a MIDI note

Default: 120
Must be a value less than or equal to 130
May be changed whilst playing
Has slide options to shape changes

cutoff_min:

The minimum cutoff value.

Default: 30
Must be a value less than or equal to 130
May be changed whilst playing
Has slide options to shape changes

cutoff_attack:

Attack time for cutoff filter. Amount of time (in beats) for sound to reach full cutoff value. Default value is set to match amp envelope’s attack value.

Default: attack
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

cutoff_decay:

Decay time for cutoff filter. Amount of time (in beats) for sound to move from full cutoff value (cutoff attack level) to the cutoff sustain level. Default value is set to match amp envelope’s decay value.

Default: decay
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

cutoff_sustain:

Amount of time for cutoff value to remain at sustain level in beats. Default value is set to match amp envelope’s sustain value.

Default: sustain
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

cutoff_release:

Amount of time (in beats) for sound to move from cutoff sustain value to cutoff min value. Default value is set to match amp envelope’s release value.

Default: release
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

cutoff_attack_level:

The peak cutoff (value of cutoff at peak of attack) as a value between 0 and 1 where 0 is the :cutoff_min and 1 is the :cutoff value

Default: 1
Must be a value between 0 and 1 inclusively
Can not be changed once set

cutoff_decay_level:

The level of cutoff after the decay phase as a value between 0 and 1 where 0 is the :cutoff_min and 1 is the :cutoff value

Default: cutoff_sustain_level
Must be a value between 0 and 1 inclusively
Can not be changed once set

cutoff_sustain_level:

The sustain cutoff (value of cutoff at sustain time) as a value between 0 and 1 where 0 is the :cutoff_min and 1 is the :cutoff value.

Default: 1
Must be a value between 0 and 1 inclusively
Can not be changed once set

res:

Filter resonance as a value between 0 and 1. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.

Default: 0.9
Must be zero or greater, must be a value less than 1
May be changed whilst playing
Has slide options to shape changes

wave:

Wave type - 0 saw, 1 pulse, 2 triangle. Different waves will produce different sounds.

Default: 0
Must be one of the following values: [0, 1, 2]
May be changed whilst playing

pulse_width:

The width of the pulse wave as a value between 0 and 1. A width of 0.5 will produce a square wave. Different values will change the timbre of the sound. Only valid if wave is type pulse.

Default: 0.5
Must be a value between 0 and 1 exclusively
May be changed whilst playing
Has slide options to shape changes

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


TechSaws

note: 52 amp: 1 pan: 0 attack: 0
decay: 0 sustain: 0 release: 1 attack_level: 1
decay_level: sustain_level sustain_level: 1 env_curve: 2 cutoff: 130
res: 0.7

use_synth :tech_saws

Slightly modified supersaw implementation based on http://sccode.org/1-4YS

Introduced in v2.11

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 52
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

env_curve:

Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed

Default: 2
Must be one of the following values: [1, 2, 3, 4, 6, 7]
Can not be changed once set

cutoff:

MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.

Default: 130
Must be zero or greater, must be a value less than 131
May be changed whilst playing
Has slide options to shape changes

res:

Filter resonance as a value between 0 and 1. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.

Default: 0.7
Must be zero or greater, must be a value less than 1
May be changed whilst playing
Has slide options to shape changes

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


Triangle Wave

note: 52 amp: 1 pan: 0 attack: 0
decay: 0 sustain: 0 release: 1 attack_level: 1
decay_level: sustain_level sustain_level: 1 env_curve: 2 cutoff: 100
pulse_width: 0.5

use_synth :tri

A simple triangle wave with a low pass filter.

Introduced in v2.0

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 52
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

env_curve:

Select the shape of the curve between levels in the envelope. 1=linear, 2=exponential, 3=sine, 4=welch, 6=squared, 7=cubed

Default: 2
Must be one of the following values: [1, 2, 3, 4, 6, 7]
Can not be changed once set

cutoff:

MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.

Default: 100
Must be zero or greater, must be a value less than 131
May be changed whilst playing
Has slide options to shape changes

pulse_width:

The width of the pulse wave as a value between 0 and 1. A width of 0.5 will produce a square wave. Different values will change the timbre of the sound. Only valid if wave is type pulse.

Default: 0.5
Must be a value between 0 and 1 exclusively
May be changed whilst playing
Has slide options to shape changes

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


Winwood Lead

note: 69 amp: 1 pan: 0 attack: 0
decay: 0 sustain: 0 release: 1 attack_level: 1
decay_level: sustain_level sustain_level: 1 cutoff: 119 res: 0.2
lfo_width: 0.01 lfo_rate: 8 ramp_ratio: 0.5 ramp_length: 0.2
seed: 0

use_synth :winwood_lead

A lead synth inspired by the Winwood songs from the early 80s. Adapted for Sonic Pi from Steal This Sound.

Introduced in v4.0

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 69
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

cutoff:

MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.

Default: 119
Must be zero or greater, must be a value less than 131
May be changed whilst playing
Has slide options to shape changes

res:

Filter resonance as a value between 0 and 1. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.

Default: 0.2
Must be zero or greater, must be a value less than 1
May be changed whilst playing
Has slide options to shape changes

lfo_width:

Width of the low-frequency oscillator (LFO) which determines how wide base tones oscillate around their base frequencies; a dimensionless scaled ratio between base and peak oscillator frequencies

Default: 0.01
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

lfo_rate:

Rate of the low-frequency oscillator (LFO) in Hz which determines how fast base tones oscillate around their base frequencies

Default: 8
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

ramp_ratio:

The pitch can be configured to ramp up at the beginning. :ramp_ratio determines at which frequency this ramp begins. A value of 1 will ramp the pitch up from 0 Hz, a value of 0.5 will start ramp at 50% of the target frequency indicated by the :note option, and a :ramp_ratio of 0 means no ramp at all.

Default: 0.5
Must be a value between 0 and 1 inclusively
Can not be changed once set

ramp_length:

The length of the pitch ramp, in beats.

Default: 0.2
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

seed:

Seed value for rand num generator used for the phase offset of the triangle low-frequency oscillator (LFO)

Default: 0
Must be zero or greater
Can not be changed once set

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0


Zawa

note: 52 amp: 1 pan: 0 attack: 0
decay: 0 sustain: 0 release: 1 attack_level: 1
decay_level: sustain_level sustain_level: 1 cutoff: 100 res: 0.9
phase: 1 phase_offset: 0 wave: 3 invert_wave: 0
range: 24 disable_wave: 0 pulse_width: 0.5

use_synth :zawa

Saw wave with oscillating timbre. Produces moving saw waves with a unique character controllable with the control oscillator (usage similar to mod synths).

Introduced in v2.0

Options

note:

Note to play. Either a MIDI number or a symbol representing a note. For example: 30, 52, :C, :C2, :Eb4, or :Ds3

Default: 52
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

amp:

The amplitude of the sound. Typically a value between 0 and 1. Higher amplitudes may be used, but won’t make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)

Default: 1
Must be zero or greater
May be changed whilst playing
Has slide options to shape changes

pan:

Position of sound in stereo. With headphones on, this means how much of the sound is in the left ear, and how much is in the right ear. With a value of -1, the sound is completely in the left ear, a value of 0 puts the sound equally in both ears and a value of 1 puts the sound in the right ear. Values in between -1 and 1 move the sound accordingly.

Default: 0
Must be a value between -1 and 1 inclusively
May be changed whilst playing
Has slide options to shape changes

attack:

Amount of time (in beats) for sound to reach full amplitude (attack_level). A short attack (i.e. 0.01) makes the initial part of the sound very percussive like a sharp tap. A longer attack (i.e 1) fades the sound in gently. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

decay:

Amount of time (in beats) for the sound to move from full amplitude (attack_level) to the sustain amplitude (sustain_level).

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

sustain:

Amount of time (in beats) for sound to remain at sustain level amplitude. Longer sustain values result in longer sounds. Full length of sound is attack + decay + sustain + release.

Default: 0
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

release:

Amount of time (in beats) for sound to move from sustain level amplitude to silent. A short release (i.e. 0.01) makes the final part of the sound very percussive (potentially resulting in a click). A longer release (i.e 1) fades the sound out gently. Full length of sound is attack + decay + sustain + release.

Default: 1
Must be zero or greater
Can not be changed once set
Scaled with current BPM value

attack_level:

Amplitude level reached after attack phase and immediately before decay phase

Default: 1
Must be zero or greater
Can not be changed once set

decay_level:

Amplitude level reached after decay phase and immediately before sustain phase. Defaults to sustain_level unless explicitly set

Default: sustain_level
Must be zero or greater
Can not be changed once set

sustain_level:

Amplitude level reached after decay phase and immediately before release phase.

Default: 1
Must be zero or greater
Can not be changed once set

cutoff:

MIDI note representing the highest frequencies allowed to be present in the sound. A low value like 30 makes the sound round and dull, a high value like 100 makes the sound buzzy and crispy.

Default: 100
Must be zero or greater, must be a value less than 131
May be changed whilst playing
Has slide options to shape changes

res:

Filter resonance as a value between 0 and 1. Large amounts of resonance (a res: near 1) can create a whistling sound around the cutoff frequency. Smaller values produce less resonance.

Default: 0.9
Must be zero or greater, must be a value less than 1
May be changed whilst playing
Has slide options to shape changes

phase:

Phase duration in beats of timbre modulation.

Default: 1
Must be greater than zero
May be changed whilst playing
Has slide options to shape changes
Scaled with current BPM value

phase_offset:

Initial phase offset of the sync wave (a value between 0 and 1).

Default: 0
Must be a value between 0 and 1 inclusively
Can not be changed once set

wave:

Wave shape controlling freq sync saw wave. 0=saw wave, 1=pulse, 2=triangle wave and 3=sine wave.

Default: 3
Must be one of the following values: [0, 1, 2, 3]
May be changed whilst playing

invert_wave:

Invert sync freq control waveform (i.e. flip it on the y axis). 0=uninverted wave, 1=inverted wave.

Default: 0
Must be one of the following values: [0, 1]
May be changed whilst playing

range:

Range of the associated sync saw in MIDI notes from the main note. Modifies timbre.

Default: 24
Must be a value between 0 and 90 inclusively
May be changed whilst playing
Has slide options to shape changes

disable_wave:

Enable and disable sync control wave (setting to 1 will stop timbre movement).

Default: 0
Must be one of the following values: [0, 1]
May be changed whilst playing

pulse_width:

The width of the pulse wave as a value between 0 and 1. A width of 0.5 will produce a square wave. Different values will change the timbre of the sound. Only valid if wave is type pulse.

Default: 0.5
Must be a value between 0 and 1 exclusively
May be changed whilst playing
Has slide options to shape changes

Slide Options

Any parameter that is slidable has three additional options named _slide, _slide_curve, and _slide_shape. For example, 'amp' is slidable, so you can also set amp_slide, amp_slide_curve, and amp_slide_shape with the following effects:

_slide:

Amount of time (in beats) for the parameter value to change. A long parameter_slide value means that the parameter takes a long time to slide from the previous value to the new value. A parameter_slide of 0 means that the parameter instantly changes to the new value.

Default: 0

_slide_shape:

Shape of curve. 0: step, 1: linear, 3: sine, 4: welch, 5: custom (use *_slide_curve: opt e.g. amp_slide_curve:), 6: squared, 7: cubed.

Default: 5

_slide_curve:

Shape of the slide curve (only honoured if slide shape is 5). 0 means linear and positive and negative numbers curve the segment up and down respectively.

Default: 0