# Wobble

amp: | 1 | mix: | 1 | pre_amp: | 1 | phase: | 0.5
cutoff_min: | 60 | cutoff_max: | 120 | res: | 0.8 | phase_offset: | 0
wave: | 0 | invert_wave: | 0 | pulse_width: | 0.5 | filter: | 0
probability: | 0 | prob_pos: | 0 | seed: | 0 | smooth: | 0
smooth_up: | 0 | smooth_down: | 0

``

    with_fx :wobble do
      play 50
    end

Versatile wobble FX. Will repeatedly modulate a range of filters (rlpf, rhpf) between two cutoff values using a range of control wave forms (saw, pulse, tri, sine). You may alter the phase duration of the wobble, and the resonance of the filter. Combines well with the dsaw synth for crazy dub wobbles. Cutoff value is at cutoff_min at the start of phase

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
mix: | The amount (percentage) of FX present in the resulting sound represented as a value between 0 and 1. For example, a mix of 0 means that only the original sound is heard, a mix of 1 means that only the FX is heard (typically the default) and a mix of 0.5 means that half the original and half of the FX is heard. Default: 1 Must be a value between 0 and 1 inclusively May be changed whilst playing Has slide options to shape changes
pre_amp: | Amplification applied to the input signal immediately before it is passed to the FX. Default: 1 Must be zero or greater May be changed whilst playing Has slide options to shape changes
phase: | The phase duration (in beats) for filter modulation cycles Default: 0.5 Must be greater than zero May be changed whilst playing Has slide options to shape changes Scaled with current BPM value
cutoff_min: | Minimum (MIDI) note that filter will move to whilst wobbling. Choose a lower note for a higher range of movement. Full range of movement is the distance between cutoff_max and cutoff_min Default: 60 Must be zero or greater,must be a value less than 130 May be changed whilst playing Has slide options to shape changes
cutoff_max: | Maximum (MIDI) note that filter will move to whilst wobbling. Choose a higher note for a higher range of movement. Full range of movement is the distance between cutoff_max and cutoff_min Default: 120 Must be zero or greater,must be a value less than 130 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.8 Must be zero or greater,must be a value less than 1 May be changed whilst playing Has slide options to shape changes
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
wave: | Wave shape of wobble. Use 0 for saw wave, 1 for pulse, 2 for triangle wave and 3 for a sine wave. Default: 0 Must be one of the following values: [0, 1, 2, 3] May be changed whilst playing
invert_wave: | Invert 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
pulse_width: | Only valid if wave is type pulse. Default: 0.5 Must be zero or greater May be changed whilst playing Has slide options to shape changes
filter: | Filter used for wobble effect. Use 0 for a resonant low pass filter or 1 for a resonant high pass filter Default: 0 Must be one of the following values: [0, 1] May be changed whilst playing
probability: | Probability (as a value between 0 and 1) that a given wobble will be replaced by the value of the prob_pos opt (which defaults to 0, i.e. min_cutoff) Default: 0 Must be a value between 0 and 1 inclusively May be changed whilst playing Has slide options to shape changes
prob_pos: | Position of the wobble that will be jumped to when the probability test passes as a value between 0 and 1 Default: 0 Must be a value between 0 and 1 inclusively May be changed whilst playing Has slide options to shape changes
seed: | Seed value for rand num generator used for probability test Default: 0 Can not be changed once set
smooth: | Amount of time in seconds to transition from the current value to the next. Allows you to round off harsh edges in the slicer wave which may cause clicks. Default: 0 Must be zero or greater May be changed whilst playing Has slide options to shape changes
smooth_up: | Amount of time in seconds to transition from the current value to the next only when the value is going up. This smoothing happens before the main smooth mechanism. Default: 0 Must be zero or greater May be changed whilst playing Has slide options to shape changes
smooth_down: | Amount of time in seconds to transition from the current value to the next only when the value is going down. This smoothing happens before the main smooth mechanism. Default: 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