Skip to main content

Herramienta CLI para transformar palabras en audios para tratamiento de dislexia

Project description

word2speech

Genera audios a partir de palabras (reales o falsas), para el tratamiento de pacientes con dislexia u otras dificultades específicas de aprendizaje.

Un proyecto de Alejandro Varela de Cora.

Instalación

Se necesita python>=3.12, se recomienda utiliza pipx para la instalación.

$ pipx install word2speech

Configuración

Para usar word2speech necesitas configurar:

  • token: Token de API de speechgen.io
  • email: Email registrado en speechgen.io
  • voice: Voz a utilizar (ej: Alvaro)

Archivo de configuración

Crea ~/.word2speech/config.yml:

token: tu_token_aqui
email: tu_email@domain.com
voice: Alvaro

Inicio rápido

Si no proporcionamos un fichero de configuración mediante el flag --config, la aplicación busca automáticamente primero en la configuración local del proyecto ./.word2speech/config.yml y después en la configuración global del usuario ~/.word2speech/config.yml.

Si no encuentra ningún archivo, los parámetros obligatorios (token, email, voice) deben proporcionarse por línea de comandos.

$ word2speech palabra
[17:19:25]: Generando el audio de la palabra "palabra"
[17:19:26]: Audio generado "out.mp3" (coste: 7, saldo: 61705)

Procesamiento por lotes con JSON

Crea un archivo JSON con el siguiente formato:

{
  "palabras": ["abrazo", "bebida", "órganos"],
  "nopalabras": ["babados", "bacela", "plátaco"]
}

Luego procésalo:

$ word2speech data-reduce.json
[17:19:40]: Generando el audio de la palabra "abrazo"
[17:19:40]: Audio generado "palabras/abrazo.mp3" (coste: 0, saldo: 61705)
[17:19:40]: Generando el audio de la palabra "bebida"
[17:19:40]: Audio generado "palabras/bebida.mp3" (coste: 0, saldo: 61705)
[17:19:41]: Generando el audio de la palabra "órganos"
[17:19:41]: Audio generado "palabras/organos.mp3" (coste: 0, saldo: 61705)
[17:19:41]: Generando el audio de la palabra "babados"
[17:19:41]: Audio generado "nopalabras/babados.mp3" (coste: 0, saldo: 61705)
[17:19:41]: Generando el audio de la palabra "bacela"
[17:19:42]: Audio generado "nopalabras/bacela.mp3" (coste: 0, saldo: 61705)
[17:19:42]: Generando el audio de la palabra "plátaco"
[17:19:42]: Audio generado "nopalabras/plataco.mp3" (coste: 0, saldo: 61705)

Uso de subcomandos

word2speech tiene disponibles 2 subcomandos, deletrear y prosodia:

  • deletrear: Genera el audio de una palabra sílaba por sílaba
    $ word2speech deletrear albaricoque
    [17:29:09]: Generando audio deletreado por sílabas de la palabra "albaricoque"
    [17:29:09]: Texto deletreado: al <break time="250ms"/> ba <break time="250ms"/> ri <break time="250ms"/> co <break time="250ms"/> que
    [17:29:13]: Audio deletreado generado "out_deletreo.mp3" (coste: 95, saldo: 61610)
    
    # El flag --include-word añade la palabra deletreada al final de audio
    $ word2speech deletrear albaricoque --include-word
    [17:30:51]: Generando audio deletreado por sílabas de la palabra "albaricoque"
    [17:30:51]: Texto deletreado: al <break time="250ms"/> ba <break time="250ms"/> ri <break time="250ms"/> co <break time="250ms"/> que <break time="1s"/> albaricoque
    [17:30:53]: Audio deletreado generado "out_deletreo.mp3" (coste: 124, saldo: 61486)
    
  • prosodia: Genera una versión de la palabra con mayor énfasis en la prosodia de la misma mediante el uso de SSML para enriquecer la palabra y la trancripción fonética IPA.
    $ word2speech prosodia albaricoque
    [17:35:20]: IPA generado con epitran para 'albaricoque': albaɾikoke
    [17:35:20]: Generando audio con prosodia mejorada de la palabra "albaricoque"
    [17:35:20]: SSML generado: <prosody rate="medium" pitch="medium" volume="medium"><phoneme alphabet="ipa" ph="albaɾikoke">albaricoque</phoneme></prosody>
    [17:35:21]: Audio con prosodia generado "out_prosodia.mp3" (coste: 125, saldo: 61361)
    

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 prosodia, 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

word2speech-1.0.2.tar.gz (15.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

word2speech-1.0.2-py3-none-any.whl (17.2 kB view details)

Uploaded Python 3

File details

Details for the file word2speech-1.0.2.tar.gz.

File metadata

  • Download URL: word2speech-1.0.2.tar.gz
  • Upload date:
  • Size: 15.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for word2speech-1.0.2.tar.gz
Algorithm Hash digest
SHA256 712f618b40c68f404957b0c5659b71b14d83321357db78a0353836fca9f598e6
MD5 5a377fa0737a428ef6e5b7b1f944b210
BLAKE2b-256 1bf1c1149570bd3baf61d5840a7376e8fdc3f95ae63a7e6e1ff3df881e714c39

See more details on using hashes here.

File details

Details for the file word2speech-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: word2speech-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 17.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for word2speech-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 17d486e6464330c1a06df225603d2c9b4efef5374db07ec9e4e6caa78bce7517
MD5 4789a9a94d8c17f4b71402254cc35c37
BLAKE2b-256 baa20b08df9f79601d5b578a3bf4f196d2ebb784704f0c5263a5cf7b256be0ce

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page