SuperCollider CLASSES

SinOsc

Interpolating sine wavetable oscillator.
Inherits from: PureUGen : UGen : AbstractFunction : Object

Description

Generates a sine wave. Uses a wavetable lookup oscillator with linear interpolation. Frequency and phase modulation are provided for audio-rate modulation. Technically, SinOsc uses the same implementation as Osc except that its table is fixed to be a sine wave made of 8192 samples.

Other sinewaves oscillators

Class Methods

*ar (freq: 440, phase: 0, mul: 1, add: 0)

*kr (freq: 440, phase: 0, mul: 1, add: 0)

Arguments:

freq

Frequency in Hertz. Sampled at audio-rate.

phase

Phase in radians. Sampled at audio-rate.

NOTE: phase values should be within the range +-8pi. If your phase values are larger then simply use .mod(2pi) to wrap them.
mul

Output will be multiplied by this value.

add

This value will be added to the output.

Inherited class methods

Instance Methods

Inherited instance methods

Examples

// create an audio-rate sine wave at 200 Hz,
// starting with phase 0 and an amplitude of 0.5
{ SinOsc.ar(200, 0, 0.5) }.play;

// modulate the frequency with an exponential ramp
{ SinOsc.ar(XLine.kr(2000, 200), 0, 0.5) }.play;

// more complex frequency modulation
{ SinOsc.ar(SinOsc.ar(XLine.kr(1, 1000, 9), 0, 200, 800), 0, 0.25) }.play;

// phase modulation (see also PMOsc)
{ SinOsc.ar(800, SinOsc.ar(XLine.kr(1, 1000, 9), 0, 2pi), 0.25) }.play;