Parlant amb Mbrola les noves incidències del Mantis Bug Tracker

Hacker

Situació: tenia un parell d'hores lliures aquest matí d'agost, i m'he fet un script que agafa les incidències del Mantis Bug Tracker (des dels titulars RSS) amb curl, i comprova si hi ha una nova, en cas de que sí, l'ordinador parlarà amb espeak i mbrola, el sintetizador lliure de veu computeritzada. ;-)

Tinc les tres veus, la del speak amb festival, la del mbrola es1 i la del mbrola es2:

Veu Festival
espeak.mp3 + un exemple

Veu Mbrola es1
mbrola-es1.mp3 + un exemple

Veu Mbrola es2
mbrola-es2.mp3 + un exemple

I ací l'script (amb el RSS llevat, perquè és el meu usuari):


#!/bin/bash


# Comprovacio 2 on creem el fitxer /tmp/segon_resultat.txt
curl -s 'xxxxxx_aci_el_teu_RSS__xxxxxx' |sed 's/\n/g'|grep 'title>'|sed -e '/^\// d' -e 's/title>/ /g'| head -n 5 | iconv -f utf-8 -t utf-8 > ~/segon_resultat.txt


# Li llevem les dues primeres linies on diu "MantisBT sepam - INCIDENCIAS"


tail -n+3 ~/segon_resultat.txt >> ~/segon_resultat2.txt
rm ~/segon_resultat.txt


# Netejem el fitxer per a llevar-li el numero de ticket


cut -c 11- ~/segon_resultat2.txt > ~/segon_resultat.txt
rm ~/segon_resultat2.txt


# Ara anem a comparar-los: resultat.txt i segon_resultat.txt i si son distints crearem "resultat_final.txt" amb
# les incidencies noves del Mantis.


grep -Fvf ~/primer_resultat.txt ~/segon_resultat.txt > ~/resultat_final.txt


# Ara anem a contar les linies del fitxer final "resultat_final.txt" i si tenim al menys una, avisarem de que anem a parlar.


contadorLinies=$(cat -n resultat_final.txt | tail -n 1 | cut -f1 | xargs)


if [ $contadorLinies \> "0" ];
then
echo "es major que 0"
sed -i '1s/^/Nueva incidencia en el Mantis. \n/' ~/resultat_final.txt
else
echo "no es major que 0"
fi;


# Aquest 'sed' ens serveix per a esborrar la paraula 'Privado' del títol, que sempre deixa l'RSS del Mantis
cat ~/resultat_final.txt | sed -e 's/\//g' > resultat_final2.txt


# Ara parlem amb mbrola i tornem a fer sonar el 'beep' per acabar
mv ~/resultat_final2.txt ~/resultat_final.txt
cat ~/resultat_final.txt | espeak -v mb-es1


# Esborrem els fitxers generats (execepte primer_resultat.txt, que és el controlador
# amb les últimes incidències) i tanquem.
mv ~/segon_resultat.txt ~/primer_resultat.txt
rm ~/resultat_final.txt

Alguns recursos:

Comandos.- eSpeak, sintetizador de voz libre
https://travesuras.wordpress.com/2012/01/11/20120111-1/

Apuntes sobre "texto a voz computerizada"
http://joancatala.net/categoria-gnulinux/apuntes-sobre-texto-voz-comput…

Doncs bé això és tot, espere que trobes útil aquest article i que et motive a compartir els teus trucs, els teus coneixements i els teus experiments amb el Programari Lliure. Pensa-ho, va, que la Comunitat del Programari Lliure va creixent gràcies a la documentació, el disseny, la formació o la programació, sigues part de la Comunitat :-)

La cultura i la lliure circulació de les idees és l'arma més efectiva contra les dictadures del pensament i contra la ignorància.

Utilitats

NAVEGACIÓ SENSE RATOLÍ

- Tab següent enllaç.
- Shift+Tab anterior enllaç.
- Enter activa l'enllaç.
- Alt+esquerra anar arrere.

CONTRAST DE COLORS

Accessibilitat - Color Negre
Accessibilitat - Color Groc
Accessibilitat - Color Verd

Accessibilitat - Color Blau
Accessibilitat - Color Crema
Accessibilitat - Color Blanc

 

PORTADES ALTERNATIVES