Silero-TTS v5 : Quatre types d'intonation interrogative en russe maintenant disponibles
Le modèle Silero-TTS v5 pour le russe génère désormais une parole avec une intonation interrogative précise. Le modèle prend en charge quatre types de questions : spéciales (avec mots interrogatifs), générales (avec accent prosodique), alternatives et à queue. Pour les questions générales, le centre intonatif est marqué par des astérisques — cela renforce l'expressivité sans nécessiter de paramètres supplémentaires.
Fonctionnalités principales de la mise à jour :
- Gestion automatique des homographes et de l'accentuation.
- Prise en charge complète du SSML pour un contrôle précis de la prosodie.
- Haute vitesse d'inférence sur CPU.
- Voix disponibles : aidar, baya, kseniya, xenia (eugene en cours de développement).
Fondements linguistiques de l'intonation interrogative
En russe, les questions sont marquées grammaticalement (ordre des mots, rarement), lexicalement (mots interrogatifs, particules) et prosodiquement (intonation). Les questions générales reposent uniquement sur la prosodie : le centre intonatif peut tomber sur n'importe quel mot, modifiant ainsi le sens.
Exemples :
- Il EST VENU ? — accent sur l'action.
- IL est venu ? — accent sur le sujet.
Former le modèle nécessite de signaler les types de questions et les positions de l'accent. Un corpus sans ces annotations est insuffisant.
Exemples de synthèse de questions générales
Code pour générer des questions avec différentes positions d'accent :
import IPython.display as ipd
texts = [
'*Organisateurs* nous ont envoyé des billets numériques ?',
'Organisateurs *ont envoyé* nous des billets numériques ?',
'Organisateurs ont envoyé *nous* des billets numériques ?',
'Organisateurs ont envoyé nous *numériques* billets ?',
'Organisateurs ont envoyé nous des billets *numériques* ?'
]
for i, text in enumerate(texts):
audio = model.apply_tts(text=text, speaker='xenia')
ipd.display(ipd.Audio(audio, rate=48000))
Les échantillons audio montrent une montée douce du ton sur le mot mis en évidence, suivie d'une chute à la fin.
Installation et utilisation basique
Installez via pip :
!pip install silero
from silero import silero_tts
model, example_text = silero_tts(language='ru', speaker='v5_4_ru')
audio = model.apply_tts(text=example_text)
Initialisation complète via torch.hub :
import torch
language = 'ru'
model_id = 'v5_4_ru'
device = torch.device('cpu')
model, example_text = torch.hub.load(repo_or_dir='snakers4/silero-models',
model='silero_tts',
language=language,
speaker=model_id)
model.to(device)
sample_rate = 48000
speaker = 'xenia'
put_accent=True
put_yo=True
put_stress_homo=True
put_yo_homo=True
example_text = 'My name is Leva Korolev. I am ready. And I am ready to open locks of any complexity!'
audio = model.apply_tts(text=example_text,
speaker=speaker,
sample_rate=sample_rate,
put_accent=put_accent,
put_yo=put_yo,
put_stress_homo=put_stress_homo,
put_yo_homo=put_yo_homo)
Exemple SSML avec contrôle de la prosodie :
ssml_sample = """
<speak>
<p>
Quand je me réveille, <prosody rate="x-slow">je parle assez lentement</prosody>.
Ensuite, je reprends mon ton habituel,
<prosody pitch="x-high">ou je peux parler plus haut</prosody>,
ou <prosody pitch="x-low">au contraire, plus bas</prosody>.
Enfin, si j'ai de la chance – <prosody rate="fast">je peux aussi parler assez vite.</prosody>
Et je sais aussi faire des pauses de toute longueur, par exemple deux secondes <break time="2000ms"/>
<p>
Je peux aussi faire des pauses entre paragraphes.
</p>
<p>
<s>Et aussi des pauses entre phrases</s>
<s>Par exemple comme maintenant</s>
</p>
</p>
</speak>
"""
audio = model.apply_tts(ssml_text=ssml_sample,
speaker=speaker,
sample_rate=sample_rate)
Paramètres d'intonation et recommandations
- intensity=3 : intensité de l'intonation interrogative (par défaut, optimal).
- Pour les questions spéciales, alternatives et à queue, l'accent est facultatif.
- Les questions générales exigent l'utilisation d'astérisques pour positionner précisément l'accent.
Types de questions et leur traitement :
- Spéciale : Quoi ? Où ? Quand ? — marquage lexical + prosodie standard.
- Générale : Tu es à la maison ? — accent prosodique sur n'importe quel mot.
- Alternative : Poisson ou viande ? — intonation sur les options.
- À queue : N'est-ce pas ? — ton montant sur la partie finale.
Ce qui compte
- Silero-TTS v5 génère des questions avec accent prosodique sur n'importe quelle position, sans GPU.
- Support de quatre types de questions via une simple marque d'astérisque dans les cas généraux.
- Intégration SSML pour un réglage fin de la prosodie et des pauses.
- Installation via pip/torch.hub, sample_rate=48000 Hz.
- Accent dans les phrases déclaratives prévue pour les futures mises à jour.
— Editorial Team
Aucun commentaire pour le moment.