TypeAudio

TYPESHADE / AUDIO ENGINE

Sound, written
in TypeScript.

Build a voice. Render a bank. Hear the result.
Explore audio synthesis on the CPU or GPU, with the execution plan in view.

Early development · Open source · Runs in your browser

01 / PLAYGROUND

Shape a sound. Then press render.

Real TypeAudio synthesis.
Short clips, rendered before playback.

VOICE SETTINGS 48 kHz / mono

Changes apply on the next render. WebGPU never silently switches to CPU.

RENDERED WAVEFORM NO CLIP YET
Your sound will appear here.

Ready. Choose your settings and render a clip.

Backend
—
Render time
—
Peak
—
Execution report explain(plan.reports)
Nothing has run yet.
The code behind this sound

Audio stays on your device. Playback and WAV export use a 10 ms edge fade. Render time includes device setup and compilation; it is not a benchmark.

02 / UNDER THE HOOD

A voice is a class.
A bank is the instrument.

TypeAudio owns the audio semantics. TypeShade compiles the kernels and runs them on the selected backend. The playground uses the actual engine in this repository.

Read the design →
  1. 01

    Compose the voice

    A sawtooth oscillator feeds a lowpass filter. Each voice keeps its own state.

  2. 02

    Render in blocks

    Mix the bank, apply soft clipping and gain, then measure the peak. One fuse plan per block.

  3. 03

    Listen and inspect

    Web Audio plays the rendered samples. The report shows where the kernels ran.