SoundScript is an independent open-source audio and media programming language. Write timed visuals, melodies, phrases,
orchestration, vocal cues, and industrial sonification as plain text; compile them to deterministic
MIDI, WAV, or a browser-playable audio-visual clip with the .NET CLI or a client-side browser playground.
tempo 92
time 4/4
track strings {
instrument violin
mp
C4 q E4 q G4 q C5 q
A4 q F4 q D4 q G4 q
}
track harmony {
instrument cello
p
C3 h G3 h
F3 h G3 h
}
track pulse {
instrument piano
mp
Cmaj h Fmaj h
Amin h Gmaj h
}
tempo 132
time 4/4
track melody {
instrument violin
mf
phrase { curve soft transition smooth play hook }
}
track harmony { instrument piano p Cmaj w Cmaj w }
track bass { instrument bass mf C2 w C2 w }
speak "Jingle bells jingle bells" seed=7 gain=1.05
speak "Jingle all the way" seed=8 gain=1.05
speak "Oh what fun it is" seed=9 gain=1.0
The engineering surface is deliberately small: plain text in, standard files out, with repeatability enforced by tests.
316+repository commits
18.NET projects
1,031automated tests
3 OSCI matrix
2 railsMIDI and Wave
Audio and visuals on one clock
Version timed cues and property curves alongside a musical score. Scrub exact states, preview synchronized audio, and export a WebM clip. Timeline states and source PCM are deterministic; encoded video bytes can vary by encoder.
Deterministic rendering
Identical scripts produce byte-identical MIDI. Seeded humanization and audio regression checks preserve reproducibility across runs and platforms.
Offline by design
The CLI, MIDI compiler, Wave renderer, timbre engine, and WordBank pipeline run locally. The browser playground runs client-side with no account.
Git-friendly source
Compositions are reviewable plain-text .ss and .ssw files that can be diffed, versioned, and rebuilt like code.
Standard outputs
Compile to MIDI with karaoke lyric events, render direct WAV, or use SoundCSS for deterministic MIDI-to-WAV/OGG timbre synthesis.
How SoundScript Compares
Architectural comparison. DAW and AI-generator capabilities vary by product and configuration.
Property
Traditional DAW
AI Generator
SoundScript
Reproducibility
Depends on project, plug-ins, and versions
Depends on model, seed, and service version
Byte-stable MIDI/PCM and deterministic visual states; encoded WebM varies by encoder
Git friendly
Project-format dependent
Prompts can be versioned; outputs are media files
Plain-text scripts are diffable
Offline
Common after installation
Product and model dependent
CLI and synthesis pipelines run locally
Deterministic
Depends on plug-ins and workflow
Model and seed dependent
Explicit product invariant
Programmable
Automation and scripting vary
API availability varies
Purpose-built language and C# libraries
Automation
Host-specific
Service-specific
Cross-platform CLI and text files
Media / Audio-Visual
Video and synchronization workflows vary by host
Audio/video generation and editing vary by model
Text-authored intervals, overlays, linear property curves, shared audio clock, and browser or CLI WebM export
Accessibility
Interface and host dependent
Service interface dependent
Text input, CLI, and keyboard-operable browser UI
Output Examples
The repository includes runnable .ss and .ssw examples spanning composition, vocals, Wave synthesis, and industrial cues.
Temporal media · V11
visual-temporal.ssv
visual "intro" for 3s
visual "circle" for 8s at 0s {
animate radius 28 -> 170 over 3s
}
Author deterministic state over time, then sample it in the Playground at 24, 30, or 60 FPS to export a WebM clip with the shared SoundScript.Wave PCM audio rail.
V11
Temporal Media Export
Visual programs remain a deterministic StateAt(t) function. The Playground samples that function only in its WebM renderer, combines it with the shared SoundScript.Wave PCM audio rail, and downloads a playable clip.
Timed title cards, motion studies, and layered product cues with a scripted score. Explore use cases.
Developers
Versioned compositions, CLI workflows, and reusable C# libraries.
Researchers
Repeatable rule-based audio experiments and inspectable pipelines.
Education
Plain-text notation, harmony, orchestration, and synthesis examples.
Accessibility
Text and keyboard workflows plus non-speech spatial cue examples.
Industrial Systems
Versionable machine-state, timing-drift, and process-trend cues.
Music Technology
MIDI, Wave, SoundCSS, phonetics, and programmatic arrangement.
Interactive Installations
Deterministic cue generation for repeatable interactive behavior.
Media / Audio-Visual Programming
V10 adds continuous-time visual programs alongside the existing audio language. V11 projects those states into a shared scene for live playback and browser or CLI WebM export.
Tell a timed story — sequential visual cues and explicit waits.
Layer motion — absolute overlays and linear position, size, rotation, radius, and opacity curves.
Inspect any instant — exact scrubbing and tempo-aware audio-beat queries through StateAt(t).
Share a clip — sample at 24, 30, or 60 FPS during export, with a shared Wave PCM audio track.
The current presentation profile renders an intro pill, circle/orb, product card, sparkle/star, and generic named cards. These are built-in treatments, not imported image or video assets.
The phrase engine maps machine data to non-speech cues using curves, articulation, dynamic envelopes, and timing modifiers. Cue libraries remain plain text and can live in version control beside system code.
Machine states — idle, running, and critical blocks.
Conveyor timing drift — swing, push, and pull modifiers.
Robotic motion — swell, accent, and fade phases.
Temperature trends — crescendo, hold, and decrescendo contours.
Blind-operator spatial awareness — contrasting legato and staccato cues.
SoundScript is an MIT-licensed engineering platform for writing audio like code. Notes, chords, dynamics, patterns, orchestration, vocals, and industrial cues pass through explicit, inspectable stages rather than a generative model.
It runs on Windows, macOS, and Linux through .NET 10, plus WebAssembly in Chrome, Edge, Firefox, and Safari. No server, account, DAW, or plug-in is required for the core workflow.
SoundScript is created by Anup Jayant Dharangutti, a music enthusiast and architect of enterprise-grade automation systems. He also created UniverseGlance and AutomationGlance.
Architecture
A shared parser builds the AST. Independent output rails then produce MIDI, direct Wave audio, vocal-enhanced mixes, or temporal visuals with synchronized media export.
Text.ss / .ssw / .ssv→Parsersyntax + imports→ASTshared program model
Exact time intervals, absolute overlays, linear automation, audio synchronization markers, and a tempo-aware beat bridge. Play, pause, resume, restart, and scrub the same compiled timeline.
V11
Shared Media Rendering
One canonical scene profile and fitted Wave PCM track feed live preview, browser WebM, and CLI WebM. Output FPS belongs to the export adapter. CLI encoding requires FFmpeg; browser export requires canvas capture and MediaRecorder.
V9
WordBank Vocal Engine
Offline, deterministic human-audio vocalization combines a curated CC0/CC-BY corpus with rule-based G2P timbre. V9 adds the Jingle Bells WordBank preset and corpus coverage in the Playground workflow.
Render .ss or .ssw directly to deterministic WAV. Mix recordings through sample / speak sample=, or generate stems with soundscript vocal and wave --offline-tts.
PhonemeComposer maps text to syllables, phonemes, gestures, and MIDI. ProsodyComposer plans phrase, word, and syllable pitch. --emit-ss round-trips composed output to editable source.
Musical Completeness & .NET 10Current SoundScript now targets .NET 10 and broadens conventional notation with the full MIDI pitch and General MIDI program ranges, extended harmony, dotted rhythm, tuplets, grace notes, and expanded dynamics—while keeping the deterministic MIDI, Wave, SoundCSS, voice, and temporal-media workflows compatible. Capability details →
V10
Temporal Visual Playground. The original frame-free visual timeline, shared clock playback, exact scrubbing, and StateAt(t) inspector.
V8
Previous release. Vocal stems in Wave export: mix recordings with sample / speak sample=, or generate offline stems with soundscript vocal and wave --offline-tts.
V7
SoundScript.Wave renders .ss / .ssw directly to deterministic WAV through speak, effects, and seeded humanization.
V6
--emit-ss serializes composed output to editable source that round-trips to byte-identical MIDI.
V5
ProsodyComposer plans pitch from phrase to word to syllable with stress detection and the prosody CLI verb.
V4.1.1
Harmonic rolloff, formant Q and drift, band-shaped noise, sharpened transients, and cycle/frame crossfading tune the timbre engine.
V4.1
Cycle-accurate synthesis reconstructs audio per pitch cycle with per-cycle harmonics, formants, and noise.