Contrairement à Windows et MacOS qui intègrent de façon native un logiciel de reconnaissance (Speech To Text) et de synthèse (Text To Speech) vocales, les systèmes sous GNU/Linux en sont généralement dépourvus. Mais la donne a changé depuis quelques temps et il existe plusieurs solutions fonctionnant en hors-ligne (ce qui me semble essentiel).
Il faut cependant avoir à l'esprit que cette reconnaissance demande quelques ressources matérielles surtout si l'on veut des outils performants.
Vocalinux :
→ Source : https://vocalinux.com/
C'est un petit nouveau qui a l'énorme avantage de s'installer facilement : il suffit de choisir les options lors de l'installation. L'inconvénient est que pour l'instant, l'interface est en anglais.
Il peut se lancer automatiquement au démarrage et lorsqu'il est actif, une icône l'indique dans la barre de tâche.
Il est possible de choisir son moteur (Vosk ou Whisper_cpp), le modèle (suggéré selon ses ressources matérielles selon que l'on privilégie la vitesse ou la précision) ainsi que la langue (autodétection possible).
Personnellement, je trouve que Vosk Medium (1,8 Go) donne de très bons résultats aussi bien en précision qu'en rapidité.
Scribéo:
→ Source : https://scribeo.forge.apps.education.fr/
Il s'agit d'un outil proposé par la Forge des Communs Numériques Éducatifs. Sa particularité est qu'il fonctionne en local directement dans son navigateur Internet après avoir été téléchargé (il faut donc une connexion Internet...).
Il existe 4 profils (tous basé sur Whisper) : Rapide (60 Mo), Équilibré (140 Mo, recommandé), Avancé (240 Mo) et Haute Fidélité (550 Mo).
Il est également possible de lui faire transcrire des fichiers audio et vidéo.
Comme il s'agit d'une application française, je trouve que la reconnaissance vocale est de meilleure qualité que Vocalinux avec pourtant le même modèle Whisper_base.
Personnellement, le profil Équilibré (basé sur Whisper base) est satisfaisant en terme de précision vue sa légèreté par rapport à Vosk utilisé dans Vocalinux.
Speech Note :
→ Source : https://flathub.org/apps/net.mkiol.SpeechNote
AVERTISSEMENT : uniquement pour des machines puissantes car cette application est très gourmande en ressources !!!
Cette application de reconnaissance vocale existe sous forme de paquet Flatpak et a le gros avantage de fonctionner en hors-ligne. Par contre, il va falloir d'abord installer Flatpak et indiquer le dépôt Flathub.L'inconvénient est le poids de cette application dû au format flatpak (plus de 9 Go installées et 4 Go à télécharger...).
Voici les commandes à exécuter :
sudo apt update
sudo apt install flatpak
sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
sudo flatpak install flathub net.mkiol.SpeechNote
Ensuite, il faudra au sein de l'application télécharger les fichiers de langue : "Vosk Large fr" pour la reconnaissance vocale (fichier très lourd mais qui permet une meilleure reconnaissance) et pour la synthèse vocale, j'ai choisi "Piper Jessica Medium Female".
Le modèle WhisperCpp_base_fr n'est pas très performant en terme de reconnaissance du français alors qu'il l'est dans Scribéo.
À noter : Il est possible de généré des sous-titre SRT directement avec indicateur de temps avec Speech Note.
Conclusion :
Voici mes conclusions pour une utilisation en français, sachant que je n'ai pas un accent "parisien" mais un accent du midi que certain⋅es diront assez prononcé 😉.
Si l'on cherche le meilleur rapport qualité/poids (intéressant pour des machines aux ressources limitées), je conseillerais d''utiliser Scribéo avec le profil Équilibré basé sur WisperCpp_fr. Par contre, il ne fonctionnera qu'à travers le navigateur.
Si l'on veut une intégration plus large, pour l'utiliser directement dans un traitement de texte par exemple, on utilisera Vocalinux mais avec Vosk Medium plus lourd que Whisper.
Concernant Speech Note, compte-tenu qu'il s'agit d'un paquet Flatpak et de sa lourdeur, je ne le conseillerais pas sauf si vous souhaitez tester différents moteurs de reconnaissance car son catalogue est très grand ou si vous souhaitez générer des sous-titres au format SRT pour des vidéos.