#4435·TTS

[Bug]

Author: evgguroff-altCreated Aug 11, 2026Updated Sep 14, 2026
Labelsbugwontfix

Describe the bug

Title: Critical limitations of XTTS v2 for Russian speech — stress control and full-stop handling

Hello

I am writing on behalf of Russian-speaking XTTS v2 users

The model claims Russian language support, but in its current state this support is incomplete for practical voice-over work

The first critical problem is the lack of reliable stress control. In Russian, word stress determines naturalness and can sometimes change the meaning of a word. XTTS v2 provides no mechanism for manual stress control

Capital letters inside a word, SSML markup, phonemes, and pronunciation dictionaries do not work. Capital letters are also lost during built-in text normalization. Generating multiple variants and changing a word’s spelling phonetically are not solutions — they are only unreliable workarounds

The second critical problem is that a full stop in Russian text can cause an unnatural stretching of the final sound or a false vocalization. This is not a pause or natural intonation; it is a noticeable speech defect

A common workaround — replacing the full stop with an exclamation mark — is not a solution either. In this case, the exclamation mark carries neither emotional nor semantic meaning: the model renders the phrase the same way with or without it. The user is forced to abandon normal punctuation merely to avoid a synthesis error

Both issues are critical for Russian. In commercial videos, instructions, educational materials, and technical presentations, an incorrect word stress or a defect at the end of a sentence immediately makes the voice-over sound unprofessional

We ask you to add:

  • support for Unicode stress marks
  • an SSML tag for stress or phonemes
  • a user pronunciation dictionary
  • a simple stress syntax, for example a marker before the stressed vowel
  • correct handling of a full stop as a neutral sentence boundary without false vocalization
  • a separate setting for the pause after a full stop without altering the pronunciation of the final word

Without these features, Russian language support cannot be considered complete. XTTS has a high-quality voice, but the lack of stress control and the incorrect handling of basic punctuation make the model unreliable for professional Russian voice-over work

Please consider this a high-priority issue

To Reproduce

from TTS.api import TTS

tts = TTS("tts_models/multilingual/multi-dataset/xtts_v2", gpu=False)

tts.tts_to_file( text="Перед вами фотореалистичный кадр готовой конструкции.", speaker="Marcos Rudaski", language="ru", file_path="period_test.wav", ) 1 Run the code above 2 Listen to period_test.wav 3 The model stretches or adds an unnatural vocal sound after the final word when the sentence ends with a full stop

For comparison, remove the full stop or replace it with an exclamation mark and generate again The artifact disappears, but the exclamation mark does not create a meaningful emotional or semantic difference in the generated speech

Expected behavior

For Russian synthesis, a full stop should create a neutral sentence boundary and a natural pause without stretching the final vowel or generating an extra vocal sound

Russian stress marks should be preserved or a documented pronunciation control mechanism should be available

Logs

No runtime exception occurs

The issue is audible in the generated WAV output

Environment

TTS version: 0.27.5
PyTorch version: 2.13.0+cpu
Python version: 3.12.13
OS: Windows 10 22H2, build 19045
CUDA: not available
GPU: CPU inference
Installation: pip in a local virtual environment
Speaker: Marcos Rudaski
Language: ru
Model: tts_models/multilingual/multi-dataset/xtts_v2

Additional context

No response