Pulse oscillator

ATMOSYNTH built-in module

A square wave whose two halves need not be equal. Width is how much of each cycle is spent high: at a half it is the ordinary square, and away from a half it thins towards a reedy, hollow tone. Width is an input as well as a knob, and moving it with a slow wave is pulse width modulation — the shimmer a single oscillator makes when it sounds like more than one, and the thing the Juno-60 is built on. Detune works as it does on the other oscillators: the knob and what is patched into it can each move the pitch four octaves. This module carries code: the vocabulary's own square is fixed at half and its options cannot reach a width.

Four notes played on it, from a Keyboard, as a patch plays it.

What it is made of

Ports: note input ‘Note’, audio input ‘Width’, audio input ‘Detune’, audio output ‘Out’.

  • ‘note’: note input · port midi · modulates the frequency of ‘gen’
  • ‘gen’: Worklet (your own code) · processor name atmosynth-pulse · inputs 0 · outputs 1 · runs its author’s code · into ‘out’ · width turned by ‘Width’ · detune turned by ‘Detune (cents)’
  • ‘widthin’: audio input · port width · into ‘widthdepth’
  • ‘widthdepth’: Gain · modulates the width of ‘gen’ · level turned by ‘Width amount’
  • ‘detunein’: audio input · port detune · into ‘detunedepth’
  • ‘detunedepth’: Gain · modulates the detune of ‘gen’ · level turned by ‘Detune amount (cents)’
  • ‘out’: audio output · port out
  • ‘Width’: knob, 0.02 to 0.98
  • ‘Width amount’: knob, 0 to 0.48
  • ‘Detune (cents)’: knob, -4800 to 4800
  • ‘Detune amount (cents)’: knob, 0 to 4800

Patches built on it

8 published patches