audio_scripter

An experimental system for researching and prototyping languages for programmable audio effects. The current implementation combines a small per-sample language, an audio runtime, and JUCE VST3/AU/Standalone hosts.

research prototype · baseline 0.0.13 · language unstable
Development status. The current language is a preserved experimental baseline, not a stable API. Syntax, semantics, host integration, file formats, and the project name may change. The project is not yet intended as production software.

Current baseline

Per-sample language

Read input samples, compute, and write output samples with arithmetic, functions, control flow, persistent state, and DSP primitives.

Experimental host

A JUCE application/plugin provides VST3, AU, and Standalone targets. It is one host for the language rather than the definition of the language.

Example corpus

Conventional and less conventional effects provide regression cases and material for language-design comparison.

Language design research

The active work is no longer driven by adding conventional DSP features. The immediate programme is to compare programmable-audio systems, construct an effect/challenge corpus, analyse the conceptual cost of expressing those effects, and derive a host-independent semantic kernel before committing to new syntax.

No novelty claim is made here for programmable plugins, per-sample DSP scripting, live recompilation, hot swapping, or in-DAW authoring; all have substantial precedents.

See the public research note and development roadmap.

Implemented language

The present 0.0.13 syntax uses a direct stereo per-sample model:

# current baseline syntax; not a final language design
# @p1: Drive
drive = 1.0 + p1 * 5.0;
outL = tanh(inL * drive);
outR = tanh(inR * drive);

The full implemented reference is in the language manual.

Known engineering limits

These are tracked openly in STATUS.md.

Provenance

The repository state immediately before the language-design reset is preserved on archive/pre-language-redesign-2026-08-14.