Convertir du texte en parole en Python

Manav Narula 13 juillet 2021
  1. Utilisez le module gTTS pour convertir du texte en parole en Python
  2. Utilisez le module pyttsx3 pour convertir du texte en parole en Python
Convertir du texte en parole en Python

En raison des progrès technologiques au cours des dernières décennies, nous avons de nombreux appareils équipés de la reconnaissance vocale. Python a une grande variété de modules disponibles qui peuvent fonctionner avec des objets audio. Certains modules peuvent convertir du texte écrit en audio.

Dans ce didacticiel, nous verrons comment convertir du texte en parole à l’aide de Python.

Utilisez le module gTTS pour convertir du texte en parole en Python

Google a créé une API appelée Google Text-To-Speech qu’ils utilisent pour lire un texte et fournir une sortie audio. Cette API est intégrée à un module Python appelé gtts, qui peut convertir du texte en parole, effectuer des manipulations audio, entre autres, en stockant l’audio dans un objet de la taille d’un octet, et même enregistrer la sortie finale.

Nous utiliserons la fonction gTTS pour créer un objet qui lira le texte et le convertira en objet audio. Nous pouvons utiliser de nombreux paramètres avec cette fonction. Nous pouvons réduire la vitesse de sortie en utilisant l’argument slow. L’API Google prend en charge différentes langues, et nous pouvons mentionner les langues prises en charge en utilisant le paramètre lang.

Nous allons implémenter cette méthode dans le code suivant.

from gtts import gTTS
from playsound import playsound

s = gTTS("Sample Text")
s.save("sample.mp3")
playsound("sample.mp3")

Dans le code ci-dessus, nous créons un objet qui lit le texte souhaité. Nous sauvegardons cet objet contenant l’audio de la parole à l’aide de la fonction save() puis le jouons à l’aide de la fonction playsound(). La fonction playsound() importée de la bibliothèque playsound() permet de lire un fichier audio.

Notez qu’étant donné que ce module utilise l’API Google pour convertir le texte en parole, il nécessitera une connexion Internet active. Vous pouvez envisager la méthode décrite ci-dessous si vous souhaitez qu’elle s’exécute hors ligne.

Utilisez le module pyttsx3 pour convertir du texte en parole en Python

Le pyttsx3 est un autre module qui peut effectuer de telles conversions et fonctionner sans connexion Internet. Tout d’abord, nous allons créer un objet qui référence le pyttsx3.Engine en utilisant le constructeur init() de ce module. Ensuite, la fonction say() ajoute ici le texte requis à prononcer dans la file d’attente. Ensuite, nous utilisons la fonction runAndWait() pour jouer la commande de la file d’attente.

Par example,

import pyttsx3

s = pyttsx3.init()
data = "Sample Text"
s.say(data)
s.runAndWait()

Nous pouvons définir les propriétés telles que la vitesse de lecture de la sortie finale à l’aide de la méthode setProperty(). Ce module est compatible avec Python 2 et Python 3.

Auteur: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Article connexe - Python Audio