URL: https://linuxfr.org/users/mothsart/journaux/lancement-de-gspeech-0-8 Title: Lancement de Gspeech 0.8 Authors: mothsART Date: 2020年04月16日T14:42:54+02:00 License: CC By-SA Tags: pico-tts, gspeech, voix et debian Score: 43 Bonjour à tous. J'ai décidé de dépoussiérer un logiciel qui me semblait avoir un bon potentiel mais quelques lacunes. gSpeech est un petit utilitaire qui permet de lire du texte. (synthèse vocale) Pour un descriptif détaillé : https://wiki.primtux.fr/doku.php/gspeech et pour un complément d'information : https://doc.ubuntu-fr.org/svoxpico Bon, on peut pas dire que le TTS (Text To Speech) soit la joie sous Linux. Ça fait maintenant quelques années que j'aide au développement de la distribution Primtux et gSpeech (ainsi que la lib pico Vox) est au cœur de la synthèse vocale. Au début j'ai donc timidement apporté quelques patchs au projet puis avec le temps, j'ai approfondi. Qu'est-ce qu'apporte cette version 0.8 : - meilleur couverture de la traduction (en français) - utilisation en cli : ça a permis de créer les contenus oraux de cette l'appli Primtux "J'écoute puis j'écris" (non finalisé) : https://primtux.fr/applications/ecoute-ecris/ - migration de python 2 à python 3 - migration de GTK 2 à GTK 3 - refactoring avec un meilleur découpage. (C'est encore loin d'être ça mais quand on reprend un soft, il faut déjà avoir une vision général avant de tout recadrer. - mise en place de tests unitaires et d'intégration continue - source pour la création de paquet debian : le paquet le plus à jour, trouvé dans un PPA mettais tout en vrac dans /opt. j'ai rendu les choses un peu plus élégant au sens arbo UNIX. (mais la perfection n'est pas de ce monde, il reste des warning Lintian) - possibilité de tester sous docker : process dans le README - gestion plus fine des dictionnaires Je souhaites attirer votre attention sur ce point qui sera sans doute la pierre d'angle de mes futures travaux : améliorer la reconnaissance de texte. Pour cela, je m'appuie sur 3 axes : - utilisation de dictionnaires "clé" => "valeurs". La clé représente le mot retrouvé et la valeur le remplacement pour qu'il soit lu de la meilleur manière par picovox. Par exemple : "parent" est transformé en "paran" pour qu'il ne soit pas lu "par". Autre exemple : prise en compte du œ, non reconnu par pico Vox donc remplacé avant lecture par "oe". Pourquoi plusieurs dictionnaires ? Car avant, tout était mélangé dans un et ça devenait ingérable. Maintenant, on a des dictionnaire pour : les abréviations, les acronymes, les marques, les noms propres, les expressions, les termes techniques, l'argot etc. Bref, une meilleur classification, de meilleurs diff git. - utilisation de dictionnaire avec des expressions régulières : certains cas nécessite plus de finesse. - utilisation d'algos maisons car les expressions régulières ne couvrent pas tout et peuvent être gourmandes. Ces règles sont strictement confinés (il fallait que je place ce mot) à la langue sélectionné. Pour des raisons évidentes de temps (et de capacité), je me suis uniquement concentré sur la langue française mais il n'est pas interdit de proposer votre aide. J'ai malheureusement noté les évolutions effectués que très récemment. C'est donc loin d'être exhaustif. Et dans l'avenir ? J'ai des projets un peu plus nobles encore pour une version 1.0 digne de ce nom. J'aimerais pouvoir créer un daemon pour la synthèse vocale qui ferait tampon entre gSpeech et picoVox et qui encapsulerais toute la partie reconnaissance de texte. Ce moteur intermédiaire traiterait de la phonétique et non une pseudo langue. (dédié à pico Vox) Il pourrait aussi s'interfacer avec d'autres moteurs de synthèse : je pense par exemple à DeepSpeech de Mozilla (https://github.com/mozilla/DeepSpeech) mais aussi aux API web de Google par exemple. (POC here : https://github.com/mothsART/speechscripts) Egalement, il mettrait à disposition une API C (avec un ou plusieurs exemples de wrapper) et une API web pour pouvoir être piloté par des applis. Pour cela, un daemon aurait la capacité d'éviter de jouer plusieurs lectures en simultanée et de se retrouver avec des cas de cacophonie. Bref, les idées ne tarisse pas et j'ai déjà fait un 1er jet (wrapper en python et dev en Rust) : https://github.com/mothsART/speechtux GSpeech redeviendrait en quelque sorte ce qu'il a toujours été : une simple GUI au dessus de tout ça. Enfin, je compte également proposer un paquet Nix. (projet pour lequel je me passionne depuis peu) Bien entendu, je suis ouvert à toute proposition d'amélioration, de correctif.

AltStyle によって変換されたページ (->オリジナル) /