sanoTTS (ultra-light offline)
Dubs your subtitles with sanoTTS, neural voices of 294k to 2.3M parameters that run on the CPU. Its 28 voices in 14 languages download on first use, a few MB each, and work offline after that.
Settings Add-ons sanoTTS (ultra-light offline) Install
Subtitld downloads it, checks its SHA-256, and keeps it updated.
- Languages
- 14
- Voices
- 28
- Add-on download
- 38–63 MB
- RAM, at least
- 512 MB
What it does
Choose sanoTTS as the Dubbing engine and pick a voice for each speaker. Generate all speeches dubs that speaker's lines: all of them, a range, or the selection.
Each voice downloads the first time you use it, 0.3 to 9 MB, from Hugging Face or, if that fails, from GitHub. After that it works offline.
No graphics card needed. sanoTTS runs on two CPU threads by default, so it doesn't take every core while you edit.
With Fit dub to subtitle duration on, each new clip is sped up or slowed down to last as long as its subtitle. The original clip is kept too.
Voices
Most languages have one voice, or a standard one and a compact -tiny one: Czech, German, Spanish, Italian, Portuguese, Romanian, Russian and Turkish have both. English (US) has seven:
- Heart, marked as the most natural, and Heart Nano, the fastest, at 294k parameters.
- Amy in three sizes: smallest, balanced and highest quality.
- Hfc and Kristin, two more timbres.
The first line with a voice waits for it to download and load; the lines after it reuse it.
Long lines on Heart and Heart Nano. These two voices fail on long input, so the add-on splits any subtitle over 170 characters at sentence ends and joins the pieces. The joins can be faintly audible.
28 voices in 14 languages.
ar-jo1cs-cz2de-de2en-us7es-es2fr-fr1id-id1it-it2pt-br2ro-ro2ru-ru2tr-tr2vi-vn1zh-cn1
Where voices are kept
Outside the add-on, so updating or uninstalling it keeps your voices.
| System | Folder |
|---|---|
| Linux | ~/.cache/sanotts |
| macOS | ~/.cache/sanotts |
Options
Subtitld hands these settings to the add-on when it starts it. After a change, they apply once the add-on restarts: after five minutes without use, or when you restart Subtitld.
In Settings › Add-ons › sanoTTS (ultra-light offline) › Configure.
1.0Applied at synthesis time by stretching phoneme durations, which sounds better than resampling afterwards.
2Threads numpy/OpenBLAS may use. The default of 2 keeps synthesis from saturating every core while you are editing.
Where voice packs are fetched from on first use. Pin one if the other is blocked on your network.
Optional. A folder holding one extracted voice pack, for working with no network at all. Every sanoTTS voice you pick then speaks with this pack, so leave it empty to use the voice list. Type the folder's path; Browse picks files only.
Languages
Ten of the 14 languages are pronounced with espeak-ng, which comes inside the add-on, so there's nothing else to install. sanoTTS's own website lists Hindi and Nepali too, but those exist only in its browser demo, not in the build this add-on uses.
ar-jocs-czde-deen-uses-esfr-frid-idit-itpt-brro-roru-rutr-trvi-vnzh-cn
Platforms
| System | Download | Tested |
|---|---|---|
| Linux x86-64 | 63.2 MB | Real synthesis in CI |
| macOS (Apple silicon) | 37.6 MB | Real synthesis in CI |
Before every release, CI runs each packaged build and has it speak English and German lines. There's no Windows build yet: on Windows, sanoTTS can stop mid-line while it sets up espeak-ng, and the add-on's fix for that hasn't been tested on a real Windows machine.
Troubleshooting
When a line fails, it's left without a dub. These are the reasons the add-on gives.
model_missingThe voice pack couldn't be downloaded from Hugging Face or GitHub. Check your connection and try again. If one of the two is blocked on your network, choose the other in Download voices from.network_unavailableThe voice pack's download failed. Check your connection and try again; a voice that's already downloaded works offline.disk_fullNot enough disk space. Free some and try again.bad_paramsThe subtitle is empty, or too long for the voice. Split it into shorter subtitles, or pick another voice.unsupported_voiceThe voice saved for this line isn't a sanoTTS voice. Pick one from the Voice list again.internalSomething failed inside the add-on. If it happens only with voices that use espeak-ng (all but English, Chinese, Vietnamese and Indonesian), the bundled espeak-ng didn't load. That's a fault in the add-on, not your computer: please report it.
License
The GPL allows commercial use. Every release also includes the source of its GPL parts, as the license requires.
Versions
- 0.1.0
Source for the GPL components
This add-on is distributed under the GNU General Public License v3.0 or later. Complete Corresponding Source for the GPL-licensed parts (espeak-ng, phonemizer-fork) is attached to this release as
*-corresponding-source.tar.gz, at no charge, per GPL-3.0 section 6(d).Each binary archive also contains a
THIRD_PARTY_LICENSES/directory with the full licence texts and the exact upstream revisions used.
Other Voices add-ons
-
Piper Offline
158 offline voices in 49 languages, each a separate small download.
-
Kokoro Offline
54 offline voices in nine languages, all from one 82 MB model.
-
Supertonic Offline
Ten offline voices, each able to speak all 31 of its languages.
-
Parler-TTS Offline
English voices that follow a written description; 34 named speakers.
-
Qwen3-TTS Clone
Ten languages, nine voices, and cloning from 3 seconds of a speaker.
-
Coqui XTTS Clone
Voice cloning in 16 languages, with a non-commercial model license.
-
F5-TTS Clone
Voice cloning only, in English and Chinese; non-commercial model.
-
VoxCPM2 Clone
30 languages at 48 kHz, in the speaker's own voice or a described one. Heavy.
-
Pocket TTS Offline
Fast and light, CPU only. 23 voices in seven European languages.
-
Sopro Clone
The speaker's own voice, fast on a CPU. Four languages.
-
KittenTTS 2 Clone
The speaker's own voice in 16 languages, on a CPU. Weights under a restrictive licence.
-
Ming-3.0-tts Clone
7 languages at 44.1 kHz: cloned, built-in or described voices, with emotion. Heavy.
-
Chatterbox Clone
Offline TTS in 20 languages, in the speaker's own voice cloned from a few seconds of the video or in one of 8 preset…