# Slicer

amp: | 1 | mix: | 1 | pre_mix: | 1 | pre_amp: | 1
phase: | 0.25 | amp_min: | 0 | amp_max: | 1 | pulse_width: | 0.5
phase_offset: | 0 | wave: | 1 | invert_wave: | 0 | probability: | 0
prob_pos: | 0 | seed: | 0 | smooth: | 0 | smooth_up: | 0
smooth_down: | 0

``

    with_fx :slicer do
      play 50
    end

Modulates the amplitude of the input signal with a specific control wave and phase duration. With the default pulse wave, slices the signal in and out, with the triangle wave, fades the signal in and out and with the saw wave, phases the signal in and then dramatically out. Control wave may be inverted with the arg invert_wave for more variety.

Introduced in v2.0

## Options

amp: | The amplitude of the resulting effect. 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_mix: | The amount (percentage) of the original signal that is fed into the internal FX system as a value between 0 and 1. With a pre_mix: of 0 the FX is completely bypassed unlike a mix: of 0 where the internal FX is still being fed the original signal but the output of the FX is ignored. The difference between the two is subtle but important and is evident when the FX has a residual component such as echo or reverb. When switching mix: from 0 to 1, the residual component of the FX’s output from previous audio is present in the output signal. With pre_mix: there is no residual component of the previous audio in the output signal. Default: 1 Must be zero or greater 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) of the slices Default: 0.25 Must be greater than zero May be changed whilst playing Has slide options to shape changes Scaled with current BPM value
amp_min: | Minimum amplitude of the slicer Default: 0 Must be zero or greater May be changed whilst playing Has slide options to shape changes
amp_max: | Maximum amplitude of the slicer Default: 1 Must be zero or greater 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
phase_offset: | Initial phase offset. Default: 0 Must be a value between 0 and 1 inclusively Can not be changed once set
wave: | Control waveform used to modulate the amplitude. 0=saw, 1=pulse, 2=tri, 3=sine Default: 1 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
probability: | Probability (as a value between 0 and 1) that a given slice will be replaced by the value of the prob_pos opt (which defaults to 0, i.e. silence) 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 slicer 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