The generation loop is a sitting's work: paste a script, pick a voice, render, download, with open models like Kokoro or Piper running on your own machine. The studio around it, with per-block pauses, pronunciation fixes, loudness and subtitle timings, is another day. What stays out of reach is the catalogue: more than 200 voices in 30-plus languages with a commercial licence, consistent across languages. Open models sound good in English and a few other languages and thinner elsewhere, and each model's licence decides whether you may use the output commercially.
Before you buildMurf Free gives 10 minutes of generation with no downloads and no commercial rights, so it is only a preview. For voices without a bill, open models cover English well.
Build me a local voiceover studio to replace Murf. Requirements: - Python 3.12 with `uv`, FastAPI and Jinja2 with a little vanilla JS: `uv run uvicorn studio:app --port 4890` serves http://localhost:4890. - Voices: `kokoro-onnx` with the Kokoro v1.0 model and voice files, downloaded on first run into ./models. List every voice with its language and gender, and a 5-second sample generated once and cached in ./data/samples. Put a second engine behind the same `Engine` interface: `piper-tts` voices for languages Kokoro lacks. - Project: a script split into blocks, one per paragraph. Each block has a voice, a speed (0.7 to 1.3) and a pause after it (0 to 3 seconds). Re-render only the blocks that changed; cache audio per block by content hash in ./data/cache. - Pronunciation: ./data/pronunciations.txt with "word => respelling" lines applied before synthesis, and a "Test word" box on the page that speaks one word. - Render: join the blocks and pauses with `pydub` and ffmpeg; export WAV, MP3 (192 kbps) and an SRT with one cue per block from the measured durations; normalise loudness to -16 LUFS with ffmpeg `loudnorm`. - Storage: SQLite (./data/studio.db) for projects and blocks. Nothing leaves the machine. - Page: the block list with a play button per block, the total duration and a "Render all" button with progress. - Single user. No accounts, no telemetry, local-first. Network only for the first model download. - Out of scope: voice cloning, translation, video sync, Canva or PowerPoint add-ins, SSML beyond pauses. - README: the licence of each voice model and whether its output may be used commercially (check before selling anything made with it), and the RAM each engine needs.
Opens your agent with the prompt filled in, you press enter. Or copy it and paste it into an empty folder.
The first prompt builds the core. Run these one at a time in the same folder to grow it into your own Murf.
Extend the voiceover studio in this folder. Requirements: - After rendering a block, align the text to the audio with `faster-whisper` word timestamps and store the word times in SQLite. - Export an SRT with cues of at most 42 characters and 2 lines, and a WebVTT file. - Show a waveform per block with a clickable transcript that seeks the audio. - Update the README.
Add batch rendering to the voiceover studio in this folder. Requirements: - `studio batch ./scripts --voice af_heart --out ./audio` renders every .md or .txt file as its own project and writes MP3 plus SRT per file. - Skip files whose content hash hasn't changed; print one line per file with duration and time taken. - Exit non-zero if any file fails, and keep the rest. - Update the README.
Add a music bed to the voiceover studio in this folder. Requirements: - Upload a music file per project; loop or trim it to the voiceover length and fade it in and out. - Duck the music by 12 dB under speech using ffmpeg `sidechaincompress`, with a slider for the amount. - Export the mix as MP3 and keep the dry voice track as a separate file. - Update the README, including a note to use only music you have the licence for.
Teams making training videos, explainers and ads need voices that sound human in several languages, a licence that covers commercial use, and an editor where a colleague can fix a sentence without a terminal.
Estimate · Rendering runs on your own computer, so there is no running cost. The build is token usage on your agent plan.
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Free | $0 | $0 | 10 projects, 10 minutes of voice generation, 1 editor; a trial of the Business features without downloads. |
| Creator | $29 | $19 | 100 projects, 2 hours of voice generation a month (24 hours a year when billed annually), 1 editor, 200+ voices in 30+ languages and accents, unlimited downloads, Canva integration, commercial rights. |
| Business | $99 | $66 | 500 projects, 8 hours a month (96 hours a year on annual billing), 1 editor, plus emphasis, variability and Say It My Way controls, audio to text with 48 hours, PowerPoint and Google Slides add-ins, Murf voices for Windows apps, a business license. |
| Enterprise | custom | — | Custom projects and editors (5+), unlimited voice generation and viewers, SSO, AI translation, sharing and collaboration, access logs; custom voice clones are an add-on. |
Free covers 10 projects and 10 minutes of voice generation, with no downloads and no commercial rights.
Kinda. The core is a weekend build with the prompt on this page, but real gaps remain: The catalogue of 200+ licensed voices in 30+ languages and accents, Emphasis, variability and Say It My Way delivery controls.
About $29 a month on the Creator plan, $348 a year (checked 2026-10-19).
The catalogue of 200+ licensed voices in 30+ languages and accents; Emphasis, variability and Say It My Way delivery controls; Voice changer, AI dubbing and translation; PowerPoint, Google Slides, Canva and Windows add-ins; Commercial rights written into the plan and a production API. If any of those matter to you, keep paying.
Yes: Kokoro-FastAPI (open source), Chatterbox (open source), Piper (open source).