savoix

Record scripted takes, auto-transcribe, and compare against the original text to find your best delivery.

savoixsavoix

Why I Built It

I needed to record a demo video for Google to get OAuth scope approval for Sumi. The problem: recording video while speaking fluidly is surprisingly hard. Every take I’d miss a word, stumble on a line, or ramble off-script. I needed to do multiple takes and find the version where I actually said what I meant to say.

So I built Savoix — paste in a script, record as many takes as you need per segment, and it transcribes each one and compares it against the original text. Omissions, insertions, wrong words all get flagged. Pick the best take and export.

It’s a very narrow tool for a very specific problem, but it got the demo done.

How It Works

Paste a script and Savoix breaks it into line-by-line segments. Record takes per segment — the audio gets transcribed locally via Parakeet. The app renders the transcript synced with playback and highlights exactly where your delivery diverged from the script.

Features

  • script segmentation into per-line recording prompts
  • unlimited takes per segment with stable numbering
  • automated Parakeet speech-to-text transcription
  • synced audio + transcript playback
  • discrepancy detection (omissions, insertions, mismatches)
  • soft-delete for takes to preserve numbering
  • audio export via FFmpeg

Tech

React 18, React Router, TypeScript, Vite, Express.js, SQLite + Drizzle ORM, Tailwind CSS, Radix UI.

Status

Alpha. Served its purpose for the Google demo recording. Might wrap it as an Electron app.