Exemples
Síntesi de veu, exemples d'ús |
Exemples d'ús de la veu catalana del Festival
Resum: Indiquem alguns exemples de com fer servir les veus catalanes, com llegir l'hora en veu alta, fer-la servir amb OpenOffice i amb Orca per llegir la pantalla, i com generar arxius de so. Per instal·lar i desinstal·lar les veus, veieu Com instal·lar la veu catalana del Festival
Índex |
Cal que els arxius de text a convertir tinguin codificació latin-1
Veieu altres exemples a: http://www.talp.cat/festcat/download/LLEGEIX-ME
Segons l'opció que hem triat al pas anterior, ara tenim dues opcions:
Requisits
Cal haver instal·lat les veus, veieu Com instal·lar la veu catalana del Festival
Comprovació.
Per llegir en veu alta la frase hola mon, copiem al terminal la línia següent:
$ echo hola mon | padsp festival --libdir /usr/share/festival --language catalan --tts
Llegir l'hora en veu alta
Per llegir l'hora en veu alta al terminal hi ha prou amb escriure la següent línia (Atenció: les 'cometes' abans i després de date... són accents, no cometes!!!):
echo "Són les `date +%k` hores, `date +%-M` minuts amb `date +%-S` segons." |padsp festival --tts --language catalan
Si volem, per exemple que ens digui l'hora en veu alta a les hores en punt hem de preparar un arxiu de text amb dues línies (Atenció: no hem de deixar cap espai a la primera línia, són aquí només per limitacions d'aquest wiki!!!):
# ! /bin/bash echo "Són les `date +%k` hores, `date +%-M` minuts amb `date +%-S` segons." |padsp festival --tts --language catalan
Al desar l'arxiu anterior, és molt important triar la codificació ISO-8859-1 o ISO-8859-15, ja que si triem UTF-8, que és l'opció per omissió, el Festival no podrà llegir-ho, i donarà l'error 'LTS_Ruleset catala_downcase: no rule matches:'.
posem que l'anomenem digueshora.sh
De nou al terminal fem:
crontab -e
i afegim a l'arxiu de programacions la línia:
0 * * * * bash [ruta]/digueshora.sh
on hem de substituir [ruta] per la ruta absoluta on hem desat l'arxiu digueshora.sh.
No oblidem desar fent Crl+O, abans de sortir amb Ctrl+X
Una altra opció sense els minuts és:
echo "Són les `date +%k` hores, i `date +%-M` minuts." |padsp festival --tts --language catalan
Per que digui les hores amb quarts, podríem fer alguna cosa així (us animem a millorar-ho):
hora=`date +%-I` hora_seg=$(echo "scale=0; $hora+1" | bc) if [ "$hora_seg" -eq "13" ]; then hora_seg="una"; fi minuts=`date +%-M` case $hora in 0 ) xe_hora="Són les dotze" ;; 1 ) xe_hora="És la una" ;; 2 ) xe_hora="Són les dues" ;; * ) xe_hora ="Són les $hora";; esac case $minuts in 0 ) xe_minuts="" ;; * ) xe_minuts=", i $minuts minuts.";; esac case $minuts in 15 ) xerra="És un quart de $hora_seg." ;; 30 ) xerra="Són dos quarts de $hora_seg." ;; 45 ) xerra="Són tres quarts de $hora_seg." ;; * ) xerra="$xe_hora$xe_minuts" ;; esac echo $xerra |padsp festival --tts --language catalan
Possibles millores:
* Que digui "d'una', en lloc de "de una", o "Són dos quarts i cinc", "Són dos quarts i 3 minuts",...
Extensió per a OpenOffice
Read Text és una extensió per a OpenOffice que permet llegir el text seleccionat. Un cop instal·lades les veus segons les instruccions anteriors, podem instal·lar Read Text com qualsevol altre extensió (al menú 'Eines' | 'Gestor d'extensions...' | 'Afegeix...' 1) i funciona directament amb les veus catalanes.
Com llegir la pantalla amb Orca
Per instal·lar l'Orca, copiem al terminal la línia següent:
$ sudo apt-get install orca
Amb el menú Aplicacions | Accés universal | Lector de pantalla i ampliador Orca
El primer cop caldrà triar les opcions de configuració, responen unes preguntes al terminal. Es pot canviar la configuració inicial fent orca --text-setuporca --text-setup. Un cop contestades les preguntes, que es llegeixen en veu alta, apareixerà aquesta finestra:
Anem a Preferències i a la pestanya Pronúncia triem:
Síntetitzador de pronunciació: Festival GNOME Speech Driver
Persona: triem una de les veus catalanes que heu instal·lat
Com fer arxius de so (wav)
Es pot aconseguir fent uns enllaços simbòlics així (si no ho hem fet al punt 1.4):
$ cd /usr/lib/festival/ $ sudo ln -s /usr/share/festival/voices $ sudo ln -s /usr/share/festival/dicts $ sudo ln -s /usr/share/festival/upc_catalan
Això també permet arrencar festival sense el paràmetre de la ruta de libdir.
Exemple d'ús:
(Cal que l'arxiu tingui codificació latin-1)
Per convertir un arxiu txt a wav, copiem al terminal:
$ text2wave -o arxiu.wav -eval '(language_catalan)' arxiu.txt
Alternativa (sense text2wave)
Una altra forma per generar arxius wav, podem fer (1):
$ festival festival> (save_waves_during_tts) (language_catalan) (tts_file "arxiu.txt") (exit)
Per convertir a ogg (preferible)
Si no ho està caldrà instal·lar oggenc, copiant al terminal:
$ sudo apt-get install vorbis-tools
Podem fer servir oggenc així, copiant al terminal:
$ oggenc arxiu.wav
També podeu fer servir aquest script
Per convertir a mp3
Atenció: l'mp3 no és lliure! |
Si no ho està caldrà instal·lar lame, copiant al terminal:
$ sudo apt-get install lame
Podem fer servir lame, copiant al terminal:
$ lame arxiu.wav arxiu.mp3
També podeu fer servir aquest script
Scripts per convertir un arxiu a ogg i a mp3
Estan escrits suposant que tenim la veu catalana triada per omissió (veieu el punt 1.5, més amunt).
text2ogg: Converteix un arxiu de text a ogg llegint-lo amb Festival, afegint el nom de l'arxiu a l'etiqueta ogg del títol, i opcionalment l'autor
text2mp3: Converteix un arxiu de text a mp3 llegint-lo amb Festival, afegint el nom de l'arxiu a l'etiqueta ogg del títol, i opcionalment l'autor
Els podem trobar aquí
Com integrar les veus amb Python
Veieu aquí un mòdul Python amb una funció especifica.
Referències
ReadText: http://extensions.services.openoffice.org/node/2649 (en anglès
Gestor d'extensión de l'OpenOffice: http://wiki.services.openoffice.org/wiki/Documentation/Administration_Guide/Using_Package_Manager (en anglès
HOWTO: Make festival TTS use better voices (MBROLA / CMU / HTS)
Crèdits Antonio Bonafonte, Sergi Oller, PacoRivière http://galindaines.blogspot.com/
CatalanTeam/Tutorials/SíntesiDeVeu/Exemples (last edited 2010-05-29 07:35:59 by 23)