SuperCollider CLASSES


The Vibrato oscillator models a slow frequency modulation.
Inherits from: PureUGen : UGen : AbstractFunction : Object


Vibrato is a slow frequency modulation. Consider the systematic deviation in pitch of a singer around a fundamental frequency, or a violinist whose finger wobbles in position on the fingerboard, slightly tightening and loosening the string to add shimmer to the pitch. There is often also a delay before vibrato is established on a note. This UGen models these processes; by setting more extreme settings, you can get back to the timbres of FM synthesis. You can also add in some noise to the vibrato rate and vibrato size (modulation depth) to make for a more realistic motor pattern.

The vibrato output is a waveform based on a squared envelope shape with four stages marking out 0.0 to 1.0, 1.0 to 0.0, 0.0 to -1.0, and -1.0 back to 0.0. Vibrato rate determines how quickly you move through these stages.

Class Methods

*ar (freq: 440, rate: 6, depth: 0.02, delay: 0, onset: 0, rateVariation: 0.04, depthVariation: 0.1, iphase: 0, trig: 0)

*kr (freq: 440, rate: 6, depth: 0.02, delay: 0, onset: 0, rateVariation: 0.04, depthVariation: 0.1, iphase: 0, trig: 0)



Fundamental frequency in Hertz. If the Vibrato UGen is running at audio rate, this must not be a constant, but an actual audio rate UGen (see example below)


Vibrato rate, speed of wobble in Hertz. Note that if this is set to a low value (and definitely with 0.0), you may never get vibrato back, since the rate input is only checked at the end of a cycle.


Size of vibrato frequency deviation around the fundamental, as a proportion of the fundamental. 0.02 = 2% of the fundamental.


Delay before vibrato is established in seconds (a singer tends to attack a note and then stabilise with vibrato, for instance).


Transition time in seconds from no vibrato to full vibrato after the initial delay time.


Noise on the rate, expressed as a proportion of the rate; can change once per cycle of vibrato.


Noise on the depth of modulation, expressed as a proportion of the depth; can change once per cycle of vibrato. The noise affects independently the up and the down part of vibrato shape within a cycle.


Initial phase of vibrato modulation, allowing starting above or below the fundamental rather than on it.


Start again if transition from trig <= 0 to trig > 0.

Inherited class methods

Instance Methods

Inherited instance methods


//vibrato at 1 Hz, note the use of UGen; a constant of 400.0 doesn't work
{,1,0.02) )}.play

//compare: k-rate freq input can be a constant

//control rate and rateVariation
{,,100.0),0.1,1.0,1.0,,1.0),0.1) )}.play

//control depth and depthVariation
{,,3,7),,1.0),1.0,1.0,,1.0),0.1) )}.play