En este tutorial de programación con Python te mostraré cómo convertir texto a voz/audio usando Python y un paquete que trabaja totalmente fuera de línea, es decir, sin conexión a internet.
Anteriormente ya te había mostrado un tutorial pero en ese caso usábamos la API de Google para convertir texto a audio usando Python, ahora te mostraré lo mismo pero usando un paquete que no necesita internet.
De este modo podrás reproducir audio a partir de determinado texto, además de guardar la voz en un archivo de audio MP3.
Vamos a usar la librería pyttsx3; para ello debes contar con Python y PIP. Una vez que los tengas, ejecuta:
pip install pyttsx3
Dependiendo de tu sistema operativo se van a descargar varias dependencias. Yo te cuento que en Windows funciona perfectamente y pip se encargó de instalar todo.
Según el repositorio oficial esto debería funcionar correctamente en Windows y Linux.
Veamos el primer ejemplo en donde vamos a convertir el texto a voz y después reproducir el sonido a través de Python. El código queda así:
Primero importamos la librería y creamos un motor. Podemos invocar a setProperty
para cambiar varios aspectos (puedes leer la documentación del repositorio). En este caso cambio el rate que controla la velocidad del audio.
Después invocamos a engine.say
para encolar un texto que el motor convertirá a audio. Podemos invocar varias veces a say
, y el motor va a convertir el texto a audio en ese orden.
Finalmente invocamos a engine.runAndWait
para que el motor “arranque” y espere a que se reproduzca el audio.
Para terminar este tutorial de Python y TTS veamos cómo convertir texto a audio pero guardar el resultado en un archivo MP3. Ahora en lugar de invocar a say
, invocamos a save_to_file
con dos argumentos: el texto que se guardará dentro del archivo, y el nombre del archivo de salida.
El código queda como se ve a continuación:
En este caso el código es muy parecido, solo que ahora lo guardamos a un archivo. Es importante invocar runAndWait
al final para que los archivos sean creados.
Al ejecutar el código vamos a tener un archivo de audio con el texto que indicamos.
Con este paquete podemos hacer varias cosas como crear APIs que devuelvan el archivo, o, por ejemplo, saltar algunas limitantes que tiene JavaScript (el hecho de no poder reproducir audio sin la interacción del usuario).
La ventaja de pyttsx3 sobre otros paquetes es que éste es totalmente fuera de línea, offline o como le digas. De este modo solo debes asegurarte de instalar la dependencia y luego podrás usarla sin problemas y sin límites.
Recuerda que vas a encontrar toda la documentación en el repositorio oficial. Te dejo aquí con más posts sobre Python.
En mi blog te he enseñado a usar youtube-dl para descargar vídeos con permiso del…
Siguiendo con los tutoriales que consumen la API de los Bots de Telegram con cURL…
En un post previo te enseñé a enviar un mensaje en nombre de un Bot…
En este artículo te voy a mostrar una guía para imprimir en una impresora térmica…
La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…
Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…
Esta web usa cookies.
Ver comentarios
¿Cómo puedo instalar más opciones de voz?
Gracias por compartir.
Gracias a usted por comentar.
Saludos!