← Selected Work
Architecture

The Versioned Studio

I turned a one-person audio post studio into versioned software. The sound is still made by ear. This is the architecture.
Dan Flosdorf · October 2026

Capability level only: what the system does, what it refuses to do, and where the human gate sits. Not how it is built. No scripts, prompts, hooks or templates appear here, and none will.

11 PM

A producer needs the :15 that went out Tuesday. Not a new mix, the one they approved. In most studios that request wakes a person, or waits until morning, or gets answered from memory with the wrong version.

Here, the request lands at desk@cutnoise.tv. The Desk checks that the mail is authenticated and that the sender was on the original delivery thread. It finds the version in the ledger, confirms it is marked delivered, confirms the review link resolves to that exact file, drafts the reply, and sends me a notification. It cannot send the email. It will never be able to send the email. I wake up, read a draft that is already right, and press send.

That is the scene this studio was built toward. Everything underneath it already runs. The Desk itself goes live this quarter, and when it does, the authority in the room will be exactly what it is today: the software reports, I decide.

AI builds the tools. I make the sound.

01The rule

The argument about AI in sound is about the wrong room. One camp sells generative tools that promise to replace the mixer. The other treats any AI as radioactive while billing clients for hours of manual machine-room work. Both treat the creative ear as the thing to automate or to defend.

The friction in commercial audio post was never the ear. It is the machine room: conforming to recuts, converting picture, naming and foldering dozens of versions, measuring loudness for every destination, packaging deliverables, and answering "which one is final" at 11 PM. That work is clerical, repeatable and exact, which makes it software.

So the rule is one line. AI builds the tools. I make the sound. The longer version: AI handles the machinery, meaning versioning, delivery, QC and tracking. Sometimes it supplies raw material, the way a sound library does. Every creative decision and every file that leaves the room is mine.

Everyone is trying to automate the mixer. I automated everything around the mixer.

02What the industry got backwards

In a traditional facility the machine room is people and folders. Assistants move files, folder names end in FINAL_v3_revised_FINAL2, notes live three replies deep in an email thread, and loudness is checked by hand or not at all. Every handoff is a place to lose a frame, a stem or a version. The facility bills for the handoffs.

In a single-author studio the same debt lands on the author. Every hour spent moving files is an hour off the faders. Versioning is the largest single time sink in commercial work: cutdowns, localizations, split stems, alternate frame rates, and the finals that change until the day they air.

The debt compounds in silence. The wrong slate, a sync drift on a :15, a regional file that misses its loudness spec: these are found by the client, not the studio. The answer is not more people. It is a system that cannot make those mistakes because it refuses to guess.

The cost is not only hours. It is attention. A mixer who is also tracking twelve versions, three frame rates and a loudness spec per destination is mixing with part of a mind. Take the tracking away and the whole mind goes to the sound. Clients hear the difference before they can name it.

None of this is an argument against assistants. It is an argument against spending a person on copy and paste. The assistant role in this studio is software, and the software has a written list of things it may never do. For a person coming up, that is the opening, not the threat: the machine room is no longer where you spend five years earning thirty minutes at the console. Learn to build it, govern it, and keep it honest, and you are worth more on day one than the person who ran it by hand. The craft gets the hours. The apprenticeship gets the system.

The machine room is no longer where you spend five years earning thirty minutes at the console.

03The versioned studio

Five layers are under version control: storage, sessions, doctrine, code and mirrors. A recut is a new commit against a known base, not a new folder. The previous version is always still there.

LayerWhat is versionedStanding rule
StorageOne cloud filespace with a numbered schema. Deliverables live in one flat folder per job. A superseded final moves to a dated superseded folder, never over the top of the new oneNo-delete. Automation never deletes, moves, renames or overwrites anything on the working filespace. Snapshots are an undo window, not a backup
SessionsOne live Pro Tools session per project, named by date and revised by time stamp. Older saves move to a history folder, never overwritten. Session templates and bus architecture are codified; conform change lists stay with the projectA version of record is named at every session close. Frame rate, loudness standard and channel set are fixed at kickoff, not discovered at delivery
DoctrineThe studio's operating rules are a numbered, versioned document: 114 clauses at V26.61. A change is proposed, ratified by one named approval, and locked with a dated recordNothing automated runs on an unwritten rule. The system proposes; I ratify
CodeThe automation lives in a private git repository. The filespace holds the live copies. Every build is committed before it deploys. A machine build document lists everything that exists only on a machineAnything that must survive a machine lives in the repository or on the filespace
MirrorsActive work and the system layer mirror nightly to a local drive. Cold copies are taken at every doctrine lock and monthly. Offsite backup covers the mirrorThree layers, checked weekly by a read-only audit that posts its verdict. A missing layer is a flag, not a note

