# SynthPiano

note: | 52 | amp: | 1 | pan: | 0 | vel: | 0.8
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.8 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