GUIDE

Synthèse vocale sous Linux : une voix naturelle hors ligne au terminal

Sous Linux, la synthèse vocale veut souvent dire espeak ou Festival : rapides, gratuits et robotiques. Les voix neuronales sonnent humaines, mais presque toutes vivent dans le cloud. Le moteur gratuit SuperClonica apporte un modèle neuronal, Supertonic 3, sur votre machine Linux : il fonctionne hors ligne sur un processeur ordinaire et parle 31 langues.

Ce guide montre comment l’installer dans un environnement virtuel, générer la voix depuis le terminal, lire à voix haute le texte sélectionné avec un raccourci clavier et choisir des voix.

Ce qu’il faut

Contrairement à espeak ou Festival, c’est un modèle neuronal : la parole sonne naturelle, et il n’a pourtant plus besoin d’Internet après le premier lancement.

  • Une distribution Linux 64 bits récente avec Python 3.10 ou plus récent.
  • Environ 400 Mo de disque pour le modèle Supertonic 3, téléchargé une fois.
  • Pas de carte graphique : une NVIDIA ne fait qu’accélérer.
  • Une voix : les dix voix intégrées, de M1 à M5 et de F1 à F5, ou un fichier JSON du catalogue.

Installer dans un environnement virtuel

Beaucoup de distributions n’autorisent plus pip à installer dans le Python du système, utilisez donc un environnement virtuel : python3 -m venv ~/.venvs/tts && ~/.venvs/tts/bin/python -m pip install superclonica-cpu. La commande devient ~/.venvs/tts/bin/superclonica ; ajoutez ce dossier au PATH ou créez un alias. Avec une carte graphique NVIDIA, installez plutôt superclonica-gpu-cuda : pip apporte lui-même CUDA et cuDNN.

La voix depuis le terminal

Le modèle se télécharge au premier lancement ; ensuite, le moteur fonctionne sans réseau.

  • Une phrase : superclonica --text "Bonjour depuis Linux." --voice F1 --lang fr --output hello.wav && aplay hello.wav.
  • Un fichier entier : --text-file article.txt au lieu de --text ; les longs textes sont découpés aux pauses naturelles et réunis en un seul WAV.
  • Lisez le résultat avec aplay, paplay ou pw-play, selon votre système audio.
  • Sur une machine chargée, limitez les threads du processeur avec --threads 4.

Lire la sélection par raccourci

Enregistrez un petit script et associez-le à un raccourci clavier dans les réglages du bureau : xclip -o > /tmp/sel.txt (sous Wayland : wl-paste -p > /tmp/sel.txt), puis superclonica --text-file /tmp/sel.txt --voice F1 --lang fr --output /tmp/sel.wav && aplay /tmp/sel.wav. Sélectionnez un texte dans n’importe quelle fenêtre, appuyez sur le raccourci, et le moteur le lit à voix haute. Changez --lang et la voix pour lire d’autres langues.

Des voix et un serveur

Chaque voix du catalogue SuperClonica a une page où vous pouvez générer gratuitement en ligne une phrase de 30 à 100 caractères. Les voix gratuites se téléchargent sans compte, et les payantes s’achètent une fois et restent à vous sous forme de fichier JSON passé avec --voice. Pour d’autres programmes de votre réseau, l’image superclonica/superclonica sur Docker Hub lance le même moteur comme serveur HTTP.