Convertir texto a voz en Python
-
Utilice el módulo
gTTS
para convertir texto a voz en Python -
Utilice el módulo
pyttsx3
para convertir texto a voz en Python
Debido al avance de la tecnología en las últimas décadas, tenemos muchos dispositivos equipados con reconocimiento de voz. Python tiene una amplia variedad de módulos disponibles que pueden funcionar con objetos de audio. Algunos módulos pueden convertir texto escrito en audio.
En este tutorial, discutiremos cómo convertir texto a voz usando Python.
Utilice el módulo gTTS
para convertir texto a voz en Python
Google creó una API llamada Google Text-To-Speech que utilizan para leer un texto y dar salida de audio. Esta API está integrada con un módulo de Python llamado gtts
, que puede convertir texto a voz, realizar manipulación de audio, entre otras cosas, almacenando audio en un objeto del tamaño de un byte e incluso guardar la salida final.
Usaremos la función gTTS
para crear un objeto que leerá el texto y lo convertirá en un objeto de audio. Podemos usar muchos parámetros con esta función. Podemos reducir la velocidad de la salida usando el argumento slow
. La API de Google admite diferentes idiomas y podemos mencionar los idiomas admitidos mediante el parámetro lang
.
Implementaremos este método en el siguiente código.
from gtts import gTTS
from playsound import playsound
s = gTTS("Sample Text")
s.save("sample.mp3")
playsound("sample.mp3")
En el código anterior, creamos un objeto que lee el texto deseado. Guardamos este objeto que contiene el audio de voz usando la función save()
y luego lo reproducimos usando la función playsound()
. La función playsound()
importada de la biblioteca de playsound
puede reproducir un archivo de audio.
Tenga en cuenta que dado que este módulo utiliza la API de Google para convertir texto en voz, requerirá una conexión a Internet activa. Puede considerar el método que se describe a continuación si desea que se ejecute sin conexión.
Utilice el módulo pyttsx3
para convertir texto a voz en Python
El pyttsx3 es otro módulo que puede realizar tales conversiones y funcionar sin conexión a Internet. Primero, crearemos un objeto que haga referencia al pyttsx3.Engine
usando el constructor init()
de este módulo. Luego, la función decir()
aquí agrega el texto requerido para ser hablado en la cola. Luego usamos la función runAndWait()
para reproducir el comando de la cola.
Por ejemplo,
import pyttsx3
s = pyttsx3.init()
data = "Sample Text"
s.say(data)
s.runAndWait()
Podemos establecer propiedades como la tasa de reproducción de la salida final usando el método setProperty()
. Este módulo es compatible con Python 2 y Python 3.
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