Audio Nodes

I started looking into Audio Worklets to see if I can prototype some extra functionality for the Web Audio API. These include: Extensions to the oscillator node (phase offset and duty), a new noise node and a hardsync node.

Surprisingly this webpage makes noise - fair warning.


Noise node

A node which returns a couple of different types of noise. Seed is not implemented in the code on this page, but suggested as per below.

Suggested:

// extending AudioScheduleSourceNode
const opts = {
  type: 'white', // 'white' or 'gaussian'
  seed: 'string' // could also easily be int/float
}

let noise = new NoiseNode(opts);

// connect node as per
noise.connect(ctx.destination);

// play
noise.start()
        

Select noise type & play:


Extensions to oscillator

Adds phase shift and duty to pulse wave. Based upon this better oscillator code.

Configure your oscillator: