Herramienta CLI para el manejo de modelos TTS
Project description
word2speech
Es una herramienta para la generación automatizada de material sonoro de alta calidad a través del uso de varios modelos de síntesis de voz (TTS, Text-to-Speech).
Un proyecto de Alejandro de Cora.
Instalación
Se necesita python>=3.12, se recomienda utilizar pipx para la instalación, aunque los comandos también funcionan con pip (en cuyo caso se recomienda un entorno virtual).
La herramienta se puede instalar por niveles, dependiendo de las funcionalidades que se deseen utilizar:
| Instalación | Descripción | Comando de Instalación |
|---|---|---|
| Básica | Soporte de generación TTS únicamente con speechgen.io. | pipx install word2speech |
| Modelos Locales | Añade la generación TTS con modelos locales (Parler-TTS, MMS-TTS). | pipx install word2speech[local-models] |
| Análisis | Permite la evaluación terapéutica de los audios con el módulo MOS. | pipx install word2speech[analysis] |
| Completa | Instalación completa. | pipx install word2speech[all] |
Configuración
La configuración está diseñada para ser flexible. word2speech permite la gestión de las credenciales de las APIs a través de la línea de comandos.
La aplicación busca la configuración siguiendo una estructura jerárquica:
- Fichero de configuración local:
.word2speech/config.yml. - Configuración global del usuario:
$HOME/.config/word2speech/config.ymlo$HOME/.word2speech/config.yml.
Gestión de Claves API
Para el manejo de las claves API, se utiliza el comando keys.
Para configurar el modelo principal, speechgen.io, es necesario configurar el token y el correo electrónico:
# Configurar el token API
word2speech keys set speechgen TU_TOKEN
# Configurar el correo electrónico asociado a la cuenta de SpeechGen.io
word2speech keys set speechgen-email TU_EMAIL
# Listar las claves API configuradas
word2speech keys list
Inicio rápido
Para empezar a generar audios, se utiliza el comando speak.
-
Generar audio básico con el modelo por defecto (speechgen.io):
word2speech speak "La universidad de Málaga"
-
Descubrir modelos y opciones disponibles:
El comando
modelspermite listar todos los modelos TTS disponibles, sus características (como el soporte de SSML o el modo Offline), y ejemplos de uso.word2speech models -
Generar audio utilizando un modelo local (mms):
word2speech speak "El jugador estaba cansado" -m mms
Ejemplos de Uso
word2speech implementa comandos para generar audio de forma individual, por lotes y con funcionalidades específicas para el tratamiento de la dislexia. El parámetro -m permite especificar el modelo (ej. mms, parler, speechgen).
1. Generación de Audio con Control Prosódico (speak)
El comando speak permite controlar opciones de prosodia como velocidad, voz y emoción.
# Audio con voz femenina y velocidad reducida (0.8) usando speechgen.io
$ word2speech speak "Tres tristes tigres" --voice female --speed 0.8
[23:54:48]: Generando audio para: "Tres tristes tigres"
[23:54:49]: Audio generado "out.wav" (coste: 19, saldo: 64927)
# Audio generado con "parler" especificando la emoción
$ word2speech speak "Salió a jugar" -m parler --emotion calm
# Uso de puntos de contorno (pitch contours) para acentuar la sílaba tónica.
# Nota: Esta función solo está disponible si el modelo soporta SSML (ej. speechgen.io).
$ word2speech speak --voice female --speed 0.8 --pitch +2 -c 20,-80 -c 40,-80 -c 65,100 -c 80,-80 -c 100,-80 "hipopótamo"
2. Deletreo Silábico (spell)
El módulo spell está diseñado para crear ejercicios de concienciación silábica mediante el deletreo de palabras sílaba a sílaba. Requiere que el modelo TTS soporte SSML (Speech Synthesis Markup Language).
# Deletrear una palabra sílaba a sílaba (ejemplo usando el modelo por defecto)
$ word2speech spell "televisión" --include-word
Si el modelo seleccionado no soporta SSML, word2speech lo notifica:
$ word2speech spell "manzana" --model mms --include-word
El modelo 'mms' no soporta deletreo (requiere SSML)
3. Generación por Lotes (batch)
El comando batch permite a los terapeutas la generación masiva de audios de palabras y pseudopalabras a partir de un fichero de entrada en formato JSON.
# Generación masiva a partir de un fichero de datos (data.json)
$ word2speech batch data-reduce.json
# Aplicar prosodia específica a todo el lote
$ word2speech batch data-reduce.json -m parler --voice female --speed 0.8 --emotion calm
4. Análisis de Calidad (analyze)
El comando analyze utiliza un modelo de predicción de Mean Opinion Score (MOS) (UTMOS 2022 Strong). Esto permite evaluar la calidad percibida del audio generado (un valor continuo entre 1 y 5) y seleccionar el TTS más adecuado para los ejercicios terapéuticos.
# Analizar la calidad MOS de un fichero de audio específico
$ word2speech analyze /ruta/a/mi/audio.wav
Limitación windows
En Windows debido a la codificación de la consola por defecto pueden surgir problemas a la hora de ejecutar el subcomando prosody, la solución pasa por forzar la codificación UTF-8
> set PYTHONUTF8=1
Podemos establecer la codificación UTF-8 de forma permanente con:
> setx PYTHONUTF8 1
Nota: Después de ejecutar
setx, es necesario reiniciar la terminal (o abrir una nueva) para que el cambio tome efecto.
Enlaces de interés:
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file word2speech-2.0.1.tar.gz.
File metadata
- Download URL: word2speech-2.0.1.tar.gz
- Upload date:
- Size: 21.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
51b6cdd98120761a2f1fec765e8a01ef465e5c918be972b64ce72f26f9d78e58
|
|
| MD5 |
e891aebca31d63c1a90e07e035e9ccfc
|
|
| BLAKE2b-256 |
2617d1c5115a2e70d47f043ca2504d3ee9b2fd1bc91575b54f6e69e9d5086c34
|
File details
Details for the file word2speech-2.0.1-py3-none-any.whl.
File metadata
- Download URL: word2speech-2.0.1-py3-none-any.whl
- Upload date:
- Size: 25.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d7147b263a805b9a37559cd56e6e104e3eb9a70f4c94e67b95bf347446d2bcdd
|
|
| MD5 |
dd4c58c65f2d1e9009f11a1cb1969c39
|
|
| BLAKE2b-256 |
d965ae20f57cea5bc40a50c9adf94033611018dbcce9865dbb8236d40ab5eee0
|