Voiceover recording · real-time direction
The director is listening.
Read your voiceover script out loud. Booth listens to every word, cuts you off with the exact line to redo, and hands you a clean master when you wrap.
A deliberately bad take of the script below runs through Booth's real judge pipeline. Watch it catch the misreads.
The session
Set the script
Paste your VO script, one line per line. The director takes it into the booth with you.
Read out loud
A real-time voice agent follows your read against every line. Numbers, names, stumbles: nothing slips.
Get cut, get it right
Flub a line and the director cuts you off mid-read: line number, what you said, what it should be. Read it again.
Print the master
Wrap the session and Booth assembles the best read of every line into a clean WAV. The editing session never happens.
Scrubbing takes, per video, today
After your pause, the cut is triggered, by design
Editing sessions when you wrap
Under the glass
One WebSocket. Real interruption handling.
The director is a managed agent on the AssemblyAI Voice Agent API: streaming STT, turn detection, interruption handling, and speech synthesis in a single connection. Booth wires its decisions into the app as client-side tools — every retake call you see stamped on the script is a tool call the agent made.
The master is assembled from word-level timestamps returned by the sync transcription model: the best-scoring read of each line, spliced with fades, in your browser. Raw session audio never leaves your machine except as a transcription request.
// the director's whole briefing
await ws.send(JSON.stringify({
type: "session.update",
session: {
system_prompt: DIRECTOR_RULES + script,
greeting: "Step up to the glass.",
tools: [call_retake, mark_take, finalize],
input: { format: { encoding: "audio/pcm" } },
output: { voice: "alba",
format: { encoding: "audio/pcm" } },
},
}));
// the money moment, as an event
{ "type": "tool.call",
"name": "call_retake",
"arguments": { "from_line": 3,
"reason": "said two cups,
script says four" } }