From Mageia wiki
Jump to: navigation, search


Drakconf multiflag.png
Autres langues
English ; français ;
Résumé :
La reconnaissance vocale hors ligne pour la dictée est une fonction qui existe depuis longtemps sous Windows. Cependant, sous Linux, nous ne disposions que de systèmes expérimentaux ou embryonnaires. Cette situation vient de changer et je vais vous exposer une méthode afin de disposer d'un système opérationnel très rapidement. Il est important de noter que pendant la dictée, aucune information n'est envoyée en dehors du système.

Cet article se focalise sur la dictée. Il ne concerne pas la commande vocale de fonctions du bureau.

Installation

Depuis les dépôts

A partir de Mageia 9, les outils sont disponibles dans les dépôts officiels. Il suffit d'installer elograf. L'installation rassemblera tous les éléments nécessaires à une installation fonctionnelle, notamment kaldi, vosk-api et nerd-dictation.

Par briques individuelles

Nous allons commencer par installer Vosk dans l'espace utilisateur. On se réfère à la documentation qui est sur cette page :

Installer le moteur

Si pip3 n'est pas encore installé, faire en root :

# urpmi python3-pip

puis en utilisateur normal :

$ pip3 install --user vosk

Installer l'outil de dictée

Nous allons compléter l'utilitaire de reconnaissance vocale par un outil qui permet la dictée, nerd-dictation. En pratique, cet outil simule des entrées au clavier. Il est donc utilisable dans n'importe quelle application pendant que l'outil tourne en tâche de fond. Veuillez noter que j'ai testé cet outil uniquement dans un environnement Xorg, et il est probable que l'outil ne soit pas compatible avec l'environnement Wayland.

Au besoin, il faut installer l'outil git et xdotool.

cd ~/.local git clone https://github.com/ideasman42/nerd-dictation.git cd nerd-dictation mkdir ~/.local/bin cp nerd-dictation ~/.local/bin

La copie de l'exécutable dans le répertoire .local/bin permet d'avoir l'utilitaire à disposition.

Installer le modèle acoustique manuellement

Le programme a besoin d'un modèle acoustique pour fonctionner. Ce modèle est spécifique à chaque langue. Cette page liste les modèles qui sont disponibles. Les essais que j'ai réalisés sont faits avec le modèle fourni par Linto. Attention, celui-ci pèse 1,5 Go. Il est proposé aussi deux autres modèles plus légers, à 40 Mo et 300 Mo.

$ wget https://alphacephei.com/vosk/models/vosk-model-fr-0.6-linto-2.2.0.zip

Extraire le contenu de ce fichier dans le dosiier ~/.config/nerd-dictation

Renommer le répertoire vosk-model-fr-0.6-linto en model

Installer le modèle acoustique depuis elograf

Le modèle peut être installé depuis la configuration d'elograf et stocké au choix dans l'espace système ou dans l'espace utilisateur. Elograf est disponible dans le Centre de Contrôle Mageia.

Utilisation

Avec elograf

Elograf ajoute une icône en forme de micro dans la boîte à miniatures (alias zone de notifications, alias systray). Un clic gauche lance la dictée avec nerd-dictation, puis l'arrête. Dans certains bureaux, cette fonction n'est pas opérationnelle, c'est pourquoi il est également possible de lancer et arrêter la dictée avec deux commandes dédiées accessibles par le clic droit.

Le chargement du modèle, en particulier de grande taille, peut prendre du temps, en secondes ou dizaines de secondes. Pendant ce temps, le son est capté mais la sortie ne se produit pas.

Avec un clic droit, on peut quitter ou accéder à une fenêtre de Configuration. Dans celle-ci, on peut choisir le modèle parmi ceux qui sont installés ou choisir un modèle à télécharger soit dans l'espace système (le mot de passe root sera demandé) soit dans l'espace utilisateur. Il est possible de faire disparaître les commandes de pilotage de la dictée, quand le clic gauche est opérationnel, par une case à cocher, puis en redémarrant elograf.

Dans les options Avancées, on peut spécifier des paramètres de l'outil de dictée.

Il peut être pertinent d'ajouter elograf dans les outils qui s'ouvrent automatiquement au démarrage. Cet ajout fait apparaître l'icône dans la boîte à miniatures, pour avoir le bouton de lancement à portée de clic. La technique varie selon les environnements de bureau et n'est pas traitée ici.

Avec l'utilitaire de dictée

Si vous utilisez une autre disposition de clavier que celle des États-Unis, il est nécessaire de contourner un problème de xdotool pour les claviers français :

setxkbmap fr

Si vous avez une autre disposition de clavier, il faut changer la directive précédente.

Maintenant, vous pouvez lancer l'outil de dictée :

$ nerd-dictation begin --full-sentence --punctuate-from-previous-timeout=2 --idle-time=0.05 &

et l'arrêter :

$ nerd-dictation end

Vous pouvez maintenant vous placer dans l'application dans laquelle vous devriez normalement taper du texte, placer le curseur au bon endroit et commencer la dictée. Au lancement, il faut attendre un petit délai avant que les premières vocalises soit reconnues, c'est le temps de chargement du modèle. Avec l'option --idle-time, on évite que l'outil tourne en utilisant à plein régime un cœur de processeur complet.

Si vous avez placé le modèle acoustique dans un autre répertoire, il faut préciser sur la ligne de commande l'emplacement du modèle par la directive :

--vosk-model-dir=<le-chemin-vers-le-modèle>

Alternatives

Sprec

sprec est un outil qui remplit la même fonction que nerd-dictation. Il est fourni avec un outil de simulation du clavier appelé dotool. L'intérêt de dotool est qu'il fonctionne aussi bien sous Wayland que sous Xorg.

Voici un exemple d'utilisation.

$ DOTOOL_XKB_LAYOUT=fr SPREC_MODEL=~/.config/vosk-models/vosk-model-fr-0.22 sprec_type -d default -t " "

Nocomprendo

Depuis la version 2, Nocomprendo utilise aussi vosk et intègre une fonction de reconnaissance vocale.