URL: https://linuxfr.org/users/mothsart/journaux/gspeech-passe-en-0-10 Title: gSpeech passe en 0.10 Authors: mothsART Date: 2020年06月27日T11:28:48+02:00 License: CC By-SA Tags: pico-tts, gspeech, tts, synthèse_vocale, voix, speech et ubuntu Score: 20 Bonjour à tous. gSpeech est un petit utilitaire que je vous avait déjà présenté ici pour le lancement de la 0.8 : https://linuxfr.org/users/mothsart/journaux/lancement-de-gspeech-0-8 et qui permet la synthèse vocale sur linux. Une présentation, somme toute sommaire est disponible ici : https://wiki.primtux.fr/doku.php/gspeech Je rappel que avant tout, j'ai repris et amélioré ce soft en vue d'améliorer l'expérience utilisateur dans la distribution Primtux et par conséquent pour le milieu francophone. Maintenant, son usage permet bien évidement de couvrir un champ plus large. Voici donc les évolutions depuis la présentation précédente : - la possibilité de modifier la vitesse de lecture : fonctionnalité au combien demandé dans le milieu scolaire ou on veut souvent réécouter une portion de texte au ralenti. - création d'un paquet .deb en bonne et du forme : l'existant installait tout dans /opt - mise en place d'un PPA pour tous les utilisateurs de Ubuntu et variantes : https://launchpad.net/~jerem-ferry/+archive/ubuntu/tts/+packages - création d'un paquet nix et intégration dans nixpkgs (https://github.com/NixOS/nixpkgs/pull/86641) Je tiens à préciser que la distrib Nix est pour le coup, la première à intégrer nativement gSpeech ! - mise en place d'un dialogue de configuration. En effet, jusqu'à présent, gSpeech utilisait les boites de dialogue de notification par défaut (si il détecte la fonctionnalité sur le système). Ce comportement, assez intrusif n'est pas du gout de tout le monde et peut donc désormais être désactivé. - résolution de bug sur les gros fichier. gSpeech utilise une librairie du nom de picoTTS pour sa synthèse vocale. Cette librairie n'est malheureusement plus maintenu et présente plusieurs défauts. Notamment, elle ne gère pas les textes de plus de 30000 caractères. Du coup, gSpeech tente de résorber ça en : 1. découpant les textes en paquet de 3000 caractères max en coupant en fin de phrase. Sinon, on perdrait potentiellement la qualité d’intonation sur les raccords : par exemple, fin de phrase interrogative. 2. en parallélisant (pour que ça soit le plus rapide) la conversion de ces paquets via picovox. 3. on rassemble les fichiers produits et on les lit via un petit utilitaire du nom de "sox" - passage à flake8. Pour les amoureux de Python, il existe un utilitaire du nom de flake8 qui permet d'améliorer la lisibilité du code.(c'est grosso modo un linter) C'est toujours un travail ingrat mais obligatoire pour gagner en sérieux. flake8 est également intégré dans l'intégration continue. - découplage et meilleur choix dans les noms des variables, fichiers, classes etc : toujours dans une optique de maturité. - toutes les nouvelles fonctionnalités sont systématiquement traduites en anglais et français. - mise en place d'un makefile pour mieux piloter les actions récurrentes du projet - ajout de la prise en charge de nouveaux mots et expressions. Autre soucis de picoTTS : il lit de manière brutal sans aucune intelligence. gSpeech essai de résorber ça avec un ensemble de dictionnaires, d'expressions régulières et quelques algos custom. Une liste d'exemples non exhaustif : * prise en compte de l'œ * lettre muette sur certains mots : "choeur" se prononce "coeur" * lettre non muette sur certains mots : "coq" se prononce "coque" etc. Ma dernière lubie a été de prendre en charge une part de vocabulaire anglais devenu courant : foot, burger, week-end, western etc. J'ai également rajouté quelques mots provenant de notre monde inondé par le numérique : twitter, facebook, geek, hardware etc. Pour l'instant j'implémente dans cet ordre : - phrases lu dans des applicatifs Primtux en priorité suprême - ajout d'une liste complète sur un thème précis : https://fr.wiktionary.org/wiki/Annexe:Mots_fran%C3%A7ais_d%E2%80%99origine_anglaise par exemple J'ai pas vraiment de méthodologie propre mais mon objectif est bien évidement de couvrir les cas les plus commun. Je suis donc ouvert à toute proposition pour aboutir a une couverture de plus en plus grande ! Pourquoi pas faire un peu d'IA, de la gamification ou autre idée cool du moment que ça soit raisonnable à implémenter et que surtout ça porte du fruit. Il faudra sans doute que je me penche progressivement vers une analyse plus fine du texte avec des règles selon la grammaire, le contexte etc. Rien n'interdit de me prévenir via ce journal, un ticket github, par mail etc dès que vous avez identité un ou plusieurs mots/expressions mal pris en charge. Je ne serais que ravi de pouvoir corriger ça.

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