Linux, faire parler son système

Faire parler son système débian (ou dérivés) est relativement simple. Voici quelques petits outils pour le faire et l’intégrer facilement dans un script en utilisant python.

Avec l’apparition des différents assistants vocaux intelligents (Amazon Echo, Google Home), l’envie m’a pris de voir comment cela fonctionner ou plutôt voir comment faire parler mon ordinateur (sous débian) et pourquoi mon Raspberry.

TTS : Text To Speech

Le « Text To Speech » ou en français « la synthèse vocale » est un système qui va permettre de transformer du texte en son.

Il existe différents systèmes plus ou moins performant qui vont être capable de reproduire une voix qui semblera plus ou moins naturelle.

Il en existe des gratuits, des payants ou des limitées qui peuvent nécessiter une clé. Je me concentre sur des solutions gratuites.

Les langues prise en compte est l’un des critères importants, dans notre cas, nous voulons du français.

La facilité de mise en place est aussi un des points importants, je veux travailler en python sur une machine Debian.

Les solutions retenues

Comme vu avant, après quelques recherches et tests, je me suis arrêté sur :

  • Espeak et MBrola
  • SVOX Pico

Espeak et Mbrola

Tout d’abord, Espeak est très bon cependant il donne une voix très robotique qui peut être améliorer avec MBrola.

MBrola n’est pas un libre mais reste gratuit, il est développé par l’université de Mons et propose un nombre important de voix => source.

Installation et utilisation

Nous allons commencer par installer les paquets, et oui, nous avons la chance que tous les paquets soient disponibles dans les dépôts.

Tout d’abord, toujours un petit :

sudo apt-get update
sudo apt-get upgrade -y

Toujours utile de mettre à jours la liste des paquets et ses paquets pour profiter d’éventuels correctifs

Ensuite, nous allons installer les paquets nécessaires , en commançant avec espeak, sudo apt-get install espeak, pour installer espeak, mais cela donnera une voix très robotique. Pour  tester ce que donne espeak seul vous pouvez faire ce :

espeak -v fr "voici un test avec Espeak, comment transformer son ordinateur en lui mettant une voix de robot"
Pour l’extrait audio :

Maintenant nous allons installer mbrola et deux voix : sudo apt-get install mbrola mbrola-fr1 mbrola-fr4.

Il existe d’autres voix dans d’autres langues, un petit sudo apt-cache search mbrola-* vous montrera la liste.

Pour l’utiliser, vous devez faire :

espeak -v mb/mb-fr1 "voici un test avec Espeak combiné à mbrola, comment transformer son ordinateur en lui mettant une voix plus humaine"
Voici l’extrait :

Le résultat est un peu plus convaincant, souvenez-vous que cela reste une solution gratuite et hors-ligne.

SVOX Pico

SVOX Pico est le lecteur vocal d’android (voire une description ici), il s’agit certainement de l’un des meilleurs actuellement.

Il y a tout de même une petite contrainte, vous devez générer un fichier audio que vous écoutez dans un second temps

Installation et utilisation

Même combat que précédemment, commencer par :

sudo apt-get update
sudo apt-get upgrade

ensuite, nous allons simplement installer Le paquet :

sudo apt-get install libttspico-utils

Maintenant pour l’utiliser, rien de plus enfin comme je l’ai dit plus tôt, on va générer un fichier audio qu’on devra écouter ensuite. Normalement, vous devriez le faire de la même manière que ce que je vais vous montrer.

pico2wave   -l fr-FR -w   pico.wav    "Bonjour, je suis un ordinateur super performant"
aplay pico.wav
Extrait audio

Vous pouvez trouver un bon article sur framboise314.

Intégration dans un code python

L’article n’es pas très compliqué et voici la partie la plus simple, nous allons simplement utiliser la class os de python.

Que ce soit avec la première méthode ou la seconde, cela fonctionne de la même manière.

Créer un fichier test.py et y insérer :

import os

os.system("pico2wave -l fr-FR -w pico.wav 'Bonjour, je suis un ordinateur super performant qui parle avec python 2 ou 3'")
os.system("aplay pico.wav")

Vous pouvez faire python test.py ou python3 test.py

Conclusion

Vous pouvez maintenant faire parler votre ordinateur fonctionnant sous Linux.

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.