$ field

The command-line DAW

Your song is a
repository.

Field treats music production like software development. Arrangement, tempo, takes, plugin chains, and mixes live in diffable files. Every action is a CLI command. Every render is reproducible.

still-waters — field

$ field init still-waters

initialized empty project in ./still-waters

$ field ace generate --prompt "dusty boom-bap drums, 84 bpm" --seed 7

recipe committed · sounds/drums/boombap.yaml

$ field record --track lead-vocal --punch 42.2.1..46.1.1

take 3 → active · takes 1–2 kept

$ field build //songs/still-waters/mix:main

build ok · 14 targets · 11 cached · 2.4s

$ git commit -am "chorus to 16 bars, vocal take 3"

$

Why

DAWs made your music a binary blob.

Traditional DAWs bury production state inside proprietary project files: hard to inspect, impossible to review as a diff, unreliably scriptable, versioned as an opaque binary. Nothing is reproducible.

Field inverts this. A project is a Git repository of schema-validated YAML plus content-addressed audio. Audio is never edited in place — placement and editing are metadata, so changing a mix is a one-line diff, and branching an arrangement is just branching.

A chorus extension and a vocal take swap read like a code review — because they are one.

git diff — songs/still-waters/arrangement.yaml

@@ sections @@

  - section: chorus

    start: 33.1.1

-   length: 8 bars

+   length: 16 bars

@@ tracks/lead-vocal @@

-   take: 2

+   take: 3

    chain: [deess, eq, comp]

Toolkit

Everything a DAW does, as commands you can script.

Think Bazel for music production, attached to a real-time recording engine. An explicit dependency graph builds your stems, busses, and mixes — cached by content, deterministic by design.

field build //songs/opener/mix:main

Reproducible builds

Stems, busses, and mixes are targets in a dependency graph with content-addressed caching. Same inputs, same audio — on any machine, next year.

field record --punch 42.2.1..46.1.1

Recording, punched in beats

A native real-time engine drives recording from the CLI — transport, click, loop, punch-in by musical time, straight to a new take.

field choose

Takes, never destroyed

Every performance is numbered and kept. Audition takes, pick one active, swap it back later. Renders of generative sounds work the same way.

field ace generate --prompt "…" --seed 7

Generation as recipes

SuperCollider programs, ACE-Step prompts, and vocals from text are committed as seeded recipes with provenance. The music is reproducible, not a one-off export.

field watch

A live edit loop

Change a file, hear the result. Watch mode rebuilds what your edit touched and nothing else, so the terminal feels like an instrument.

git branch bright-mix

Git all the way down

Branch a mix, bisect a regression, review an arrangement PR. Everything Git gave software teams, Field gives your record.

Agents

Human-first music.
Agent-native production.

A coding agent cannot meaningfully operate a graphical DAW. It can operate Field, because Field is files and commands — the things agents are already good at. Every verb the CLI has is exposed over MCP, so an agent can comp takes, sweep a filter across renders, or draft a rough mix while you stay on the instrument.

You make the music. The agent works the console. The repo keeps both of you honest.

Roadmap

One engine. Three surfaces.

01building now

field

The CLI

The full production system in your terminal: project model, build graph, generation, recording, watch mode. Mac-first, built in the open on GitHub.

02next

Field One

The interface

A native visual surface on the same engine — transport, metering, arrangement, take audition. Not a place state hides: nothing in the UI that isn't in the files.

03later

audiofield.io

GitHub for audio

Host your projects, run Field One in the browser, and collaborate on music the way software teams collaborate on code — forks, pull requests, and all.

audiofield.io

Open Source Music

When a song is a repository, everything Git unlocked for code opens up for music: fork a track and remix it, send a pull request with a better drum bounce, publish your stems and techniques for anyone to learn from — with provenance built in.

Like GitHub: free for open source music, paid for private projects. Large audio lives in object storage; history lives in Git.

$ field clone audiofield.io/kaya/midnight-drift

$ git checkout -b my-remix

$ field build //mix:main && field play

# your version. their credit.

# that's open source music.