jueves, 21 de julio de 2011

hacer que la computadora nos hable ai iniciar sesion

bueno, pues vamos a ver como hacer que la pc nos hable al iniciar sesión. primero checamos que este instalado el paquete "festival" ( creo que ya viene incluido en la mayoría de las distros) y también podemos bajar las voces en español de hombre y mujer desde aquí:

http://forja.guadalinex.org/repositorio/frs/?group_id=21&release_id=175

vienen en formato .deb pero podemos cambiarlas a rpm o tar.gz con el programa alien ( dependiendo de tu distro )
para esto, en una consola nos ubicamos en donde descargamos el paquete .deb y escribimos
de preferencia como root.

alien --to-rpm nombre_del_archivo.deb 
bien ya tenemos los paquetes instalados, ahora vamos a configurar festival para que nos hable en español y esta sea la opción por default.
buscamos el archivo

/usr/share/festival/voices.scm

y lo abrimos con un editor de texto (se necesita ser root para modificarlo)
y vamos a buscar la siguiente parte

"voice_default
A variable whose value is a function name that is called on start up to
the default voice. [see Site initialization]")

(defvar default-voice-priority-list
  `(kal_diphone
    cmu_us_bdl_arctic_hts
    cmu_us_jmk_arctic_hts
    cmu_us_slt_arctic_hts
    cmu_us_awb_arctic_hts

 y lo vamos a modificar de la siguiente manera:

"voice_default
A variable whose value is a function name that is called on start up to
the default voice. [see Site initialization]")

(defvar default-voice-priority-list
  `(JuntaDeAndalucia_es_pa_diphone
    cmu_us_bdl_arctic_hts
    cmu_us_jmk_arctic_hts
    cmu_us_slt_arctic_hts
    cmu_us_awb_arctic_hts

cambiamos  "kal_diphone" por "JuntaDeAndalucia_es_pa_diphone"
en mi caso es la voz en español de mujer, podemos ver las voces que tenemos instaladas en la carpeta

/usr/share/festival/voices

entramos en la carpeta de la voz que nos interese  (en mi caso, spanish) y ponemos en el archivo el nombre de la carpeta que queremos sea la voz default (JuntaDeAndalucia_es_pa_diphone)

guardamos los cambios y cerramos.

bien ahora vamos a crear dos archivos en nuestra carpeta de usuario ( /home/tu_usuario)


al primero lo vamos a nombrar .festivalrc ( recomiendo ponerle el punto después de modificar el archivo ya que al poner el punto se convierte en archivo oculto )
y dentro de este archivo ponemos lo siguiente:


(Parameter.set `Audio_Command "aplay -q -c 1 -t raw -f s16 -r $SR $FILE")
(Parameter.set `Audio_Method `Audio_Command)

ahora creamos el segundo archivo, a este le podemos poner como queramos a este le llamaremos inicio (quedaría así  inicio.txt). y dentro ponemos el mensaje escrito de lo que queremos que nos diga la pc.
también podemos ponerle el punto al principio al nombre para que este oculto el archivo.

ahora vamos a crear un tercer archivo, lo nombramos como queramos y le ponemos la extencion .sh ( script ) dentro de este archivo escribimos lo siguiente:

festival --tts inicio.txt

guardamos los cambios y cerramos, ahora tenemos que hacerlo ejecutable ya sea desde consola:


chmod +x script.sh

o en modo gráfico (click derecho/propiedades/permisos y marcar "es ejecutable")

ya casi tenemos todo listo, ahora vamos a configurar kde para que nos lea el archivo. para esto abrimos el panel de control
nos vamos a sonidos y multimedia / notificaciones del sistema.
ahi buscamos " KDE esta arrancando" y presionamos el botón "avanzada.

nos aparecerán varias opciones y debemos marcar la opción "ejecutar un programa" y le ponemos la ruta de nuestro script (el tercer archivo que creamos)
NOTA: podemos dejar marcada la opción "reproducir sonido" si queremos que aparte de hablar, también se escuche el clásico sonido de kde. Guardamos los cambios y listo ahora cada que iniciemos sesión, festival nos leerá el contenido del segundo archivo que creamos (inicio.txt). podemos ir checando el resultado de este archivo con el comando que pusimos en el script:


festival --tts inicio.txt

para no tener que estar iniciando y cerrando sesión para escucharlo.
.

es interesante lo que se puede hacer con festival , navegando por ahi me encontré con una lista de comandos, y se me ocurrió hacer un script para que nos diga la fecha al iniciar sesión.


#!/bin/bash

echo bienvenido | festival --tts #bienvenido
whoami | festival --tts          #ususario
echo hoy es | festival --tts     #hoy es
date `+%A` | festival --tts      #dia de la semana
date `+%e` | festival --tts      #numero de dia
echo del mes de | festival --tts #del mes de
date `+%B` |festival --tts       #nombre del mes
echo del | festival --tts        #del
date `+%Y` | festival --tts      #numero de año

este archivo se guarda con extencion .sh, se le dan permisos de ejecucion y lo ponemos como programa a ejecutar en el centro de control.
como se puede ver es muy facil crear estos archivos para festival, pues solo nesestitamos poner  "| festival --tts" (sin comillas logicamente) despues del comando que queremos que diga y si queremos que diga algo que escibimos nosotros lo hacemos con el comando "echo" .
les dejo aqui algunos comandos de  la lista por si alguien quiere hacer su propio script.
la lista completa esta aqui:

http://elneri.net/?p=331

Para saber la versión del kernel:
$ uname –r

Para saber qué procesador tiene la pc:
$cat /proc/cpuinfo | grep “model name”

Para saber cuál es la frecuencia del procesador:
$ cat /proc/cpuinfo | grep “cpu MHz”

Para saber cuál es el nombre de la maquina
$ hostname

Para saber cuál es tu nombre de usuario:
$ whoami

Para saber a qué grupos del sistema perteneces:
$ groups

Para saber qué hora y día es:
$ date

No hay comentarios:

Publicar un comentario