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.1.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.1-py3-none-any.whl (17.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: word2speech-1.0.1.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.1.tar.gz
Algorithm Hash digest
SHA256 0e0a3005e18819b60115b77ee1b6d2dbfdd066b6f53b3afae45c3ea1cc22f506
MD5 a779767fb48a3b2a5f79bfa48f6b0454
BLAKE2b-256 0e9ad9e4aabe56719e86c4200d78701e90987515c2cc03f22ec61d1aad63363a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: word2speech-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 17.3 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3a30bc93ccbb4588be4bb46c16be20beb68c5297273bd89d4219473f96f9755d
MD5 109568863d84559f64aa9f6fff4e7f9a
BLAKE2b-256 1ced49bbb22076984f72436b0645d951b8fed623a107eb222c85fc20f8823a50

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