A code-first digital audio workstation — your whole project lives in plain-text TOML.
CodaW is a DAW where the session is code you can version, diff, and hand-edit. No hunting through mixer pages — you edit the file for the thing you want to change, save, and the running audio engine picks it up live.
| Path | What |
|---|---|
codaw/ |
The audio engine — a Go + miniaudio (cgo) CLI. Loads/validates a project, plays it, hot-reloads on edit, and renders to WAV. |
vscode-extension/ |
The editor UI, published on Open VSX as kevingruber.codaw. |
Grab a prebuilt binary for your OS from the latest release — no toolchain needed.
Building from source requires Go plus a C compiler (the engine embeds
miniaudio via cgo). Note that go install .../codaw@latest
is deliberately unsupported: the Go module lives in the codaw/ subdirectory of
this monorepo, and cgo would require every user to carry a C toolchain anyway —
prebuilt release binaries are the supported channel.
cd codaw
go run ./cmd/codaw validate testdata/basic/project.toml # check a project
go run ./cmd/codaw play testdata/basic/project.toml # play it (Ctrl-C to stop)
go run ./cmd/codaw watch testdata/basic/project.toml # play + hot-reload as you edit
go run ./cmd/codaw render testdata/basic/project.toml mix.wav # bounce to a WAVWhile watch is running, edit any .toml under the project (a track's gain, an FX
param, an automation point) and hear the change instantly.
- Multi-file TOML projects: tracks, buses, master, clips, FX, automation
- Playback with a beat-accurate timeline, per-track gain/pan/mute/solo, bus routing
- Live hot-reload (edit a file → audible change, no restart)
- Effects: 3-band EQ, reverb (echo-style)
- Non-destructive clip trim/split (source in-points)
- Parameter automation over time (gain fades, filter sweeps)
- Offline render to 16-bit WAV
