SuperCollider CLASSES (extension)


super-efficient square-wave oscillator with low aliasing
Inherits from: Object


Use this just like the Pulse UGen - as with SawDPW, this uses the "Differentiated Parabolic Wave" technique to create a waveform extremely efficiently and with low (but not zero) aliasing.

freq - Frequency in Hertz (control rate)

width - Pulse width ratio from zero to one. 0.5 makes a square wave. This cannot be modulated.

This is actually a "pseudo-ugen" based on SawDPW rather than a separate UGen in itself, but is still very efficient. Compare the CPU usage in these examples:

Class Methods

Inherited class methods

Undocumented class methods

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

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

*new (rate: 'ar', freq: 440, width: 0.5, mul: 1, add: 0)

Instance Methods

Inherited instance methods


// modulate frequency
{ Pulse   .ar(,4000,6),0.1, 0.2) }.play;
{,4000,6),0.1, 0.2) }.play;

// two band limited square waves thru a resonant low pass filter
{   .ar([100,250],0.5,0.1),,400,5), 0.05) }.play;
{[100,250],0.5,0.1),,400,5), 0.05) }.play;