Classes | UGens > Generators > Deterministic

VOsc3 : PureUGen : UGen : AbstractFunction : Object

Three variable wavetable oscillators.
Source: Osc.sc


A wavetable lookup oscillator which can be swept smoothly across wavetables. All the wavetables must be allocated to the same size. Fractional values of table will interpolate between two adjacent tables. This unit generator contains three oscillators at different frequencies, mixed together.

This oscillator requires at least two buffers to be filled with a wavetable format signal. This preprocesses the Signal into a form which can be used efficiently by the Oscillator. The buffer size must be a power of 2.

This can be achieved by creating a Buffer object and sending it one of the "b_gen" messages ( sine1, sine2, sine3 ) with the wavetable flag set to true.

This can also be achieved by creating a Signal object and sending it the asWavetable message, saving it to disk, and having the server load it from there.

If you use Buffer objects to manage buffer numbers, you can use the [*allocConsecutive] method to allocate a continuous block of buffers. See the Buffer helpfile for details.

NOTE: VOsc3 requires the b_gen sine1 wavetable flag to be ON.

Class Methods

VOsc3.ar(bufpos, freq1: 110.0, freq2: 220.0, freq3: 440.0, mul: 1.0, add: 0.0)

VOsc3.kr(bufpos, freq1: 110.0, freq2: 220.0, freq3: 440.0, mul: 1.0, add: 0.0)



Buffer index. Can be swept continuously among adjacent wavetable buffers of the same size.


Frequency in Hertz of the 1st oscillator.


Frequency in Hertz of the 2nd oscillator.


Frequency in Hertz of the 3rd oscillator.


Output will be multiplied by this value.


This value will be added to the output.

Inherited class methods

Instance Methods

Inherited instance methods