Transformer un texte en voix : le script Python

Voici une solution libre et gratuite pour transformer un texte en voix. Ce script Python est très simple à utiliser. Il génère en quelques secondes un fichier audio MP3 utilisable dans vos présentations et autres vidéos. Pour rappel, il vous faut avoir installé la dernière version de Python.

Si vous n’êtes pas à l’aise avec le code, vous trouverez plus bas une solution facile qui fait appel à deux logiciels reconnus et gratuits.

Installation du module gTTS

Avant d’utiliser le script, il vous faudra installer le module Python gTTS. Pour cela, ouvrez une fenêtre de votre outil de ligne de commande. Par exemple, tapez cmd dans la barre de recherche Windows et choisissez « Invite de commande ». Saisissez cette ligne :

pip install gTTS
Transformer un texte en voix

Le script Python pour transformer un texte en voix

Avec votre éditeur de code préféré (le mien, en ce moment, c’est Visual Studio Code), vous collez les quelques lignes de code ci-dessous dans un fichier que vous n’appelez surtout pas gtts.py. Donnez-lui n’importe quel autre nom pour éviter d’obtenir une erreur. Le mien s’appelle tout simplement text_to_speech.py

from gtts import gTTS
import os

def text_to_speech(file_path, lang='en', slow=False):
    # Ouvrez le fichier texte et lisez son contenu
    with open(file_path, 'r', encoding='utf-8') as file:
        text = file.read()
    
    # Créez l'objet gTTS avec le texte et la langue souhaitée
    tts = gTTS(text=text, lang=lang, slow=slow)
    
    # Générez un fichier audio (par défaut nommé 'output.mp3')
    tts.save("output.mp3")
    
    # Jouez l'audio
    os.system('start output.mp3')  # Pour Windows

if __name__ == "__main__":
    file_path = "texte.txt"  # Chemin vers le fichier texte
    lang = 'fr'  # Langue du texte (par défaut c'est anglais)
    
    # Appel de la fonction
    text_to_speech(file_path, lang=lang, slow=False)

Les commentaires sont là pour vous aider à comprendre le code. Mais si vous voulez une voix française, vous n’avez rien à changer.

J’ai déjà eu l’occasion de transformer un texte en voix à partir d’une page A4. Ça s’est fait en quelques secondes et a généré un audio impeccable en MP3 de près de 4 minutes.

Recommandation : il faut prendre soin d’enregistrer votre fichier texte avec un encodage utf8 pour ne pas avoir de problème. Pour plus de simplicité, utilisez votre éditeur de code, avec lequel vous aurez plus de facilité à contrôler ce paramètre qu’avec le bloc-notes de Windows, bien qu’en théorie, celui-ci utilise déjà l’encodage utf8.

Lancer le script Python

Pour lancer le script, vous pouvez tout simplement double-cliquer dessus ou lancer la commande ci-dessous dans l’invite de commande, en prenant soin de vous placer d’abord dans le répertoire dans lequel se trouve votre script. Par exemple, si votre script se nomme text_to_speech.py et se trouve à la racine du disque D:

cd d:
python text_to_speech.py

Les avantages

  • L’utilisation de Google Text To Speech est gratuite
  • Le script est simple et peut être modifié et partagé à volonté
  • Vous pouvez saisir votre texte dans un fichier à part
  • Vous avez accès à plusieurs langues

Les inconvénients

  • Vous êtes dépendant de la charge du serveur Google et de ses limitations
  • Vous ne pouvez pas choisir la voix
  • La voix n’est pas aussi naturelle que celles que l’on peut utiliser dans certains logiciels

Alternative avec des logiciels gratuits

Si vous n’êtes pas à l’aise avec le code ou que vous souhaitez pouvoir choisir plus de voix, je vous recommande d’utiliser cette solution un peu plus longue, mais vous aurez de meilleurs résultats.

Il existe plusieurs outils d’intelligence artificielle capable de transformer un texte en voix, mais ils sont payants. Ce que nous voulons ici, c’est le faire gratuitement, pour un usage occasionnel. Voici la procédure :

  1. Installez et ouvrez le logiciel Microsoft Clichamp (utilisé pour créer des vidéos destinées aux réseaux sociaux)
  2. Créez une nouvelle vidéo vierge
  3. Cliquez en haut à droite sur l’icône [Synthèse vocale]
  4. Choisissez une voix qui vous plait (vous pouvez écouter des extraits)
  5. Collez le texte à transformer dans la zone prévue à cet effet
  6. Enregistrez pour synthétiser la voix
  7. Exporter la vidéo en MP4 (bouton en haut à droite)
  8. Installez et ouvrez VLC Media Player
  9. Dans le menu [Media], choisissez [Convertir / Enregistrer…]
  10. Avec le bouton [+ Ajouter…] sélectionnez la vidéo que vous venez de créer
  11. Cliquez ensuite en bas sur le bouton [Convertir / Enregistrer]
  12. Dans la zone de paramètres, choisissez dans la liste le format de conversion qui vous convient (par exemple MP3)
  13. Saisissez le nom du fichier de destination et son emplacement
  14. Cliquez sur le bouton [Démarrer]

Si elles ne sont pas encore parfaites, les voix proposées par Microsoft Clipchamp sont plus naturelles que celles de Google Text To Speech. Bien que la procédure soit un peu plus longue que l’exécution du script, vous obtiendrez un résultat plus satisfaisant.

Utiliser un service en ligne gratuit

Pour une utilisation occasionnelle, vous pouvez également utiliser ElevenLabs. C’est un site web qui propose un service en ligne de Text To Speech généré par intelligence artificielle.

Choisissez dans une grande sélection de voix, notamment françaises, clonées de comédiens et de narrateurs humains. Une qualité encore meilleure que les outils que nous avons vus avant et une plus grande simplicité d’utilisation.

Les commentaires sont clos.