BEEPSCRIPT

A phonetic synthesis language for sound design.
Three engines. 128 voices. Text in, sound out.

Take the Tour Workspace Explore 390+ Examples
Temple bell — physical modeling with reverb
{bpm=40; div=2;
a = tanpura(130.81);
b = tanpura(196.00);
c = tanpura(261.63);
master_reverb(0.5, 0.8)}
a=b=c=b=
a=======

Three Synthesis Engines

Subtractive (oscillators, filters, envelopes), FM (4-operator, 8 algorithms), and digital waveguide (15 string instruments). All running in your browser via WebAssembly.

Text-Based Notation

Characters map to sound atoms. Adjacency controls morphing. Spaces create hard cuts. A notation system that feels like typing but produces rich, layered audio.

128 Independent Voices

Each voice can run a different synthesis engine with its own oscillators, filters, envelopes, and effects. Not 128 copies of one patch — 128 unique configurations.

LLM-Ready Sound Design

Because Beepscript is text, it's natively accessible to language models. An LLM reference ships with the project. Text in, sound out.

Pattern Arrangement Language

Compose multi-track pieces with patterns, loops, and transport control. Drums, bass, melody, and effects in a single text file. Tracks support mute, solo, and quantization.

390+ Interactive Examples

Telephony, broadcast signals, transit sounds, temple bells, game audio, classic synths, FM patches, and full compositions. Every example is editable and playable in the Explorer.

What people build

Sound Design

UI beeps, notification tones, system alerts. Design functional sounds with precise control over timbre, envelope, and pitch.

Game Audio

Procedural sound effects, collectible chimes, damage hits, ambient drones. Real-time synthesis means every trigger can be unique.

Music & Composition

Generative patterns, multi-track arrangements, evolving textures. The PAL system handles loops, tracks, and transport.

Telephony & Broadcast

DTMF tones, dial sequences, ring patterns, broadcast idents, EAS alert tones. Precise frequency control for standards-compliant signals.

How Beepscript works

Beepscript maps single characters to synthesizer configurations called atoms. You define atoms using Lua — setting oscillator type, filter cutoff, envelope shape, effects — then trigger them by typing characters into a notation stream. Adjacent characters morph smoothly between timbres. Spaces create hard cuts. Equals signs insert rests. The result is a compact text notation that produces rich, layered audio.

The synthesis core is written in Rust and compiles to WebAssembly for browser-based playback with no installation required. Three engines cover different synthesis techniques: subtractive synthesis with oscillators and filters, FM synthesis with four operators and eight algorithms, and digital waveguide string simulation with fifteen instrument presets including guitar, koto, sitar, piano, and erhu.

The 128-voice polyphony pool allocates voices independently — each voice can run a different engine with its own signal chain. A Pattern Arrangement Language (PAL) handles multi-track composition: define patterns, assign them to tracks, loop and layer them with mute/solo control.

Beepscript ships with an LLM reference file designed for AI-assisted sound design. Because the entire workflow is text-based — Lua definitions, character notation, PAL arrangement — language models can generate, modify, and reason about sounds directly. The Workspace provides a real-time performance environment, and the Explorer catalogs 390+ editable examples across categories like telephony, broadcast, game audio, transit sounds, and full compositions.