Most text-to-speech tools make you pick a side.
Either you subscribe to a cloud service and pay per character forever, or you use a local engine and give up on voice quality. Either your scripts go to someone else's server, or you work with a robotic voice that nobody wants to listen to. Either you get a polished interface, or you get flexibility.
SoundScript was built because I didn't want to pick.
What it is
SoundScript is a desktop TTS studio for Windows and Linux. It runs four engines — two cloud-based and two fully local — behind a single interface, so you can move between cloud-quality voices and complete offline privacy without switching tools.
It's a one-time purchase of $29. No subscription. No account. No telemetry. No server that stores your work.
Why it's different
Four engines, one interface
| Engine | Type | What it gives you |
|---|---|---|
| ElevenLabs | Cloud | The highest quality voices available today. 14 professional voices. Uses your own API key. |
| Gemini | Cloud | AI writing assistance for drafting and refining scripts. Free tier available. |
| Anhad | Local | 15 voices, runs on CPU, no GPU required. Works with the network cable unplugged. |
| Nuqta | Local | Offline scriptwriting assistant in three model sizes. |
You can draft a script with the local AI assistant on a flight, then generate the final audio with ElevenLabs when you're back online. Or work entirely offline for the whole project. The engine is a dropdown, not a commitment.
29 voices total. All available from the same picker. Switching engines takes one click — cloud-only features hide themselves automatically when you're using a local engine, so you never see controls that don't apply.
Offline is an architecture, not a promise
This is the part that matters most to me.
The local engines — Anhad and Nuqta — run entirely on your machine. Your scripts, your generated audio, and your conversation history stay on disk. Nothing is uploaded. Nothing is stored on a server I control. There is no SoundScript server at all.
When you use a cloud engine like ElevenLabs, the text goes directly from your machine to ElevenLabs, using your API key, under your account and their terms. SoundScript is a client, not a middleman. Your API keys are stored in a local config file — not in a key vault, not in an account, not anywhere else.
No sign-up. No login. No cloud sync.
If you're working under NDA, narrating something sensitive, or simply don't want a third party to know what you're writing, the local engines give you a real option. Not "we promise we don't look" — an architectural one.
Smart caching saves real money
Every generated file is stored locally with a cache key that captures every parameter affecting the output: text, voice, tone, model, and speed.
Generate a paragraph. Change your mind about the tone. Change it back. The second generation is instant and free — it doesn't touch the API.
On cloud engines, this matters. Iterating on a script is the normal workflow, and without caching, tweaking one word means re-paying for the entire paragraph. With caching, only the new parts cost anything.
Set a cache size limit — 50 MB, 100 MB, 500 MB, 1 GB, or unlimited — and old files are pruned automatically. Clear it manually any time from Settings.
What else is in the box
The Studio is where you write and generate. A script editor with a live character and word count, 20 tone presets (Narrator, Suspenseful, Cheerful, Meditative), six ElevenLabs models, and a toolbar that adapts to whichever model you've selected.
ElevenLabs-specific tools most frontends don't expose:
- SSML toolbar with one-click pause, phoneme, whisper, emphasis, and prosody insertion
- Phoneme support for exact IPA or CMU-ARPABET pronunciation — so "Kubernetes" gets read as a word, not a puzzle
-
v3 Tag Browser with 25+ expressive tags like
[laughs],[whispers],[sighs], and[slowly]— for directing a performance rather than just reading text
The AI Assistant is a chat interface for drafting and refining scripts. Run it on Gemini (cloud) or a local Nuqta model (offline). It's specifically instructed to write for the ear and to convert numbers and symbols to spoken words before they reach a TTS engine — preventing the "two zero one nine" problem when narrating dates.
The Library is a sortable, searchable table of every file you've generated. Play, save, or delete any file without leaving the app.
Batch mode processes an entire folder of .txt files in one pass. Useful for audiobook chapters, podcast segments, or a content series.
Model management lets you download, activate, and delete local models on demand. Downloads resume automatically if interrupted, and continue in the background if you close the window.
Who it's for
- Voiceover and narration work where cloud quality matters but privacy does too
- Content creators producing podcasts, audiobooks, or video narration at volume
- Anyone doing NDA work who can't upload scripts to a cloud TTS service
- Developers and technical writers who want a TTS studio that isn't a browser tab
If you already pay for ElevenLabs and want a proper desktop frontend for it, SoundScript works with your existing key. If you don't, the local engines are fully functional on their own.
Pricing
$29, one-time. Perpetual license, single user, up to three devices.
No subscription. No recurring fees. No feature gating. No premium tier. Every engine, every voice, every feature is included. Free updates for bug fixes and performance improvements.
Refunds are handled through Gumroad.
Requirements
- OS: Windows 10/11 or Linux (Ubuntu, Fedora, Kali)
- Network: Internet for cloud engines; fully offline with local engines
- ElevenLabs API key (for cloud TTS) — bring your own, from your existing account
- Google AI Studio API key (optional, for the cloud AI assistant)
- Disk space: ~340 MB for the local TTS model; 400 MB to 2.5 GB for a local LLM depending on size
macOS is not currently supported.
Where to get it
Website: bitprogram0-alt.github.io/soundscript-landingpage
Gumroad: Get SoundScript on Gumroad
The full Privacy Policy and Terms of Service are linked from the app's About page.
Questions or support: bitprogram0@gmail.com
If you have questions about how it fits into your workflow, or how it compares to whatever you're using now, I'm happy to answer in the comments.
Top comments (0)