URL: https://linuxfr.org/news/gspeech-passe-en-0-10 Title: gSpeech passe en 0.10 Authors: mothsART tisaac, palm123, Xavier Teyssier, Davy Defaud et Xavier Claude Date: 2020-06-27T13:34:44+02:00 License: CC By-SA Tags: Score: 6 gSpeech est un petit utilitaire permettant la synthèse vocale sur GNU/Linux. Cette dépêche retrace les évolutions depuis la version 0.8 et esquisse des évolutions possibles pour le futur. ---- [Journal à l’origine de la dépêche](https://linuxfr.org/users/mothsart/journaux/gspeech-passe-en-0-10) [Présentation sommaire de gspeech sur le wiki de Primtux](https://wiki.primtux.fr/doku.php/gspeech) [Journal sur la version 0.8 de gSpeech](https://linuxfr.org/users/mothsart/journaux/lancement-de-gspeech-0-8) ---- À la base, ce logiciel a été repris et amélioré en vue d’améliorer l’expérience utilisateur dans la distribution Primtux et par conséquent pour le milieu francophone. Cela n’empêche que son usage peut bien évidement de couvrir un champ plus large. Les évolutions depuis la version 0.8 sont les suivantes : - la possibilité de modifier la vitesse de lecture, fonctionnalité ô combien demandée dans le milieu scolaire où l’on veut souvent réécouter une portion de texte au ralenti ; - création d’un paquet Debian en bonne et due forme : l’existant installait tout dans `/opt` ; - mise en place d’un [PPA](https://launchpad.net/~jerem-ferry/+archive/ubuntu/tts/+packages) pour tous les utilisateurs d’Ubuntu et ses variantes ; - création d’un paquet nix et intégration dans nixpkgs (https://github.com/NixOS/nixpkgs/pull/86641), la distribution Nix est ainsi la première à intégrer nativement gSpeech ! - mise en place d’un dialogue de configuration ; en effet, jusqu’à présent, gSpeech utilisait les boîtes de dialogue de notification par défaut (s’il détecte la fonctionnalité sur le système) — ce comportement, assez intrusif n’est pas du goût de tout le monde et peut donc désormais être désactivé ; - 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 ; - prise en charge d’une part de vocabulaire anglais devenu courant (_foot_, _burger_, _week‑end_, _western_…) et ajout de quelques mots provenant de notre monde inondé par le numérique (Twitter, FaceBook, _geek_, _hardware_…) ; - correction de bogues sur les gros fichiers : gSpeech utilise une bibliothèque du nom de picoTTS pour sa synthèse vocale, cette bibliothèque n’est malheureusement plus maintenue et présente plusieurs défauts, elle ne gère notamment pas les textes de plus de 30 000 caractères, et gSpeech tente de contourner cette limite : 1. en découpant les textes en paquets de 3 000 caractères maximum en coupant en fin de phrase, ceci afin d’éviter de perdre la qualité d’intonation sur les raccords — par exemple, en cas de fin de phrase interrogative, 2. en parallélisant (pour que ça soit plus rapide) la conversion de ces paquets via picovox, 3. en rassemblant les fichiers produits et en les lisant via un petit utilitaire du nom de « sox » ; - autre souci de picoTTS : il lit de manière brutale sans aucune intelligence. gSpeech essaie d’éviter cela avec un ensemble de dictionnaires, d’expressions rationnelles et quelques algorithmes personalisé — une liste d’exemples non exhaustive : 1. prise en compte du caractère « œ », 2. lettre muette sur certains mots : « chœur » se prononce « cœur », 3. lettre non muette sur certains mots : « coq » se prononce « coque ». L’ordre de priorité donné pour les nouvelles implémentations est le suivant : - phrases lues dans des applicatifs Primtux ; - ajout d’une liste complète sur des thèmes précis, les [mots français d’origine anglaise](https://fr.wiktionary.org/wiki/Annexe:Mots_fran%C3%A7ais_d%E2%80%99origine_anglaise), par exemple. Le projet ne suit pas de méthodologie précise, mais l’objectif est bien évidemment de couvrir les cas les plus communs. Le porteur du projet est ouvert à toute proposition pour aboutir a une couverture de plus en plus grande ! Pourquoi, par exemple, ne pas faire un peu d’[IA](https://fr.wikipedia.org/wiki/Intelligence_artificielle "Intelligence artificielle"), de la « _gamification_ » ou toute autre idée cool du moment, que cela soit raisonnable à implémenter et que surtout cela porte ses fruits. Sans doute qu’il sera nécessaire à l’avenir que le projet intègre progressivement une analyse plus fine du texte avec des règles selon la grammaire, le contexte, etc. N’hésitez pas à partager les améliorations possibles dans les commentaires, via un ticket GitHub, par courriel, etc., si vous avez identifié un ou plusieurs mots ou expressions mal pris en charge.