Bannière cafcom.net

Accueil > Ces petites choses > SLA - Charcot : aide à la parole sous GNU/Linux

SLA - Charcot : aide à la parole sous GNU/Linux

Publié le 22 novembre 2022

Cette page est dédiée à Jean-Claude Biraud qui en est l’inspirateur.

La maladie de Charcot (ou SLA) se traduit souvent par des difficultés, voire la perte totale de parole, donc de communication. Un de mes cousins, déjà non-voyant depuis son adolescence, en étant atteint, j’ai cherché comment l’aider.

Des solutions professionnelles et commerciales d’aide à la parole existent. Mais elles sont basées sur les mouvements de l’œil, donc la vue. Dans le cas de Jean-Claude elles sont inutilisables. En revanche, il a appris très vite la dactylographie au clavier d’ordinateur, avec des repères tactiles sur les touches. Je me suis donc tourné vers les applications de text-to-speech, pour le système GNU-Linux, principalement parce que je l’utilise exclusivement depuis 25 ans, mais aussi parce que choix technique valide dans le cas d’un non-voyant grâce à la possibilité de l’utiliser sans souris ni interface graphique (mode console — vous avez connu le Minitel ?)

La suite suppose donc que l’on ait à sa disposition un ordinateur sous GNU-Linux, par exemple avec la distribution Xubuntu. [1] Cependant les deux logiciels dont je vais parler sont multiplateformes, donc disponibles également sous Windows et MacOs.

Le duo de choc : espeak-ng et mbrola

Après avoir testé plusieurs solutions, la meilleure à ce jour m’a semblé l’association de deux logiciels libres :
Espeak-ng qui est une application de text to speech : son rôle est de convertir du texte écrit en phonèmes ;
Mbrola qui est un logiciel de synthèse vocale multilingue. C’est lui qui va prononcer les phonèmes envoyés par espeak-ng. Il existe deux voix pour le français, une masculine, une féminine. La chaîne est alors la suivante : Texte → Espeak-ng → Mbrola → Sortie audio.
N.B. : la qualité audio est très largement supérieure avec une enceinte externe bluetooth, même petite, qu’avec le haut-parleur de l’ordinateur.

Installation
L’installation sous Ubuntu est classique :
sudo apt install espeak-ng mbrola mbrola-fr1 mbrola-fr2

Test et options de lancement
Test en ligne de commande (dans un terminal) :
espeak-ng -s 100 -v mb/mb-fr1 "Peux-tu me passer le sel, s'il te plaît ?"

L’option -s 100 indique la vitesse de prononciation (la vitesse par défaut est trop rapide), et -v mb/mb-fr1 indique qu’il faut utiliser la voix française masculine de mbrola. Le résultat obtenu est comparable à une voix GPS, un peu terne pour de la poésie, mais il permet de se faire comprendre de son entourage :

Exemple, voix masculine
Exemple, voix féminine

En utilisation courante, on va lancer le programme simplement par :
espeak-ng -s 100 -v mb/mb-fr1
dans ce cas, le logiciel attend sagement qu’on lui donne le texte à prononcer, ce qu’il fait quand on appuie sur Entrée. On peut ensuite enchaîner les phrases sans avoir à le rappeler.

Espeak-ng dans un terminal sous Xubuntu

Simplification de la ligne de commande
Pour ne pas avoir à répéter les options à chaque utilisation, on pourra créer un alias dans le fichier .bashrc de l’utilisateur (/home/utilisateur/.bashrc) :
alias esp1="espeak-ng -s 100 -v mb/mb-fr1"
alias esp2="espeak-ng -s 100 -v mb/mb-fr2"
Il suffira ensuite d’appeler le programme par esp1 ou esp2 selon la voix désirée. Et là on a vraiment quelque chose de très simple. Il est aussi possible de lancer automatiquement le terminal et sa commande au démarrage de la session (Paramètres → Session et démarrage → Lancement automatique d’application. Le nom de la commande est xfce4-terminal -x espeak-ng -s 100 -v mb/mb-fr1).

Cet usage comme application dans l’environnement graphique devrait convenir à la plupart des utilisateurs voyants. L’inconvénient du mode graphique étant le risque de sortie du terminal en effleurant le pavé tactile — aussi il me semble préférable de passer le terminal en plein écran, ou bien de passer en mode console par CTRL+ALT+F6 (dans ce cas il est nécessaire de s’identifier à nouveau, sauf mise en place d’une connexion automatique avec l’utilitaire mingetty).

Adaptations pour un non-voyant

Pour mon cousin aveugle, il s’agissait de simplifier et sécuriser l’utilisation au maximum, avec une machine dédiée à ce seul usage, avec allumage et extinction par le seul bouton d’alimentation. Donc, préférentiellement en mode console.

On peut noter que les logiciels utilisant l’assemblage de phonèmes et non un dictionnaire de mots, une orthographe parfaite n’est pas absolument nécessaire (pour rappel mon cousin n’a pas vu un texte écrit depuis quarante ans, mais il en a gardé une très bonne « mémoire visuelle »). On peut écrire kazi fonétikman la prononciation sera identique (parfois même la restitution orale est meilleure en trichant un peu).

J’ai donc écrit un script bash utilisant espeak-ng et mrbola, avec les fonctionnalités suivantes (les trois premières étant des réglages système, indépendantes du script) :
— l’ordinateur démarre directement en mode console, donc sans interface graphique ;
— la connexion de l’utilisateur est automatique sans mot de passe (mingetty) ;
— les touches du clavier inutiles, proches de la touche Entrée ($, *), ainsi que le verrouillage des majuscules, sont désactivées (par la commande loadkeys) pour éviter les fautes de frappe ;
— l’enceinte bluetooth est détectée et la connexion activée ;
— un fichier de raccourcis a été créé pour faciliter la frappe des mots les plus utilisés, à la manière de raccourcis SMS : bjr → bonjour, stp → s’il te plaît, etc.
— la possibilité d’entrer et entendre les mots un par un, et de reconstituer la phrase complète ensuite en appuyant simplement sur Espace-Entrée ;
— la possibilité de rappeler la dernière phrase ;
— des goodies : raccourcis pour la date, l’heure, la charge de la batterie, l’état de la connexion internet (pour d’éventuelles mises à jour) sans quitter la zone de saisie de texte ;
— l’extinction directe par le bouton d’alimentation, avec message vocal ;
— une aide intégrée entièrement vocale ;
— la maintenance à distance est possible (sans paramétrage de la box, une connexion internet suffit) grâce à l’excellent dwservice.

Pour me faciliter la tâche de développeur occasionnel, et permettre aux accompagnants de voir ce qui se passe autrement que sur un écran noir, le script est habillé d’une belle interface avec l’utilitaire dialog.

Apparence du logiciel d’aide à la parole pour non-voyant

Ce script est à votre disposition ci-dessous, n’hésitez pas à me contacter, je répondrai à vos questions avec plaisir. « Le maillon n’est rien, la chaîne, seule compte. » — Felix Ruiz de Arcaute.

Script de shell pour utilisation espeak-ng non-voyant

[1L’installation de Xubuntu est très simple et permet de redonner une nouvelle jeunesse à un ordinateur devenu poussif sous Windows. C’est un système très stable, simple et agréable à utiliser, sans virus (du moins en 25 ans je n’ai jamais rencontré ce problème, sans antivirus).