Greboca  

Suport technique et veille technologique

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.

LinuxFr.org : les journaux  -  NoComprendo, la commande vocale pour Linux

 -  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
  • Fenêtre principale réduite : 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 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 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 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
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

par be.root

LinuxFr.org : les journaux

LinuxFr.org : Journaux

firefox, nouvelle fenêtre dans une session isolée

 -  15 avril - 

Les fenêtres de navigation privées de firefox partagent leurs cookies de session or je souhaitais avoir des fenêtres de navigation isolées, (qui ne (...)


Pretendo tente de déprogrammer l'obsolescence des consoles Nintendo

 -  9 avril - 

Ah Nal,Gros N vient de faire un gros doigt aux utilisateurs de ses consoles 3DS et Wii U en annonçant la fermeture des services en ligne pour (...)


[Trolldi] Vulgarisation sur l'IA pour décideur pressé

 -  5 avril - 

Cher 'Nal,Je fais un article-marque-page sur un post tout frais de Ploum où il est question d'un fantasme vieux comme le Talmud avec le Golem. (...)


Super Marian and Robin: les roms en collant

 -  3 avril - 

Bonjour Nal,Je t'écris pour te proposer de tester mon nouveau jeu: Super Marian and Robin.Il s'agit d'un jeu de plateformes pour un ou deux (...)


Le roi est mort, vive le roi ! Les alternatives de Redis sont là

 -  3 avril - 

Bonjour Nal !Après le changement de licence de Redis, ce qui devait arriver arriva, et des alternatives libres apparaissent.Tout d'abord, on a (...)