lunes, 5 de julio de 2010

Hablando por el terminal

Hoy traigo algo medio OffTopic, para pasar el rato.

Un intérprete de comandos ya permite pasarse horas programando cosas más o menos útiles, pero si además le añadimos un sintetizador de voz, las posibilidades solo las limita la imaginación.

eSpeak es un programa (disponible a través del paquete correspondiente) que permite usar un sintetizador de voz por línea de comandos (aunque tambien tiene una gui), la entrada por defecto se hace por stdin, así que utilizando tuberías (pipes) se pueden hacer cosas bastante curiosas, el parámetro más a tener en cuenta es la voz (que regulará la pronunciación), por defecto es el inglés, pero con -ves se puede configurar para castellano, la sintaxis, es -v[código del idioma]

Algunos ejemplos de su uso pueden ser



fortune | espeak -ves


para que lea una frase aleatoria

o


i=1
while [ $i -le 10 ]
    do
    j=1
    while [ $j -le 10 ]
        do
        r=$(( $i * $j))
        echo "$i por $j es = a $r"
        j=$(($j + 1))
    done
    i=$(($i + 1))
done|espeak -ves


o en una línea


i=1;while [ $i -le 10 ]; do j=1; while [ $j -le 10 ]; do r=$(( $i * $j)); echo "$i por $j es = a $r"; j=$(($j + 1)); done; i=$(($i + 1)); done|espeak -ves


para que diga la tabla del 1 al 10

El resto es cuestión de imaginación, combinado con un poco de scripting puede servir para que avise cuando la temperatura del PC sube demasiado, cuando llegue una hora preconfigurada (típica alarma)  o cuando alguien está hablando con nosotros por el IRC... lo difícil es encontrar algo para lo que sea realmente necesario :)

Hasta otra.

[Referencias]
http://espeak.sourceforge.net/

4 comentarios:

  1. Mas que interesante, excelente aplicación, viva el código abierto joder! habrá que probarlo y dar algun susto a mi padre jaja

    ResponderEliminar
  2. jejeje, Windows tiene Loquendo... pero Gnu/Linux tiene espeak, festival, spd-say y text2wave - aplay

    Tengo claro quien gana >:)

    ResponderEliminar
  3. Muy bueno, me servirá para un proyecto.

    Saludos

    PD:A favs y a enlazarte en mi blog ;) !

    ResponderEliminar
  4. Me alegro de que sirva para algo xD

    Saludos

    ResponderEliminar