SíntesiDeVeu
2575
Comment:
|
16581
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
<<Include(CatalanTeam/Capçalera)>> ||<tablestyle="text-align:center; font-weight: bold; font-size: 0.85em; border: none; width: 100%; -moz-border-radius:15px; background-color:#d9bb7a;" style="border: none;">'''Síntesi de veu'''<<BR>><<Navigation(children,1)>>|| ## page was renamed from CatalanTeam/SíntesiDeVeu |
|
Line 3: | Line 9: |
'''Resum:''' Indiquem com instal·lar i com desinstal·lar les [[http://gps-tsc.upc.es/veu/festcat/|veus catalanes]], i algunes millores possibles en les que podeu col·laborar. Podeu veure exemples de com fer-les servir a [[\Exemples]]. ||<tablestyle="float:center; font-size: 0.9em; width:95%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em; ">'''Índex'''<<BR>><<TableOfContents>>|| |
|
Line 5: | Line 15: |
Cal: 1. Baixar els arxius de llengua i alguna veu de http://gps-tsc.upc.es/veu/festcat/download/ ~$ wget http://www.talp.cat/festcat/download/upc_ca_base.tgz ~$ wget http://www.talp.cat/festcat/download/upc_ca_ona_hts.tgz 2. Desempaquetar els arxius a la carpeta /usr/share/festival: ~$ tar -zxf upc_ca_base.tgz ~$ tar -zxf upc_ca_ona_hts.tgz sudo mv upc_ca_base.tgz /usr/share/festival sudo mv upc_ca_ona_hts.tgz /usr/share/festival 3. Instal·lar festival ~$ sudo apt-get install festival festlex-cmu festlex-poslex festvox-kallpc16k libestools1.2 4. (opcional) I fer uns enllaços simbòlics, per poder trobar les llibresries: ~$ 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 4b. (Si no fem 4. cal fer això) Una alternativa a fer els enllaços simbòlics és cridar cada cop festival amb la ruta així: ~$ festival --libdir /usr/share/festival Tot i que així no disposarem de totes les opcions. |
Aquestes instruccions han estat provades amb [[https://wiki.ubuntu.com/CatalanTeam/Recursos/Instal%C2%B7laci%C3%B3_i_configuraci%C3%B3_d%27ubuntu|Ubuntu Hardy 8.04]] ([[https://wiki.ubuntu.com/CatalanTeam/Tutorials/S%C3%ADntesiDeVeu#Tinc%20Ubuntu%20Hardy%208.04%20i%20Festival%20no%20em%20funciona|1]]). Si us funcionen en altres versions, [[http://ubuntuforums.org/showthread.php?t=806060|us preguem que ho feu saber al fòrum]] Si no volem llegir les explicacions, podem anar directament a l'apartat ''Codi per copiar al terminal''. === Instal·lem Festival === Si feu servir Ubuntu Hardy 8.04, o posterior, [[https://wiki.ubuntu.com/CatalanTeam/Tutorials/S%C3%ADntesiDeVeu#Tinc%20Ubuntu%20Hardy%208.04%20i%20Festival%20no%20em%20funciona|veieu això]]. Obrim un terminal (o consola) amb el menú Aplicacions | Accessoris | Terminal i fem (demanarà la nostra contrasenya de la sessió): {{{ $ sudo apt-get install festival festlex-cmu festlex-poslex festvox-kallpc16k libestools1.2 }}} Per comprovar que funciona copiem al terminal la línia següent: {{{ $ echo 'hello world!' | festival --tts }}} Si funciona correctament i tenim la tarja de so ben configurada, escoltarem el text pels altaveus. === Instal·lem les veus === ==== Amb repositoris (Només Ubuntu Jaunty 9.04 i Karmic 9.10) ==== Nota: Aquest procediment ha estat provat per Ubuntu Jaunty 9.04. Si teniu cap problema, indiqueu els detalls al [[http://ubuntuforums.org/forumdisplay.php?f=206|fòrum]], i feu servir el procediment manual, ja provat, indicat a la secció següent (De forma manual). Si tenim les veus instal·lades de forma manual, primer les hem de retirar, veieu l'apartat ''Desinstal·lació (versió manual)'' 1. Al terminal, afegim la clau amb què s'ha firmat el codi: {{{ sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com A3A48C4A }}} 2. Afegim la font al repositori: Al menú Sistema | Administració | Fonts de programari, pestanya ''Programari de tercers'', botó ''Afegeix'', afegim la línia: {{{ deb http://ppa.launchpad.net/zeehio/festcat/ubuntu jaunty main }}} Per a Ubuntu Karmic 9.10, canviem la paraula jaunty per karmic a la linia anterior. Fem ''Afegeix la font'' i ''Tanca''. 3. Instal·lem les veus: Al menú Sistema | Administració | Gestor de paquets Synaptic, triem el botó ''Refresca'' i cerquem: festvox-ca, marquem la veu festvox-ca-upc-hts-ona i triem ''Aplica''. Opcionalment podem marcar altres veus. ===== Desinstal·lació (versió repositoris) ===== Per desinstal·lar-ho, copiem al terminal (demanarà la nostra contrasenya de la sessió): {{{ $ sudo apt-get remove festival-ca $ sudo apt-get autoremove }}} ==== De forma manual (alres versions) ==== Nota (Gener 2010): per les altres versions només les veus són al repositori anterior, que es poden fer servir, però cal instal·lar les veus manualment, però per fer servir els repositoris, cal vigilar la versió de Festival necessària (falta completar). 1. Baixem els arxius de llengua i alguna veu de http://gps-tsc.upc.es/veu/festcat/download/ {{{ $ wget http://www.talp.cat/festcat/download/upc_ca_base.tgz $ wget http://www.talp.cat/festcat/download/upc_ca_ona_hts.tgz $ wget http://www.talp.cat/festcat/download/upc_ca_pau_hts.tgz }}} Opcionalment, [[http://www.talp.cat/festcat/download.php|podem baixar altres veus]]. 2. Desempaquetem els arxius a la carpeta /usr/share/festival, copiant al terminal: {{{ $ sudo tar -C /usr/share/festival -zxf upc_ca_base.tgz $ sudo tar -C /usr/share/festival -zxf upc_ca_ona_hts.tgz $ sudo tar -C /usr/share/festival -zxf upc_ca_pau_hts.tgz }}} (Si hem baixat més veus, les desempaquetem de la mateixa forma.) Per comprovar que funciona en català copiem al terminal la línia següent: {{{ $ echo 'hola mon' | festival --language catalan --tts }}} Si funciona correctament i tenim la tarja de so ben configurada, escoltarem el text en català pels altaveus. 4. Per triar una veu en català per omisió, cal crear un arxiu de text a la carpeta de l'usuari, el nom de l'arxiu ha de ser .festivalrc Sortim del Festival amb (exit), i fem: {{{ $ gedit .festivalrc }}} Al seu interior copiarem la línia següent, a la que podem triar qualsevol de les veus instal·lades {{{ (set! voice_default 'voice_upc_ca_ona_hts) }}} Nota: Per llegir en altres llegües ara caldrà indicar-ho. Veiem l'apartat 10. ===== Desinstal·lació (versió manual) ===== Per desinstal·lar les veus catalanes, copiem al terminal (demanarà la nostra contrasenya de la sessió): {{{ $ sudo rm -R /usr/share/festival/upc_catalan $ sudo rm -R /usr/share/festival/dicts/upc $ sudo rm -R /usr/share/festival/voices/catalan }}} Per desintal·lar el festival fem al terminal: {{{ $ sudo apt-get remove festival $ sudo apt-get autoremove }}} === Configuració del dispositiu de só === Es suposa que tenim so a l'escriptori. En cas contrari, veiem altres guies com ara [[https://help.ubuntu.com/community/SoundTroubleshootingProcedure|Sound Troubleshooting Procedure]]. Si no obtenim cap so de Festival, i la consola respon amb aquest missatge: {{{ Linux: can't open /dev/dsp }}} Seguirem aquestes instruccions Nota (Gener 2010): Aquesta secció necessita revisió. [[http://ubuntuforums.org/showthread.php?t=806060|Deixeu els vostres comentaris]]. Mentre veieu: https://help.ubuntu.com/community/TextToSpeech#Configuration%20for%20ESD%20or%20PulseAudio ==== ALSA, recomanat ==== Sortim del Festival amb (exit), i executem: {{{ printf ";use ALSA\n(Parameter.set 'Audio_Method 'Audio_Command)\n(Parameter.set 'Audio_Command \"aplay -q -c 1 -t raw -f s16 -r \$SR \$FILE\")\n" > ~/.festivalrc }}} ==== OSD, si sabeu el que feu ==== Cal instal·lar esdplay, obrint un terminal i copiant: {{{ sudo apt-get install esound-clients }}} i autoritzant la instal·lació, quan demani la contrassenya. Al mateix terminal fem: {{{ gksudo gedit /etc/festival.scm }}} i al final hi copiem el següent: {{{ (Parameter.set 'Audio_Command "esdplay $FILE") (Parameter.set 'Audio_Method 'Audio_Command) (Parameter.set 'Audio_Required_Format 'snd) }}} |
Line 40: | Line 168: |
(Veieu també: http://www.talp.cat/festcat/download/LLEGEIX-ME) festival --libdir /usr/share/festival --language catalan --tts arxiu.txt echo hola mon | festival --libdir /usr/share/festival --language catalan --tts cat arxiu.txt | festival --libdir /usr/share/festival --language catalan --tts '''Cal que els arxius tinguin codificació latin-1''' |
'''[[https://wiki.ubuntu.com/CatalanTeam/Tutorials/S%c3%adntesiDeVeu#head-df775a3f69baaef7dfdcb19563ea170d56429dd1|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: Per llegir en veu alta la frase ''hola mon'', copiem al terminal la línia següent: {{{ $ echo 'hola mon' | padsp festival --language catalan --tts }}} Per llegir en veu alta un arxiu anomenat ''arxiu.txt'' hi copiem: {{{ $ padsp festival --language catalan --tts arxiu.txt }}} o bé: {{{ $ cat arxiu.txt | padsp festival --language catalan --tts }}} |
Line 54: | Line 193: |
== Com fer arxius de so (wav) == Es pot aconseguir fent uns enllaços simbòlics així: ~$ 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àmetres. Exemple d'ús: (Cal que l'arxiu tingui codificació latin-1) Convertir un arxiu txt a wav ~$ text2wave -o arxiu.wav -eval '(language_catalan)' arxiu.txt == Per convertir a mp3 == Podeu fer servir lame així: ~$ lame arxiu.wav arxiu.mp3 |
=== Més exemples === Podem veure 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 a [[/Exemples]] == Codi per copiar al terminal == No és necessari fer aquest pas si hem fet el pas ''1. Instal·lació'' Obrim un terminal fent Aplicacions | Accessoris | Terminal i copiem això (demanarà la nostra contrasenya de la sessió): {{{ sudo apt-get install festival festlex-cmu festlex-poslex festvox-kallpc16k libestools1.2 wget http://www.talp.cat/festcat/download/upc_ca_base.tgz wget http://www.talp.cat/festcat/download/upc_ca_ona_hts.tgz wget http://www.talp.cat/festcat/download/upc_ca_pau_hts.tgz sudo tar -C /usr/share/festival -zxf upc_ca_base.tgz sudo tar -C /usr/share/festival -zxf upc_ca_ona_hts.tgz sudo tar -C /usr/share/festival -zxf upc_ca_pau_hts.tgz cd /usr/lib/festival/ printf ";use ALSA\n(Parameter.set 'Audio_Method 'Audio_Command)\n(Parameter.set 'Audio_Command \"aplay -q -c 1 -t raw -f s16 -r \$SR \$FILE\")\n(set! voice_default 'voice_upc_ca_ona_hts)\n" > ~/.festivalrc }}} Llavors podem provar que funciona en anglés, copiant al terminal: {{{ $ echo 'hello world!' | padsp festival --language americanenglish --tts }}} (Si funciona correctament i tenim la tarja de so ben configurada, escoltarem el text pels altaveus) i en català, copiant al terminal: {{{ $ echo 'hola mon' | padsp festival --tts }}} == Com convertir un arxiu de text a latin-1 == La codificació per omissió dels arxius a Ubuntu és UTF-8. Podem fer servir les opcions de guardar del editor gedit, o fer servir programes conversors de format, com iconv copiant al terminal ([[http://www.talp.cat/festcat/download/LLEGEIX-ME|Més]]): {{{ $ iconv -f utf8 -t latin1 arxiu_utf8.txt > arxiu_latin1.txt }}} '''Truc útil''': Si tenim un arxiu de text llarg en UTF-8, pot ser molt laboriós trobar els caràcters que no es podem convertir a latin-1. Si fem la conversió anterior amb iconv en donarà error: però si observem l'arxiu generat, aquest és trucarà exactament al primer caràcter que no es pot convertir, que ja tenim localitzat al nostre arxiu. El canviem i tornem a fer la conversió. Així els podem localitzar de forma sistemàtica. '''Si ets un expert en scripts de sustitució''' potser podràs preparar un script que els sustitueixi tots de cop! Si ho fas, [[http://ubuntuforums.org/showthread.php?t=806060|posa'l al fòrum]]! == Documents pdf == Per convertir un document pdf, resulta útil el programa pdftotext, que amb la següent ordre el converteix directament a latin1: {{{ sudo apt-get install poppler-utils pdftotext -enc Latin1 -nopgbrk $@ $@.txt }}} == Com fer que Festival llegeixi també en anglés i / o castellà == Si hem triat que es faci servir la veu catalana quan no indiquem res (Veu el punt 1.5 més a munt), quan volguem llegir en castellà o en anglés - o en qualsevol altre llengua - caldrà indicar-ho. Primer comprovem que tenim les veus instalades fent (La veu castellana és ''festvox-ellpc11k'' i la americana: ''festvox-kdlpc16k''): {{{ $ sudo apt-get install festvox-ellpc11k festvox-kdlpc16k }}} Per provar aquestes veus podem fer, per la veu castellana: {{{ $ echo hola | padsp festival --language spanish --tts }}} i per la americana: {{{ $ echo hello | padsp festival --language americanenglish --tts }}} |
Line 83: | Line 260: |
Si el text és molt llarg, s'obté aquest error: SIOD ERROR: the currently assigned stack limit has been exceded La única solució que he trobat, és dividir el text en altres més curts. Referències: http://www.cs.indiana.edu/scheme-rep.../imp/siod.html |
Mireu també a l'apartat ''Instal·lació'' la nota sobre ALSA i el dispositiu de so. === Tinc Ubuntu Hardy 8.04 i Festival no em funciona === '''Aquesta secció [[https://help.ubuntu.com/community/TextToSpeech|necessita revisió]]. No en feu massa cas!''' [[https://wiki.ubuntu.com/PulseAudio|A partir de la versió 8.04, Ubuntu fa servir el servidor]] de so [[Pulseaudio]]. Per adaptar Festival a Pulseaudio, només cal fer servir [[http://linux.die.net/man/1/padsp|l'embolicador Pulseadio (padsp)]]. És a dir, hi ha prou amb anteposar l'ordre '''padsp''' a ''festival'', per exemple: {{{ $ echo 'hola mon' | padsp festival --language catalan --tts }}} Cal posar-ho directament davant de ''festival'' (no davant de l'script ''[[https://wiki.ubuntu.com/CatalanTeam/Tutorials/S%C3%ADntesiDeVeu/Scripts#Men%C3%BA%20que%20ho%20fa%20%22tot%22%20incl%C3%BAs%20triar%20la%20llengua|veus.sh]]'', per exemple). === Al pronunciar la lletra 'ñ' en algun nom propi forani, dóna aquest error === {{{ failed to find tree for ñ }}} Cal actualitzar la versió de Festival. Si per algun motiu no podem actualitzar la versió, la solució que facilitada [[http://www.tsc.upc.edu/|Antonio Bonafonte]] és: {{{ $ sudo gedit /usr/share/festival/dicts/upc/upc_catalan_lts_rules.scm }}} i cap al final de tot, afegim la linea amb el so de la 'ñ', que es representa amb 'J': El final queda així: {{{ (ñ ((J))) (· ((_epsilon_))) (- ((_epsilon_)))) }}} Segons ens indica aquesta correcció serà afegida a la propera versió. === Amb algunes paraules, s'obté aquest error === {{{ SIOD ERROR: the currently assigned stack limit has been exceded }}} Cal actualitzar la versió de Festival. Aquest problema és dona quan es troba una paraula amb una majúscula repetida com ara ''TamTam'' , o amb el punt volat '·' i està sent corregit pels desenvolupadors. Mentrestant podem convertir una d'aquestes lletres a minúscula, i canviant els punt volats per punts corrents '.'. Nota: El TALP està treballant en una millora que ho soluciona. Quan estigui llesta ho afegirem aquí. (Solucionat!) === Textos en format UTF-8 === Festival espera arxius de text en codificació latin-1. Si el text conté caràcters que no són en aquesta codificació, també donarà error. Antonio Bonafonte ha fet un script en perl que substitueix els caràcters: {{{ #!/usr/bin/perl -wn #festcat_neteja.pl - Antonio Bonafonte - Juny 2008 chomp; $debug=0; if ($debug) { s{([^- \t\n\ra-z0-9áàéèíìóòúùüïçñA-ZÁÀÉÈÍÌÓÒÚÙÜÏÇÑ\[\]\{\}ºª\\!\|\"@·#\$~%&/()=?'¿¡*+_.:,;<>€])}{#$1#}g; } else { s{([^- \t\n\ra-z0-9áàéèíìóòúùüïçñA-ZÁÀÉÈÍÌÓÒÚÙÜÏÇÑ\[\]\{\}ºª\\!\|\"@·#\$~%&/()=?'¿¡*+_.:,;<>€])}{ }g; } print "$_\n"; }}} Per fer-lo servir, li donem permisos d'execució i fem: {{{ perl festcat_neteja.pl arxiu.txt > arxiu.net }}} == Millores == Si trobeu alguna solució, podeu afegir-la a aquest wiki, editant-lo, o comentar-ho al fòrum: http://ubuntuforums.org/showthread.php?t=806060 Fora interessant per exemple: 1. (Fet) Simplificar les ordres per desempaquetar els arxius, que segurament es pot fer de forma més eficient. 2. (Fet - veieu més amunt, el punt 4. de 'De forma manual') Poder indicar la llengua o veu per omissió, per no haver de dir cada cop que volem la llengua catalana. Potser es podria indicar a l'arxiu .festivalrc ( http://www.math.ias.edu/doc/festival-1.4.2/festival_6.html#SEC15 ) 3. Trobar alguna eina gràfica - a més de l'Orca - que fes servir les veus en català, pels que ho prefereixen a fer servir la consola, com ara eSpeak o KSayit. 4. Determinar les condicions del problema o trobar una solució per convertir arxius de text en format UTF-8 (Veieu 9.2 Problemes coneguts). (Hi estem treballant). == Referències == Fòrum: http://ubuntuforums.org/showthread.php?t=806060 (ha servit per començar aquest document) Síntesi de veu a Ubuntu amb Festival: https://help.ubuntu.com/community/TextToSpeech (en anglès) Festival: http://www.cstr.ed.ac.uk/projects/festival/ [[http://www.cstr.ed.ac.uk/cgi-bin/cstr/lists.cgi?config=festival_faq|FAQ]] (en anglès) Festcat: http://gps-tsc.upc.es/veu/festcat/ (veus catalanes) Festcat a launchpad: https://launchpad.net/~zeehio/+archive/festcat Configuració de só alsa / oss [[https://help.ubuntu.com/community/TextToSpeech|TextToSpeech]]. (en anglès) SIOD: http://www.cs.indiana.edu/scheme-repository/imp/siod.html (en anglès) 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 [[http://ubuntuforums.org/showthread.php?t=751169|HOWTO: Make festival TTS use better voices (MBROLA / CMU / HTS)]] Crèdits: [[http://gps-tsc.upc.es/veu/personal/antonio/index.php3|Antonio Bonafonte]], [[https://launchpad.net/~zeehio|Sergi Oller]], [[http://pacoriviere.cat/|PacoRivière]] http://galindaines.blogspot.com/ ---- CategoryTutorialsEnCatala |
Síntesi de veu
|
Com instal·lar la veu catalana del Festival
Resum: Indiquem com instal·lar i com desinstal·lar les veus catalanes, i algunes millores possibles en les que podeu col·laborar. Podeu veure exemples de com fer-les servir a \Exemples.
Índex |
Instal·lació
Aquestes instruccions han estat provades amb Ubuntu Hardy 8.04 (1). Si us funcionen en altres versions, us preguem que ho feu saber al fòrum
Si no volem llegir les explicacions, podem anar directament a l'apartat Codi per copiar al terminal.
Instal·lem Festival
Si feu servir Ubuntu Hardy 8.04, o posterior, veieu això.
Obrim un terminal (o consola) amb el menú Aplicacions | Accessoris | Terminal i fem (demanarà la nostra contrasenya de la sessió):
$ sudo apt-get install festival festlex-cmu festlex-poslex festvox-kallpc16k libestools1.2
Per comprovar que funciona copiem al terminal la línia següent:
$ echo 'hello world!' | festival --tts
Si funciona correctament i tenim la tarja de so ben configurada, escoltarem el text pels altaveus.
Instal·lem les veus
Amb repositoris (Només Ubuntu Jaunty 9.04 i Karmic 9.10)
Nota: Aquest procediment ha estat provat per Ubuntu Jaunty 9.04. Si teniu cap problema, indiqueu els detalls al fòrum, i feu servir el procediment manual, ja provat, indicat a la secció següent (De forma manual).
Si tenim les veus instal·lades de forma manual, primer les hem de retirar, veieu l'apartat Desinstal·lació (versió manual)
1. Al terminal, afegim la clau amb què s'ha firmat el codi:
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com A3A48C4A
2. Afegim la font al repositori: Al menú Sistema | Administració | Fonts de programari, pestanya Programari de tercers, botó Afegeix, afegim la línia:
deb http://ppa.launchpad.net/zeehio/festcat/ubuntu jaunty main
Per a Ubuntu Karmic 9.10, canviem la paraula jaunty per karmic a la linia anterior.
Fem Afegeix la font i Tanca.
3. Instal·lem les veus: Al menú Sistema | Administració | Gestor de paquets Synaptic, triem el botó Refresca i cerquem: festvox-ca, marquem la veu festvox-ca-upc-hts-ona i triem Aplica. Opcionalment podem marcar altres veus.
Desinstal·lació (versió repositoris)
Per desinstal·lar-ho, copiem al terminal (demanarà la nostra contrasenya de la sessió):
$ sudo apt-get remove festival-ca $ sudo apt-get autoremove
De forma manual (alres versions)
Nota (Gener 2010): per les altres versions només les veus són al repositori anterior, que es poden fer servir, però cal instal·lar les veus manualment, però per fer servir els repositoris, cal vigilar la versió de Festival necessària (falta completar).
1. Baixem els arxius de llengua i alguna veu de http://gps-tsc.upc.es/veu/festcat/download/
$ wget http://www.talp.cat/festcat/download/upc_ca_base.tgz $ wget http://www.talp.cat/festcat/download/upc_ca_ona_hts.tgz $ wget http://www.talp.cat/festcat/download/upc_ca_pau_hts.tgz
Opcionalment, podem baixar altres veus.
2. Desempaquetem els arxius a la carpeta /usr/share/festival, copiant al terminal:
$ sudo tar -C /usr/share/festival -zxf upc_ca_base.tgz $ sudo tar -C /usr/share/festival -zxf upc_ca_ona_hts.tgz $ sudo tar -C /usr/share/festival -zxf upc_ca_pau_hts.tgz
(Si hem baixat més veus, les desempaquetem de la mateixa forma.)
Per comprovar que funciona en català copiem al terminal la línia següent:
$ echo 'hola mon' | festival --language catalan --tts
Si funciona correctament i tenim la tarja de so ben configurada, escoltarem el text en català pels altaveus.
4. Per triar una veu en català per omisió, cal crear un arxiu de text a la carpeta de l'usuari, el nom de l'arxiu ha de ser .festivalrc
Sortim del Festival amb (exit), i fem:
$ gedit .festivalrc
Al seu interior copiarem la línia següent, a la que podem triar qualsevol de les veus instal·lades
(set! voice_default 'voice_upc_ca_ona_hts)
Nota: Per llegir en altres llegües ara caldrà indicar-ho. Veiem l'apartat 10.
Desinstal·lació (versió manual)
Per desinstal·lar les veus catalanes, copiem al terminal (demanarà la nostra contrasenya de la sessió):
$ sudo rm -R /usr/share/festival/upc_catalan $ sudo rm -R /usr/share/festival/dicts/upc $ sudo rm -R /usr/share/festival/voices/catalan
Per desintal·lar el festival fem al terminal:
$ sudo apt-get remove festival $ sudo apt-get autoremove
Configuració del dispositiu de só
Es suposa que tenim so a l'escriptori. En cas contrari, veiem altres guies com ara Sound Troubleshooting Procedure. Si no obtenim cap so de Festival, i la consola respon amb aquest missatge:
Linux: can't open /dev/dsp
Seguirem aquestes instruccions
Nota (Gener 2010): Aquesta secció necessita revisió. Deixeu els vostres comentaris. Mentre veieu: https://help.ubuntu.com/community/TextToSpeech#Configuration%20for%20ESD%20or%20PulseAudio
ALSA, recomanat
Sortim del Festival amb (exit), i executem:
printf ";use ALSA\n(Parameter.set 'Audio_Method 'Audio_Command)\n(Parameter.set 'Audio_Command \"aplay -q -c 1 -t raw -f s16 -r \$SR \$FILE\")\n" > ~/.festivalrc
OSD, si sabeu el que feu
Cal instal·lar esdplay, obrint un terminal i copiant:
sudo apt-get install esound-clients
i autoritzant la instal·lació, quan demani la contrassenya.
Al mateix terminal fem:
gksudo gedit /etc/festival.scm
i al final hi copiem el següent:
(Parameter.set 'Audio_Command "esdplay $FILE") (Parameter.set 'Audio_Method 'Audio_Command) (Parameter.set 'Audio_Required_Format 'snd)
Exemples d'ús
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:
Per llegir en veu alta la frase hola mon, copiem al terminal la línia següent:
$ echo 'hola mon' | padsp festival --language catalan --tts
Per llegir en veu alta un arxiu anomenat arxiu.txt hi copiem:
$ padsp festival --language catalan --tts arxiu.txt
o bé:
$ cat arxiu.txt | padsp festival --language catalan --tts
Les instruccions originals són aquí: http://www.talp.cat/festcat/download/LLEGEIX-ME
Nota: atenció amb les rutes al desempaquetar, un petit error em feia que no funcionés!
Més exemples
Podem veure 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 a /Exemples
Codi per copiar al terminal
No és necessari fer aquest pas si hem fet el pas 1. Instal·lació
Obrim un terminal fent Aplicacions | Accessoris | Terminal i copiem això (demanarà la nostra contrasenya de la sessió):
sudo apt-get install festival festlex-cmu festlex-poslex festvox-kallpc16k libestools1.2 wget http://www.talp.cat/festcat/download/upc_ca_base.tgz wget http://www.talp.cat/festcat/download/upc_ca_ona_hts.tgz wget http://www.talp.cat/festcat/download/upc_ca_pau_hts.tgz sudo tar -C /usr/share/festival -zxf upc_ca_base.tgz sudo tar -C /usr/share/festival -zxf upc_ca_ona_hts.tgz sudo tar -C /usr/share/festival -zxf upc_ca_pau_hts.tgz cd /usr/lib/festival/ printf ";use ALSA\n(Parameter.set 'Audio_Method 'Audio_Command)\n(Parameter.set 'Audio_Command \"aplay -q -c 1 -t raw -f s16 -r \$SR \$FILE\")\n(set! voice_default 'voice_upc_ca_ona_hts)\n" > ~/.festivalrc
Llavors podem provar que funciona en anglés, copiant al terminal:
$ echo 'hello world!' | padsp festival --language americanenglish --tts
(Si funciona correctament i tenim la tarja de so ben configurada, escoltarem el text pels altaveus)
i en català, copiant al terminal:
$ echo 'hola mon' | padsp festival --tts
Com convertir un arxiu de text a latin-1
La codificació per omissió dels arxius a Ubuntu és UTF-8. Podem fer servir les opcions de guardar del editor gedit, o fer servir programes conversors de format, com iconv copiant al terminal (Més):
$ iconv -f utf8 -t latin1 arxiu_utf8.txt > arxiu_latin1.txt
Truc útil: Si tenim un arxiu de text llarg en UTF-8, pot ser molt laboriós trobar els caràcters que no es podem convertir a latin-1. Si fem la conversió anterior amb iconv en donarà error: però si observem l'arxiu generat, aquest és trucarà exactament al primer caràcter que no es pot convertir, que ja tenim localitzat al nostre arxiu. El canviem i tornem a fer la conversió. Així els podem localitzar de forma sistemàtica. Si ets un expert en scripts de sustitució potser podràs preparar un script que els sustitueixi tots de cop! Si ho fas, posa'l al fòrum!
Documents pdf
Per convertir un document pdf, resulta útil el programa pdftotext, que amb la següent ordre el converteix directament a latin1:
sudo apt-get install poppler-utils pdftotext -enc Latin1 -nopgbrk $@ $@.txt
Com fer que Festival llegeixi també en anglés i / o castellà
Si hem triat que es faci servir la veu catalana quan no indiquem res (Veu el punt 1.5 més a munt), quan volguem llegir en castellà o en anglés - o en qualsevol altre llengua - caldrà indicar-ho.
Primer comprovem que tenim les veus instalades fent (La veu castellana és festvox-ellpc11k i la americana: festvox-kdlpc16k):
$ sudo apt-get install festvox-ellpc11k festvox-kdlpc16k
Per provar aquestes veus podem fer, per la veu castellana:
$ echo hola | padsp festival --language spanish --tts
i per la americana:
$ echo hello | padsp festival --language americanenglish --tts
Problemes coneguts
Mireu també a l'apartat Instal·lació la nota sobre ALSA i el dispositiu de so.
Tinc Ubuntu Hardy 8.04 i Festival no em funciona
Aquesta secció necessita revisió. No en feu massa cas!
A partir de la versió 8.04, Ubuntu fa servir el servidor de so Pulseaudio. Per adaptar Festival a Pulseaudio, només cal fer servir l'embolicador Pulseadio (padsp). És a dir, hi ha prou amb anteposar l'ordre padsp a festival, per exemple:
$ echo 'hola mon' | padsp festival --language catalan --tts
Cal posar-ho directament davant de festival (no davant de l'script veus.sh, per exemple).
Al pronunciar la lletra 'ñ' en algun nom propi forani, dóna aquest error
failed to find tree for ñ
Cal actualitzar la versió de Festival.
Si per algun motiu no podem actualitzar la versió, la solució que facilitada Antonio Bonafonte és:
$ sudo gedit /usr/share/festival/dicts/upc/upc_catalan_lts_rules.scm
i cap al final de tot, afegim la linea amb el so de la 'ñ', que es representa amb 'J':
El final queda així:
(ñ ((J))) (· ((_epsilon_))) (- ((_epsilon_))))
Segons ens indica aquesta correcció serà afegida a la propera versió.
Amb algunes paraules, s'obté aquest error
SIOD ERROR: the currently assigned stack limit has been exceded
Cal actualitzar la versió de Festival.
Aquest problema és dona quan es troba una paraula amb una majúscula repetida com ara TamTam , o amb el punt volat '·' i està sent corregit pels desenvolupadors. Mentrestant podem convertir una d'aquestes lletres a minúscula, i canviant els punt volats per punts corrents '.'.
Nota: El TALP està treballant en una millora que ho soluciona. Quan estigui llesta ho afegirem aquí. (Solucionat!)
Textos en format UTF-8
Festival espera arxius de text en codificació latin-1. Si el text conté caràcters que no són en aquesta codificació, també donarà error. Antonio Bonafonte ha fet un script en perl que substitueix els caràcters:
#festcat_neteja.pl - Antonio Bonafonte - Juny 2008 chomp; $debug=0; if ($debug) { s{([^- \t\n\ra-z0-9áàéèíìóòúùüïçñA-ZÁÀÉÈÍÌÓÒÚÙÜÏÇÑ\[\]\{\}ºª\\!\|\"@·#\$~%&/()=?'¿¡*+_.:,;<>€])}{#$1#}g; } else { s{([^- \t\n\ra-z0-9áàéèíìóòúùüïçñA-ZÁÀÉÈÍÌÓÒÚÙÜÏÇÑ\[\]\{\}ºª\\!\|\"@·#\$~%&/()=?'¿¡*+_.:,;<>€])}{ }g; } print "$_\n";
Per fer-lo servir, li donem permisos d'execució i fem:
perl festcat_neteja.pl arxiu.txt > arxiu.net
Millores
Si trobeu alguna solució, podeu afegir-la a aquest wiki, editant-lo, o comentar-ho al fòrum: http://ubuntuforums.org/showthread.php?t=806060 Fora interessant per exemple:
1. (Fet) Simplificar les ordres per desempaquetar els arxius, que segurament es pot fer de forma més eficient.
2. (Fet - veieu més amunt, el punt 4. de 'De forma manual') Poder indicar la llengua o veu per omissió, per no haver de dir cada cop que volem la llengua catalana. Potser es podria indicar a l'arxiu .festivalrc ( http://www.math.ias.edu/doc/festival-1.4.2/festival_6.html#SEC15 )
3. Trobar alguna eina gràfica - a més de l'Orca - que fes servir les veus en català, pels que ho prefereixen a fer servir la consola, com ara eSpeak o KSayit.
4. Determinar les condicions del problema o trobar una solució per convertir arxius de text en format UTF-8 (Veieu 9.2 Problemes coneguts). (Hi estem treballant).
Referències
Fòrum: http://ubuntuforums.org/showthread.php?t=806060 (ha servit per començar aquest document)
Síntesi de veu a Ubuntu amb Festival: https://help.ubuntu.com/community/TextToSpeech (en anglès)
Festival: http://www.cstr.ed.ac.uk/projects/festival/ FAQ (en anglès)
Festcat: http://gps-tsc.upc.es/veu/festcat/ (veus catalanes)
Festcat a launchpad: https://launchpad.net/~zeehio/+archive/festcat
Configuració de só alsa / oss TextToSpeech. (en anglès)
SIOD: http://www.cs.indiana.edu/scheme-repository/imp/siod.html (en anglès)
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 (last edited 2017-07-13 13:35:51 by amarti-m)