Skip to content
stellartux edited this page Nov 21, 2024 · 5 revisions

Websynth

Mode

Each mode of websynth acts as the signal generator for the oscillator of each node.

Additive

The additive mode is essentially a wrapper around the browser's built-in OscillatorNode interface. The big + button in the top left adds another oscillator to the synth, which will trigger on each note press.

Option Description
Waveform The shape of the waveform
Gain The output level
Detune Pitch offset in cents
Note Offset Pitch offset in semitones
Octave Pitch offset in octaves
Ø (Invert) Invert the polarity of the waveform

Harmonics

The harmonics mode creates the waveform by generating the level of each harmonic then applying the inverse Fourier transform. The function f(k) calculates the reciprocal of the level of the kth harmonic, for N harmonics.

Token Description
k the harmonic being calculated
N the total number of harmonics being calculated
i j im the imaginary unit
pi π pi
e the natural base e
x + y x plus y
x - y x minus y
x * y x multiplied by y
x / y x divided by y
x ** y x ^ y x to the power y
x' the complex conjugate of x
sqrt(x) the square root of x
abs(x) the absolute value of x
exp(x) the exponent of x

Number and variables can be multiplied implicitly by concatenation, i.e. 3i is equivalent to 3 * i, 4k is 4 * k, etc.

Bytebeat

The bytebeat mode generates the signal by calculating the level by TODO

Wasmbeat

The wasmbeat mode TODO

Envelope

The envelope alters the level of each note over time.

Parameter Description
Attack The time from the note onset to the peak
Decay The time from the peak to the sustain level
Sustain The level of held notes relative to the peak
Release The time from note release to silence

Plans

  • More instructions for the wasmbeat mode.
    • swap dup
    • macros
    • functions
  • Keyboard split
    • have each section of the keyboard assignable to a different synth mode/envelope/etc
  • Add options for sustain and release of the envelope of the sustain pedal
    • currently, notes held with the sustain pedal follow the same envelope as notes held on the keyboard
  • Karplus-Strong synthesis mode
  • Polyphony modes
    • polyphonic
    • monophonic
    • glissando
    • arpeggio/trill
  • Alternate tunings
Clone this wiki locally