Russian TTS
Russian is the language where this spoke's two long-running arguments meet: the tts-front-end is unavoidable here, and almost nothing about the field has been measured. This page collects what is actually known, and is honest about how little that is.
Written 2026-09-06 in answer to a direct question — which TTS is best for audiobook narration in Russian? — which turned out to have a defensible answer and a badly dated evidence base.
Why Russian is not just another language column
Russian orthography does not write stress, and stress decides which word it is: з+амок is a
castle, зам+ок is a lock. Get it wrong and you have not produced an accent, you have produced a
different word or a non-word. ё is written as е most of the time, and has to be restored. Both
problems are settled before a synthesizer produces any sound, which is the whole argument of
tts-front-end.
So a language count is not a capability claim. When XTTS-v2 lists 17 languages or omnivoice lists 646, Russian's entry means the acoustic model can make Russian sounds from text it can already read. Whether anything upstream decided where the stress falls is a separate question that no language table answers.
Three shapes of answer exist in this corpus, and the third is new:
- Bolt-on — ruaccent, a separate library you run before synthesis. Five ONNX models, 21 MB of dictionaries, a vendored CRF tagger. Publishes no accuracy figures at all.
- Vendor's standalone library — silero-stress, MIT, from the Silero team. Publishes homographs at F1 0.85 / 91% per-word, and 60–70% on unknown words.
- Folded into the synthesizer — silero-tts v5, where stress, ё and homographs are flags on the synthesis call. This is the one the corpus did not have.
That third route is why the closed systems can score well with nothing published: whatever Yandex does about stress is inside the box, and its character error rate says it works.
The evidence base is one table from 2024
russian-tts-evaluation — nickolay-shmyrev, alpha-cephei, 2024-07-12 — is as far as this spoke can determine the only independent side-by-side measurement of Russian TTS in existence. Thirteen systems, five metrics, published scoring code, and a test set that happens to be exactly right for this question: audiobooks, ~100 speakers, ~1k utterances.
The decision-relevant slice, lower CER and FAD better, higher UTMOS better:
| System | CER (clarity) | UTMOS (studio quality) | FAD (intonation) | Speed |
|---|---|---|---|---|
Yandex marina / alexander |
0.6 | 3.48 / 3.41 | 49 / 54 | 0.028 xRT (cloud) |
EdgeTTS svetlana / dmitry |
0.7 | 3.51 / 3.57 | 31 / 33 | 0.076 xRT (cloud) |
Silero v3_1 aidar |
0.7 | 2.54 | 97 | 0.126 xRT CPU |
Piper irina |
1.4 | 3.67 | 75 | 0.045 xRT CPU |
| Vosk-TTS GPT | 2.1 | 3.38 | 10.1 | GPU only |
| XTTS2 | 2.7 | 3.04 | 97 | GPU only |
Piper denis / dmitry / ruslan |
3.0–3.7 | 2.86–3.06 | 72–143 | 0.045 xRT CPU |
Four things fall out of it, and three of them are counterintuitive.
Yandex wins the metric that matters most for a book. Lowest CER in the field, near-top UTMOS, and by the evaluator's own reasoning clarity is what a listener can least tolerate losing over ten hours: "you can deal with plain intonation but artifacts are really annoying."
Voice cloning costs clarity, measurably. Every multi-speaker system in the table sits at CER 2.1 or worse against 0.6–0.7 for the single-speaker leaders — "multi-voice systems seriously suffer from fuzziness." This spoke has recorded zero-shot cloning as an all-but-free feature across sixty pages (free-voice-clone-list: 35 of 36 TTS entries claim it). Here is a price for it, in the language that punishes imprecision hardest.
XTTS-v2 is the wrong answer, though it is the one the roundups give. CER 2.7 and speaker similarity with a 0.468 minimum — on some references the clone barely resembles the target. The evaluator's note is blunt: "much worse than I expected."
One hour of good data beat everything on studio quality. Piper irina, trained on 1 hour,
takes the highest UTMOS in the whole table (3.672) while three sibling voices built identically on
worse recordings sit at CER 3.0–3.7. "Even a small size gives very good results… if the data is
good."
What the table can no longer tell you
Two years, and the gaps are not evenly spread:
- Silero has shipped v5 and five point releases since. The table's newest Silero is v4, whose UTMOS of 1.755 is the worst score in it. v5 (October 2025) added automatic homograph resolution and SSML and claims 3–4× the speed of v3; nobody outside Silero has checked any of it.
- elevenlabs is not in the table at all, nor any frontier commercial system except Yandex and Microsoft's EdgeTTS. The English boards this spoke quotes daily — tts-arena-leaderboard, open-asr-leaderboard — do not break out Russian.
- Piper was archived on 2025-10-06. Its Russian bug report (issue
#771, opened 2025-04-15 — the
ruslanvoice "says random sounds") drew no maintainer reply before the repository went read-only. Work continues asOHF-Voice/piper1-gpl, GPL-3.0, where the archivedrhasspy/piperwas MIT — a licence change on the same project, of the kind open-weight-tts tracks.
Licences decide this more often than quality does
For a narration job the licence usually settles the choice before any score does:
| System | Licence | Sellable audiobook? |
|---|---|---|
| Yandex SpeechKit | commercial, paid | Yes |
| elevenlabs | commercial, paid (Starter tier up) | Yes |
Piper voices (rhasspy/piper-voices) |
MIT at repo level | Yes — check the per-voice model card |
| Silero TTS v4/v5 | CC BY-NC-SA | No |
| XTTS-v2 | CPML | No |
Silero's split is worth stating twice because it is easy to misread: only the base CIS models are MIT; every Russian TTS model is non-commercial. The same team's silero-stress — the hard linguistic half — is MIT. You may freely use their stress placer to feed a synthesizer you are allowed to sell the output of.
Both non-commercial entries sit with voicecraft on open-weight-tts's restrictive pole.
Cost, at book length
Assume a 300-page novel at roughly 500,000 characters (our estimate; scale linearly):
| Option | Cost for one book |
|---|---|
| Yandex API v1, ~$11 per 1M chars | ~$5.50 |
| elevenlabs Multilingual v2, 1 credit per character | ~$99 — one month of the 600,000-credit Pro tier |
| Silero / Piper, self-hosted | $0 of synthesis; Silero non-commercial |
An eighteen-fold gap, with the cheaper option holding the better independently-measured Russian clarity. ElevenLabs buys expressive range and an audiobook-oriented model — Multilingual v2 is the one its docs recommend for long-form, "most stable on long-form generations", 10,000 characters a request against Eleven v3's 5,000 — but nothing published measures that range in Russian, or measures where it puts the stress.
So: which one
- Selling it, want the best measured Russian → Yandex SpeechKit, if it is reachable and payable where you are. Best CER, near-best UTMOS, ~$5.50 a book, thirteen voices with selectable emotional roles.
- Selling it, want expressive narration and Yandex is not an option → elevenlabs Multilingual v2. Budget ~$99 a book and audition it on your own text, especially proper nouns and rare words, because no published evidence covers its Russian stress behaviour.
- Free, offline, and the audio is not for sale → Silero
v5_5_ru, five voices at 48 kHz, stress and homographs built in, ~140 MB, faster than real time on one CPU thread. The licence is the binding constraint, not the quality. - Free, offline, and you need to sell it → Piper
irina(MIT voices, highest UTMOS in the table, 0.045 xRT on CPU) plus silero-stress or ruaccent in front for stress. Its CER is more than double Yandex's and the Russian support is unmaintained; this is the constrained answer, not the good one. - Cloning a specific voice → the honest answer is that nothing here scores well. Every cloning system measured lost 1.5–2 points of CER to the single-speaker leaders.
Whatever you pick, budget for a custom stress dictionary. Both published stress models put out-of-vocabulary accuracy at 60–70% (silero-stress), and a novel is full of proper nouns that no dictionary has.
The growth edge this opens
Nobody has measured Russian TTS since July 2024. Retracted 2026-09-27: RuASD (arXiv 2604.02374, Lysikova, Borodin and Mkrtchian, v2 2026-04-27, under review at IEEE Access) built an anti-spoofing corpus from 37 Russian-capable TTS systems, including Vosk-TTS, Piper, Edge TTS, SaluteSpeech, VK Cloud Voice and ElevenLabs. Its Table I reports ASR character error rate and NISQA-predicted MOS for each system (Espeech Podcaster: CER 0.04, MOS 4.81; Piper: CER 0.05, MOS 3.87). These are machine-predicted scores on UN-corpus text, not a listening test, and the paper's goal is spoof detection, not ranking. So Russian TTS has been measured again, but only by automatic metrics. The vosk-tts instrument exists, is published, and is
re-runnable (alphacep/vosk-tts, extra/tts-test/ru);
the three systems a 2026 buyer would actually shortlist — Silero v5, ElevenLabs Multilingual v2,
current SpeechKit v3 — are none of them in it. This is the cheapest unmeasured question in the spoke:
automatic metrics, an existing harness, no listening panel required.
Related
russian-tts-evaluation · silero-tts · yandex-speechkit · ruaccent · silero-stress · tts-front-end · text-to-speech · open-weight-tts · elevenlabs · xtts-paper · vosk