Haciendo hablar a nuestro Linux con spd-say

Pues si, como el título refleja, vamos a hacer a nuestra máquina hablar (o mas bien, vamos a hacer que nuestra máquina diga lo que nosotros deseemos). Para lograr esto, vamos a apoyarnos en el comando spd-say.

Lo mejor de spd-say es que en las distribuciones más usadas como Ubuntu y Linux Mint, está por defecto (no me atrevo a decir que es un comando que está por defecto en todas las distribuciones GNU/Linux porque simplemente no lo sé; si pueden, digan en sus comentarios si está en su distro). En el repo hay otras opciones como por ejemplo, espeak, pero como se imaginan, hay que instalarlos.

¿Cómo lo descubrí?

Yo estudio una carrera que exige mucho tiempo de estudio, pero todavía me cuesta trabajo pasar muchas horas estudiando una sola asignatura, y termino haciendo otras cosas extracurriculares. Por lo que hice un comando que cada 10 minutos me lanzaba una notificación con un mensaje recordándome que tenía que estudiar. El comando era parecido al siguiente:

$ while true; do sleep 10m; notify-send "Tienes que estudiar";done

El caso estaba en que… ¡eso no era suficiente! Necesitaba algo que me lo estuviera diciendo cada 10 minutos, sin necesidad de tener que estarlo leyendo, un mensaje que no pudiera evitar. No dudé ni en un segundo que debía haber algún comando que hiciera eso, por lo menos en el repo, y así fue como me topé con spd-say, el cual para mi sorpresa no había que instalarlo, ayudándome luego a aumentar mi rendimiento.

¿Cómo usarlo?

Puedes hacer que tu máquina diga lo que desees escribiendo solamente:

$ spd-say “You must study”

Por defecto spd-say pronuncia el texto en inglés. Pero puedes hacer que lo pronuncie en español utilizando la opción -l (o –language), seguido por el “iso code”, como se ve en el siguiente ejemplo, en el cual hago que hable en español:

$ spd-say -l es "tienes que estudiar"

La voz por defecto es la de un hombre, pero también esto se puede cambiar utilizando la opción -t (o –voice-type). Las voces disponibles son: male1, male2, male3, female1, female2, female3, child_male, child_female. En el siguiente ejemplo voy a hacer que hable en español con la voz de una mujer:

$ spd-say -t female3 -l es "tienes que estudiar"

En la entrada del manual de spd-say se muestran muchas otras opciones que de seguro van a ser de su interés, les recomiendo que pasen por ahí. Bueno, ahora solo me queda desearles que se diviertan mucho con esta curiosa aplicación (o comando).

Todo eso me recordó la película del programador que creó una mujer virtual de la cual se obsesionó (película que hizo que me gustara aún más mi carrera). Parece que con BASH estamos muy cerca de crear esa mujer con unos pocos comandos, ¿no creen?

¿Te resultó interesante? Compártelo ...



Ph4nt0m

Publicado por Ph4nt0m

Forma parte de GUTL desde el 8 agosto, 2013. Mi primera distribución GNU/Linux fue un Knoppix cuando estaba en la secundaria. Hoy estudio Ciencias de la Computación (conocida como Cibernética) en la Universidad de La Habana.

Este artículo tiene 15 comentarios

    • espeak es el motor que usa joy en el kde y se puede configurar en las preferencias, así que lo va a tener dificil el spd-say, por otro lado no está de más tener algo más para comparar 😉

      • por eso mismo preguntaba, si el espeak (una versión no-reciente) se escucha que parece un fañoso casi no quiero ver spd-say, aun asi no deja de ser una opción interesante, menos si viene instalado por defecto

  1. bueno al parecer usas ubuntu asi que esta de mas decirte que en esa distro funciona de calle.

    esto me da la idea para crear unos scriptcitos que me recuerden la hora exacta del almuerzo, que no es igual a la que me da hambre, y la hora de la pira, que aunque uno tenga reloj igual tienes que mirarlo, jajajaja

  2. Sam, yo probe el espeak con el Slitaz 3 hace mucho tiempo atras y se oia bien por lo que no debe ser el programa como tal. recuerda que el tipo de programa con que estas tratando por ahora no podra oirse como una grabacion de voz natural.

    • A lo que me refiero es que se escucha muy «robótico» comparen con el motor de voz de… por ejemplo windows 7 (no me juzguen, ya se que los de Microsoft son unos c4br0n3s pero al menos en el motor de voz se esmeraron)

  3. Lo acabo de probar, me pareció bastante bueno, lastima que no se programar, seria genial integrarlo al pidgin, correo y a algunos sucesos del sistema. Gracias por compartir este tip.

    • Ya esto está hecho en KDE, instala joy, configúrale un lanzador rápido y donde quiera que haya un texto selecciónalo y lanza joy. Te sentirás raro, pues también puedes hacer hablar varias aplicaciones 🙂 En Gnome lo que funcionaba hasta hace algún tiempo era el Orca.

  4. Phantom:

    En Debian 7 (Wheezy) no está «spd-say» pero si «espeak»; incluso, trae una interfaz de usuario y un front-end en gtk para «espeak» y «mbrola» que es otra aplicación para la misma función incluida en el repo.

  5. Muy interesante. Me ha servido para atraer más la atención de mis compañeros de trabajo por el soft libre. A veces estas pequeñas pacotillas tienen más efecto que mil conferencias

  6. Gente, disculpen que ayer no haya contestado, pero por mucho que intenté conectarme, no pude.
    @Sam
    Yo instalé espeak solo para hacer las comparaciones, y me gustó mucho más spd-say, aunque esto es solo una opinión muy personal.
    @Delio Orozco González
    No vas a encontrar en el repo un paquete que se llame spd-say. spd-say utiliza un daemon que se llama speech-dispatcher. Si no tienes speech-dispatcher instalado, debe estar en el repo. Cuando instalas speech-dispatcher, te crea al comando spd-say. Así que… teorizando un poco, creo que spd-say significa: «speech-dispatcher say»

  7. Colega Phantom:

    Tienes razón, busqué en el repo y «speech-dispatcher» es el nombre de la aplicación. Tal vez y como dices, spd-say sea una contracción de speech-dispatcher.

  8. Todo esto es muy bueno, lo probe en ubu 12.04 y quede impresionado pq no habia chocado con algo asi. Es ahora cuando m pregunto si existe alguna aplicacion que convierta voz a text m refiero a algo asi como para dictar. A veces solo uso win2 cuando tengo la necesidad de digitalizar unas cuantas paginas y termino mas rapido con microfono q con teclas. salu2

  9. spd-say tiene una opcion llamada output device o similar. Con esto podemos grabar el contenido leido en un fichero mp3? Como se puede hacer?

Los comentarios están cerrados.