PDA

Ver la Versión Completa : hacer que la pc nos hable al iniciar sesion (KDE3)



Defton
02-jun-2009, 06:17
bueno, pues vamos a ver como hacer que la pc nos hable al iniciar sesión (KDE3). 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 para instalarlas con el yast con el programa alien ( se puede instalar con yast también)
para esto, en una consola nos ubicamos en donde descargamos el paquete .deb y escribimos


alien --to-rpm nombre_del_archivo.debde preferencia como root.

bien ya tenemos los paquetes instalados, ahora vamos a configurar festival para que nos hable en español y esta sea la opcion 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_htsy 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_htsen 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 vos default (JuntaDeAndalucia_es_pa_diphone)

guardamos los cambios y serramos.

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.txtguardamos los cambios y cerramos, ahora tenemos que hacerlo ejecutable ya sea desde consola:


chmod +x script.sho 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.txtpara no tener que estar iniciando y serrando sesion para escucharlo.

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


#!/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 ejecución 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 necesitamos poner "| festival --tts" (sin comillas lógicamente) después 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 aquí:

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

eduararley
02-jun-2009, 17:14
El procedimiento para hacerlo en GNOME sería exactamente igual. Solo que, en ves de abrir el Panel de Control de KDE, abrimos el Centro de Control de GNOME. En Sistema > Sesiones, pestaña "Programas al Inicio", damos clic en "Añadir", y en Comando ponemos la ruta de nuestro script sh.

Defton
02-jun-2009, 23:34
muchas gracias por el aporte, ya que como no uso gnome no sabia si se podia. gracias

sanjui
01-jul-2009, 20:30
Te dije en otro post tuyo que buscaría por Guadalinex, y veo después que lo tienes todo explicado. Lo he instalado tal como dices, ya veré si lo he hecho bien...gracias.
Salud y suerte.