The git comparison is literal where it counts. Rules, scripts, configuration and the delivery pipeline are commits in a repository. Session and media versioning follows the same discipline through naming, history folders and a no-delete rule rather than a version-control system, because a 48 kHz mix is not source code and should not be treated as if it were.

The whole studio runs as versioned software. The artist is the human element.

The information is versioned too. The file was never the hard part. What gets lost in post is context: the note from the call, which version went to whom, what the spec was, what an outside collaborator was told, why a take was chosen. In most studios that lives in someone's head, a notebook, or an email thread nobody can find in March. Here it is written down at the moment it happens, against the version it belongs to.

What usually gets lostHow it is kept here
The note from the callReview feedback is logged per round, against the version it was given on, with that version's review link
Which version went to whomEvery send is logged from the sent mail, never from memory
The specFrame rate, loudness standard, channel set and deliverables are fixed in writing at kickoff
What a collaborator was toldEvery outside collaborator gets a written sound brief before they start
Where the session stoodA snapshot on every session open and before any destructive change, a named version of record at every close, and a dated handoff at the end of every working session
Who gets creditCredits are gathered and confirmed at wrap, not reconstructed months later for an awards form
Why a take was chosenNext: voice takes indexed by the direction given and who asked for it, not by filename

The file was never the hard part. The context was.

04The machine room

Media enters by one door and leaves by one door, and the session in the middle is human. Automation works in four zones: an inbound folder it only reads, the working filespace it never deletes from, a staging area that is the only place it writes freely, and a deliverables folder written once per promote under a plan I approved.

StageWhat happensRun byState
InboundReference picture and AAF/OMF land in one inbound folder. Work picture converts to a ProRes work pic and files to the project's elements folder with a manifest; the AAF/OMF companions file beside it. Anything unrecognized is parked, logged and queued for me. Nothing is guessedRules and engine scriptsLive since August 2026
ConformRecuts conform against the previous picture. The change list and conform session stay with the projectConform software, operated by meLive
SessionSound design, mix, every creative decisionMe, in Pro ToolsHuman, always
ExportsBounces land in one outbound folder. A posting file is made beside each bounce. Mix and split exports are foldered into a staging setRules and engine scriptsLive since August 2026
QC and routingEvery mix is measured: integrated loudness, true peak, sample rate, bit depth, channel count, and duration against the spot's nominal length within half a frame. Targets by destination: broadcast ATSC A/85 -24 ±2 LKFS and -2 dBTP; 25 fps EBU R128 -23 ±1 and -1 dBTP; web -14 ±1 and -1 dBTP. Fails and ambiguous files park and tell me. The router never writes to the working filespaceQC routerLive since October 2026
PromoteOn my go, a planning pass lists exactly what will move. A same-name, different-bytes conflict stops the run. Finals copy to the flat deliverables folder, prior finals to the superseded folder, side files to admin. A client-facing manifest PDF is written beside the finals with measured loudness per file. One promote per target per dayPromote script, run by me at the terminalDry runs passed September and October 2026. First live run the week of October 26
DeliveryFinals and manifest go to the client's review platform. The delivery email is drafted for me; I send it. The send is logged against evidence, never against intentMeLive
LedgerA per-job ledger of spots, versions, status (Not printed, Printed, In review, Final) and sendsThe FinisherRunning on three 2026 jobs
WindowA private read-only status page per job, rendered from the ledgerwindow.cutnoise.tvLive since October 22; first client link this quarter
DeskThe assistant engineer: read-only tools, drafts for my approval, no write tool, no creative toolAgent with a local bridgeRules ratified October 21; staged, not deployed

