La version 1.2.4 du système de synthèse vocale open source RHVoice a été publiée. Initialement développée pour assurer un support de qualité pour la langue russe, elle a ensuite été adaptée à d'autres langues, y compris l'anglais, le portugais, l'ukrainien, le kirghize, le tatar et le géorgien. Le code est écrit en C++ et est distribué sous la licence LGPL 2.1. Elle fonctionne sous GNU/Linux, Windows et Android. Le programme est compatible avec les interfaces TTS standard (text-to-speech) pour convertir le texte en parole : SAPI5 (Windows), Speech Dispatcher (GNU/Linux) et l'API Android Text-To-Speech, et peut également être utilisé dans le lecteur d'écran NVDA.
Le programme utilise une méthode de synthèse paramétrique avec des modèles statistiques (Statistical Parametric Synthesis basé sur HMM — Hidden Markov Model). L'avantage du modèle statistique réside dans sa faible consommation de ressources et son exigence minimale en puissance CPU. Toutes les opérations s'effectuent localement sur le système de l'utilisateur. Trois niveaux de qualité de la voix sont supportés (plus la qualité est basse, plus la performance est élevée et le temps de réponse est réduit).
La configuration et le changement de voix sont pris en charge. Pour la langue russe, 9 voix sont disponibles, tandis que pour l'anglais, 5 voix. Les voix sont générées à partir d'enregistrements de discours naturel. En raison de l'utilisation d'un modèle statistique, la qualité de la prononciation n'atteint pas le niveau des synthétiseurs qui génèrent de la parole à partir de la combinaison de fragments de discours naturel, mais le résultat est tout de même assez compréhensible et ressemble à une diffusion d'un enregistrement par un haut-parleur.
Dans les paramètres, il est possible de modifier la vitesse, la hauteur et le volume. Une bibliothèque Sonic peut être utilisée pour modifier le tempo. La détection et le changement automatique de langue peuvent être réalisés en analysant le texte d'entrée (par exemple, des mots et citations dans une autre langue peuvent utiliser le modèle de synthèse natif de cette langue). Des profils vocaux sont supportés, définissant les combinaisons de voix pour différentes langues.
Source : opennet.ru
