NV Speech Player. Un moteur de synthèse vocale basé sur Klatt, écrit en c ++

Vue d'ensemble

NV Speech Player est un prototype de synthétiseur vocal libre et en open-source qui peut être utilisé par NVDA. Il génère la voix utilisant la synthèse Klatt, ce qui en fait est un peu similaires aux synthétiseurs vocaux Dectalk et Eloquence.

Licence et copyright

NV Speech Player est Copyright (c) 2014 NV Speech Player contributeurs NV Speech Player est couvert par la GNU General Public License (Version 2). Vous êtes libre de partager ou de modifier ce logiciel De toute façon aussi longtemps qu'il vous plaît tant qu'il est accompagnée de la licence et que vous rendez le code source disponible à quiconque le désire. Cela s'applique aux copies originales et modifiées de ce logiciel, ainsi que toute œuvre dérivée. Pour plus de détails, vous pouvez consulter la licence en ligne à: http://www.gnu.org/licenses/old-licenses/gpl-2.0.html

Arrière-plan

Les années 70 et 80 ont vu beaucoup de recherches dans la synthèse vocale. Un des modèles de synthèse plus éminents qui est apparue était une synthèse de fréquence des formants appelée synthèse Klatt. Certains synthétiseurs Klatt connus sont Dectalk et Eloquence. Ils sont bien adaptés pour une utilisation par les aveugles car ils sont extrêmement sensibles, leur prononciation est souple et prévisible, et ils sont petit en mémoire occupée. Cependant, la recherche change bientôt sur d'autres formes de synthèse comme la voix concatinative, car bien que cela a été plus lente, il était beaucoup plus proche de la voix humaine. Il s'agissait d'un avantage pour l'utilisation dans les applications grand public tels que les appareils GPS ou les systèmes téléphoniques, mais pas nécessairement ainsi beaucoup d'avantage pour l'aveugle, qui à tendance à se soucier plus sur la réactivité et la prévisibilité que sur le plaisir.

Bien que les synthétiseurs tels que Dectalk et Eloquence continue à être maintenu et disponible depuis près de 20 ans, maintenant ils deviennent plus difficiles à obtenir, avec plusieurs sociétés, disant que ceux-ci et leurs variantes, ont été en fin-de-vie et ne serons plus mis à jour.

Les synthèse concatinative commence maintenant à s'avèrent prometteurs comme substitut de la réactivité et la souplesse s'améliore. Cependant, la qualité acceptable de la plupart sinon la totalité des synthétiseurs sont disponible sur le marché et sont assez chers.

Dectalk et Eloquence étaient des produits commerciaux de source fermé (non libres) eux-mêmes. Cependant, il y a une quantité considerable de code source et matériel de recherche sur la synthèse Klatt disponible pour la communauté. NV Speech Player essaie de tirer profit de cela en étant un prototype modern d'un synthétiseur Klatt, dans l'espoir soit d'être un remplacement pour les synthétiseurs comme Dectalk ou Eloquence, ou au moins de relancer la recherche et la conversation autour de cette méthode de synthèse.

Le synthétiseur eSpeak, lui-même un produit libre et open source s'est avéré bien en remplacement d'un certain nombre de personnes dans la Communauté, mais beaucoup de personnes qui l'entende sont très prompts à souligner sa voix "métallique" et n'arrive pas à continuer à l'utiliser. Bien que les auteurs de NV Speech Player préfèrent encore eSpeak comme leur synthétiseur de choix, ils espère toujours tenter de mieux comprendre cette étrange résistance à eSpeak susceptible qui peut avoir quelque chose à voir avec les fréquence spectrale de la synthèse d'eSpeak versets synthèse Klatt. Il peut-être aussi lié au fait que les consonnes sont également rassemblés à partir de la voix enregistré et peut donc être perçue comme étant injectés dans le flux de la voix.

Mise en œuvre

Le moteur de synthèse lui-même est écrit en C++ en utilisant des expressions modernes, mais suit de près la mise en œuvre de klsyn-88, trouvé à http://linguistics.berkeley.edu/phonlab/resources/

eSpeak est utilisé pour analyser le texte en phonèmes représentés dans l'IPA, faisant usage du traitement de dictionnaire eSpeak existants. eSpeak peut être trouvé à : http://espeak.sourceforge.net/

Les données de formants Klatt pour chaque phonème individuel ont été recueillies pour la plupart d'un projet appelé PyKlatt : https://code.google.com/p/pyklatt/ Cependant il a été d'avantage peaufiner basé sur les tests et la mise en correspondance avec les données propres à eSpeak.

Les règles pour les longueurs de phonème, d'intervalle, de vitesse et d'intonation ont été codés à la main en Python, bien que l'intonation des données propre à eSpeak a été essayé de copier autant que possible.

Construction NV Speech Player

Vous aurez besoin : - Python 3.7 : http://www.python.org - SCons 3 : http://www.scons.org/ - Visual Studio 2019 Community

Pour construire: exécutez scons

Après la construction, il y aura un fichier nvSpeechPlayer_xxx.nvda-addon dans le répertoire racine, où xxx est le numéro de version de git révision ou codé en dur. Lorsque vous installer cette extension dans NVDA, cela vous permettra d'utiliser le synthétiseur Speech Player dans NVDA. Remarque tout ce dont vous avez besoin est dans l'extension, aucune dll supplémentaire ou fichiers ne doivent être copiés.