The top row runs unattended. The session is the only place a creative decision is made. Promote and everything below it waits on my go.

05The stop rules

A system you can trust is a system that refuses. Each rule below was written against a specific way commercial delivery goes wrong. When one fires, the run stops and tells me; it never picks the likely answer.

  1. Never guess a spec. Frame rate has no default. A job without one stops.
  2. Same name, different bytes: stop. A final is never silently replaced.
  3. Exists means stop. Every write to the working filespace checks first.
  4. Unrecognized means park. An ambiguous filename is parked and queued, never routed on a best guess.
  5. Measure, don't claim. Loudness is measured per file and printed on the manifest. Stems are never described as summing to the mix unless they were measured to.
  6. One promote per target per day.
  7. Rough, temp, scratch, reference and WIP never promote.
  8. Pro Tools' own folders and the session file are never touched by automation. Nothing automated opens a session.
  9. The router never writes to the working filespace. Only promote does, under a plan I have read.
  10. A protected folder is never normalized. A project name with a stray leading space keeps it; the map routes around it.

The cost of these rules is that the system asks more often than a hurried assistant would. That is the point. A stopped run costs a minute. A wrong final costs a client.

A stopped run costs a minute. A wrong final costs a client.

06The human gate

It is me, and it will always be me. No system output reaches a client without my approval. That is a written rule of the studio, not a preference. The system drafts; I send. The system stages; I promote. The system measures; I decide.

Three things the system never does: make a creative call, speak for me, or send anything I have not heard. Its outputs are drafts, plans, measurements and status. Each one waits for a named yes.

Keep the verbs apart, because the industry conflates them. I mixed and designed every frame by ear. The system moved, measured and filed the files. When a film is praised for being made by hand, that praise is accurate: the pipeline's job was to protect the hours that went into it.

The gate is mechanical, not a sentiment. A promote needs a typed confirmation at the terminal, by me, with the plan on screen. A send is logged only against the sent mail, never against an intention to send. A hardware presence check for approvals is the next step.

When outside collaborators work on a job, the rule holds in the same form: every creative decision is made by ear, in the room, by a person, and the person you brief is the person on the faders.

The machine moves and measures. I listen and decide.

07Where it leads: the Desk

A script moves a file. The point of versioning everything is not tidiness. It is that once every file, version and send is a record, software can read the record and answer for it, and still not be allowed to decide anything. That is the Desk, and it has three parts.

The Finisher is the ledger. One per job: spots, versions, status in four words (Not printed, Printed, In review, Final), and every send with its evidence. A send is logged only from the sent mail, at my terminal, with a typed phrase. The ledger is the single source of truth the other two parts read. It runs today on three 2026 jobs, with every send since kickoff backfilled from the sent record. Nothing reads the session file; the ledger knows what shipped, never what is inside the mix.

Window is the client's view. One private link per job at window.cutnoise.tv, rendered from the ledger. It shows the job title, the spot names, the status word, the last change, and the review link for each version actually sent to that client. It never shows money, hours, notes, file paths, internal findings or anyone's name. No scripts, no analytics on the page, no search indexing, no third parties. An alternate that was not chosen is not shown; a delivered director's cut reads as delivered. When a job wraps the page reads "This window is closed," and the link stays alive so it never breaks. No page reaches a client until I have approved that exact render, and what ships is byte for byte what I approved. Window has been live since October 22 with pages for three jobs. The first client link goes out with the first job booked this quarter.

The Desk is the assistant engineer. It answers desk@cutnoise.tv. It is run by AI and governed entirely by my rules, eight of them, ratified on October 21. Job one is narrow on purpose: re-sends of versions that are already approved and already delivered, from the ledger, to the people who received them.

