Aujourd’hui, les grandes entreprises et administrations publiques hésitent entre continuer à utiliser des logiciels propriétaires ou basculer vers les Logiciels Libres. Pourtant, la plupart des logiciels libres sont capables de bien traiter les données issues des logiciels propriétaire, et parfois avec une meilleur compatibilité.
C’est alors la barrière de la prise en main qui fait peur, et pourtant...
Les logiciels libres
L’aspect « Logiciel Libre » permet une évolution rapide et une plus grande participation des utilisateurs. Les aides et tutoriels foisonnent sur Internet ou sont directement inclus dans le logiciel lui-même.
Enfin, les concepteurs sont plus proches des utilisateurs, ce qui rend les logiciels libres plus agréable à utiliser et conviviaux.
Grâce à la disponibilité des logiciels libres, vous trouverez facilement des services de support techniques et la licence n’est plus un frein à l’utilisation de ces logiciels par votre personnel.
Notre support technique concerne essentiellement les logiciels libres, que ce soit sous forme de services ponctuels ou de tutoriels.
- Novembre 2019 -
Sommaire
Un contexte douloureux
Je pousse la souris depuis sa démocratisation (dans les années 80), je control-alt-shifte depuis encore plus longtemps ce qui fait de moi un bon connaisseur en TMS.
Ajoutons aussi une fracture du poignet gauche, il y a quelques années, qui m'ont rendu le Ctrl+Shift+Lettre douloureux en fin de journée.
J'ai pensé à la commande vocale. L'idée n'était pas de se passer d'un clavier, mais de pouvoir lancer verbalement quelques raccourcis claviers pour soulager mes articulations.
Trouver un outil
La reconnaissance vocale sur internet passe en général par des APIs Google ou Amazon.
Pas question pour ma part d'envoyer quoique que ce soit sur le web. La reconnaissance devra s'effectuer localement.
J'ai trouvé la librairie PocketSphinx qui correspondait à mes attentes : vocabulaire réduit, traitement rapide et local, les premiers tests sont concluants.
Ça marche ce truc ?
L'objectif initial a été largement dépassé. Je pense que NoComprendo peut maintenant répondre aux besoins de certains handicapés moteurs. Je vous le propose pour évaluation.
Si vous n'avez pas de handicap, ça reste très amusant utiliser, ça impressionnera vos amis.
Aujourd'hui je m'en sers quotidiennement pour lire les nouvelles "sans les mains" depuis mon lecteur de flux (mes mains tiennent le mug de thé). Ce n'était pas prévu pour ça, mais ça repose bien ma tendinite.
Une petite vidéo pour éveiller votre curiosité : NoComprendo en action
A quoi ça ressemble ?
- Fenêtre principale :
- Fenêtre principale réduite :
Principes généraux
Vocabulaire
La reconnaissance vocale propose d'identifier tous les mots que vous articulez, comme dans une dictée.
La commande vocale cherche à reconnaître des mots dans un ensemble de mots prédéfinis. Pour les mots inconnus, elle trouvera ceux les plus semblables phonétiquement dans son vocabulaire.
Il s'agit d'établir un ensemble de mots (vocabulaire) dans lequel piocher pour créer des "énoncés".
- Editeur de vocabulaire
Chaque mot peut-être fourni avec plusieurs phonétiques.
Par exemple : le verbe "descendre" correspond aux phonétiques de "descends" et "descendre".
Cela permettra d'utiliser indifféremment les énoncés "descends page" ou "descendre page" pour emmètre la touche PgDown.
Vous ne connaissez pas la phonétique. NoComprendo est fourni avec un dictionnaire de plus de 100000 entrées avec leurs phonétiques. Il n'y a qu'à puiser dedans, ou même rajouter de nouveaux mots.
Enoncé
Un énoncé est un ensemble de mots compris entre deux silences.
Un énoncé reconnu déclenche une commande.
Les énoncés sont rassemblés en "groupes de commandes" pour pouvoir les activer séparément.
Les groupes de commandes peuvent être facilement exportés et importés.
- Editeur de groupe de commandes
Les différentes commandes
Le projet initial consistait uniquement à envoyer des raccourcis claviers.
On peut maintenant :
- envoyer une ligne de texte
- exécuter une ligne de commandes avec ses paramètres.
- utiliser des méta-commandes de contrôle de l'application
- contrôler quelques déplacements souris
La gestion des déplacements souris n'est pas très ergonomique. Il faut considérer cela comme expérimental.
- Editeur de commande
Sous le capot
Librairie Qt
NoComprendo est basé sur la librairie Qt
Dépendance à x.org
Abordons maintenant un point délicat.
Pour fonctionner NoComprendo à besoin de X.org et de la librairie libxdo pour envoyer des commandes d'une application à l'autre. Wayland ne permettra plus ça, les applications devant être parfaitement isolées.
C'est cette faiblesse de sécurité de X.org qui a permis de réaliser ce logiciel.
Synergy utilise les mêmes principes et NoComprendo est compatible avec.
Après une courte réflexion, j'ai misé sur la pérennité de X.org et sa présence dans nos distributions pour encore longtemps.
Librairies statiques
Pour fonctionner, NoComprendo a besoin des librairies Sphinx et PocketSphinx 5-pre-alpha.
Aucune distribution Linux ne les proposant, ces librairies sont liées statiquement dans l'application. Le Makefile compile les librairies dans un premier temps avant de les intégrer à l'exécutable.
Multilinguisme
Le projet est prévu pour être éventuellement multilingue, mais pour le moment seul le français est disponible. Il n'y a pas de dictionnaire anglais intégré, mes premiers essais n'avaient pas été concluants (et mon accent anglais médiocre).
Je ne me pencherai sur le problème s'il y a de la demande et avec l'aide d'anglophones.
Installation
Pour l'installation, j'ai construit des paquets pour quelques distributions majeures chez Open Build Service.
Pardonnez-moi pour la signature du paquet invalide. C'est un truc qui me résiste dans la production de paquets chez OBS.
Je suis preneur de conseils.
L'installeur fournit un vocabulaire prédéfini prêt à l'emploi ainsi que quelques groupes de commandes en exemple.
- Sélecteur de groupe de commandes

Mon environnement habituel étant KDE sous Mageia, un groupe de commandes spécifique est disponible. Assurez-vous que les commandes correspondent bien à vos raccourcis clavier.
Si vous utilisez un autre environnement, assemblez vous-même votre groupe de commandes.
Liens
Vidéos
Pour aider à l'installation et la prise en main, 4 vidéos :
- Procédure d'installation 3 minutes
- Présentation de l'interface 4 minutes
- NoComprendo en action 5 minutes
- Configuration : ajout de vocabulaire et de commandes, 15 minutes.
Je me suis bien amusé à programmer cette application.
Je pense qu'on peut lui trouver plein d'utilisations non prévues au départ.
A vous de jouer…
Commentaires :
voir le flux atom
ouvrir dans le navigateur