Notas de voz que nos avisan del final de un comando en Linux

por | 15 marzo, 2016

atencion

En ocasiones ejecutamos un comandó que requiere de un tiempo de espera para que finalice, ¿Pero cómo conseguir que nos indique que ya finalizó?, pudiéramos pensar algunas opciones distintas, estaría bien una notificación de ventana flotante en el escritorio o incluso mejor una nota de voz tipo robotina/robocop.

eSpeak es un motor de texto a voz, viene en diversos idiomas y esta disponible para su uso en la terminal. Originalmente era conocido como speak, un sintetizador de voz escrito para RISC OS, el sistema operativo creado por Acorn Computers a finales de los 80’s.

Una de sus características es la amplitud de idiomas con la que se cuenta y adicional a ello la posibilidad de cambiar las variantes de voz, dentro de su pronunciación algo artificial, por así decirlo.

Su instalación es muy sencilla, para el caso de los derivados de Debian como Ubuntu, basta con ejecutar.

sudo apt-get install espeak

Si queremos un idioma en especifico usamos la opciones -v seguido del código del idioma.

espeak -v es-la "Hola Mundo"

Pero como sabemos con que idiomas contamos, podemos listarlos con el siguiente comandó

espeak --voices

Si la intención es que hable Robotina +f1 +f2 +f3 +f4  o en su defecto Robocop +m1 +m2 +m3 +m4 +m5 +m6 +m7 existen los diversos tonos de voz.

 espeak -ves-la+f1 "Hola Mundo"

Y, si nuestra idea es que lea el contenido de un archivo, lo especificamos con -f

 espeak -f /Ruta/Del/Archivo.txt 

Ahora, si queremos enviar la salida de la lectura a un archivo en formato WAV, con la opción de -w podemos hacerlo.

 espeak -ves -s130 -f /Ruta/Del/Archivo.txt -w /Ruta/Del/ArchivoDeSalida.wav 

Aqui les dejo, un pequeño script de ejemplo:

#! / bin / bash
#---------------------------------------------------------
Archivo=libro.txt
CantidadLineas=$(wc -l $Archivo | awk '{print $1}')
CantidadPalabras=$(wc -w $Archivo | awk '{print $1}')
#---------------------------------------------------------
Comprimido=empaquetar.tar.gz
tar -czf $Comprimido /Ruta/del/Archivo/A/Comprimir.abc
#----------------------------------------------------------

#----------------------------------------------------------
espeak -ves -s130 "Finalizo la compresion del archivo $Comprimido"
#----------------------------------------------------------

#----------------------------------------------------------
espeak -ves -s130 "El Archivo, con el nombre. $Archivo , contiene $CantidadLineas lineas y $CantidadPalabras palabras"
espeak -ves -s130 -f $Archivo -w SalidaEnAudio.wav
#----------------------------------------------------------

 

4 pensamientos en “Notas de voz que nos avisan del final de un comando en Linux

  1. tannhausser

    Se nota que veíamos diferentes series de televisión…tuve que buscar quien era robotina 🙂

    Gracias por el post @anger

    Responder

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.