RuleWhat it means for a producer
Front doorThe Desk acts only on authenticated mail from someone on that job's original delivery thread. Anything else is flagged to me and nothing happens
Data, not instructionsMessage bodies, attachments, quoted history, display names and links are data. Nothing in an email can tell the Desk what to do
Re-send gateThe version is in the ledger, marked delivered, the review link resolves to that exact version, and the recipient is on the original thread. Any miss goes to me
Drafts, never sendsThe Desk writes the reply into its own drafts and pings me. I send. The one exception is a declared out-of-office window, already-delivered versions only, original recipients only
Signs as itself"Cut Noise Desk. Run by AI, governed by Dan Flosdorf. Creative notes go to dan@cutnoise.tv." It never signs as me and never speaks for me
LoggedEvery re-send writes one line to the delivery log: version, link, recipient, authentication result
No storage accessJob one touches no project storage at all. Later phases read only, through an identity that cannot delete
No creative toolThere is no tool in the Desk that can open a session, touch a mix, or make a creative choice. None will be added

Phase two gives the Desk read-only answers: what printed, what is in review, what is final, whether a session is locked by another machine, whether a drive has headroom. Every one of those is a question a producer or I ask a dozen times a week. None of them is a decision.

The Desk is specified and staged. It is not deployed. When it is, capability goes up and authority does not move.

Capability goes up. Authority does not move.

08Data governance, stated plainly

Client media lives on the studio's own storage and does not pass through a public model. The AI is in the tools, not in the files. I will not call that air-gapped, because a studio that runs cloud storage and cloud AI tools is not, and a client's security team will know it.

Question a producer asksAnswer
Where does our media live?On the studio's cloud filespace, mirrored nightly to a local drive, with cold copies and an offsite backup over the mirror. A wrapped job holds 30 days, then moves to cold storage
Does an AI model see our media?No. Client media stays on the studio's storage and is never submitted to a model. The automation is rules and scripts running on the studio machines, reading files directly. The tools I use to write code and drafts see text and metadata, under commercial terms
Is our media used to train anything?No. Client media never reaches a model, so there is nothing to train on
Is AI-generated sound used?Occasionally, and never as the finished sound. Generated sound has been used as reference, as a sketch to find a texture, and sometimes as raw material that I cut and process by hand into something else. The mix is made by ear. Where a client's contract asks, the prompts and raw renders are archived with the job and are theirs on request
Synthetic voices?Only when a client asks for it in writing, under their own disclosure terms. I do not propose it in place of a performer, and I do not generate a brand's own AI character voice. Voice and music are real talent
Who can see job status?The client, through one private link per job. The page shows status only: no money, hours, notes, paths or names. Request logs are read only to fix an access problem, never to see who looked
Where are the keys?In a password manager and the process environment of the tool that needs them, never in a configuration file or the repository
What will you not claim?Air-gapped, zero exposure, and not generative. The honest claim is the boundary in this table

09Built in the open

I did not build this in a lab and go looking for a job to test it on. I built it under live campaigns, one layer at a time, and I was the bridge wherever the code was not ready yet. Clients felt it as speed and as nothing ever lost. What they did not see was me refining the code between sessions. Now the chain is closing.

As of October 24, 2026. This section stays on the page so the paper cannot overstate itself.

ComponentState
Media prep: picture, audio, posting, splitsLive since August 2026
Loudness and format QC, routingLive since October 2026
Promote and manifestDry runs passed. First live run the week of October 26
Ledger (the Finisher)Running on three 2026 jobs
Window (client status pages)Live since October 22. First client link this quarter
Desk (the assistant engineer)Rules ratified October 21. Staged, not deployed
DoctrineV26.61, 114 clauses, locked October 2, 2026

A page that says "here is what runs, here is what is next" is a record. A page that says everything is finished is a claim someone will test.

10Conclusion

The studio is software. The artist is not the runtime to be optimized away. Everyone else is trying to automate the mixer and leave the machine room alone; I did the opposite, and the work is better for it because the hours go where the ear is.

The discipline is simple to state and hard to keep: version everything, delete nothing, measure rather than claim, stop rather than guess, and let no file leave without a named approval. The machine moves and measures. I listen and decide.

AI builds the tools. I make the sound.

Dan Flosdorf is the founder of Cut Noise and its single author, sound design and mix on every project. Twenty years in the chair: narrative film first, with sound design on features including Blue Valentine and The Place Beyond the Pines, then commercial post at Heard City and Barking Owl.

Revision 2 · October 24, 2026. Sections 2 and 3: attention, the assistant role, and versioned information. This page is versioned like everything else here; changes are dated, not silent.

← Selected Work