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:
Metadata
Release files for word2speech 2.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| word2speech-2.0.1.tar.gz | 21.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| word2speech-2.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 47.0 kB
Release files / word2speech-2.0.1.tar.gz
| Download URL | word2speech-2.0.1.tar.gz |
|---|---|
| Size | 21.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
51b6cdd98120761a2f1fec765e8a01ef465e5c918be972b64ce72f26f9d78e58
|
|
BLAKE2b-256 checksum How to use checksums |
2617d1c5115a2e70d47f043ca2504d3ee9b2fd1bc91575b54f6e69e9d5086c34
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.11
|
Release files / word2speech-2.0.1-py3-none-any.whl
| Download URL | word2speech-2.0.1-py3-none-any.whl |
|---|---|
| Size | 25.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d7147b263a805b9a37559cd56e6e104e3eb9a70f4c94e67b95bf347446d2bcdd
|
|
BLAKE2b-256 checksum How to use checksums |
d965ae20f57cea5bc40a50c9adf94033611018dbcce9865dbb8236d40ab5eee0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.11
|