# Habeis probado festival?

## RedMask

Hola:

Probad a hacer un emerge festival, es un sintetizador de voces. Luego le cambiais la voz por la española:

 nano /usr/lib/festival/voices.scm	

Code:	

'(kal_diphone 

    ked_diphone 

    don_diphone 

    rab_diphone 

    en1_mbrola 

    us1_mbrola 

    us2_mbrola 

    us3_mbrola 

    gsw_diphone  ;; not publically distributed 

    el_diphone) -----> poned esta la primera

y ahora se prueba con: saytime

y cat [archivo de texto] | festival --tts

queda muy chulo eh!  :Cool:   :Cool:   :Cool:   :Cool:   :Cool:   :Cool:   :Cool:   :Cool: 

Ahora me leen cookies del fortune antes de dormir.....

----------

## Haduart

pues a mi ma fallao al hacer el merge   :Sad: 

```
gcc -O3 -Wall -o ch_lab ch_lab_main.o -L../lib -lestools -L../lib -lestbase -L../lib -leststring -lncurses -ldl -lm /usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/libstdc++.a /usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/libgcc_s.so.1

gcc: /usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/libstdc++.a: El fitxer o directori no existeix

gcc: /usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/libgcc_s.so.1: El fitxer o directori no existeix

make[1]: *** [ch_lab] Error 1

make: *** [main] Error 2

 

!!! ERROR: media-sound/festival-1.4.2-r3 failed.

!!! Function src_compile, Line 67, Exitcode 2

!!! (no error message)

```

----------

## RedMask

A me me parece que te faltan librerias del gcc, a lo mejor

```

ldconfig

```

porque no se me ocurre que puedas no tener instalado todo gcc, en ultima instancia un 

```

emerge -u gcc

```

Pero estoy seguro de lo anterior al 20%, has compilado el resto del sistema bien?

----------

## Haduart

No, el gcc seguro (o casi) de que no es.

```
emerge -u gcc

Calculating dependencies ...done!

>>> Auto-cleaning packages ...

 

>>> No outdated packages were found on your system.

 

 

 * GNU info directory index is up-to-date.

```

Si, el resto del sistema me ha compilado bien y no me ha dado ningun error de este tipo. Bueno, de hecho con el vmware tambien me da un error que podria tener alguna relación...

```
make: Entering directory `/tmp/vmware-config5/vmnet-only'

make: Leaving directory `/tmp/vmware-config5/vmnet-only'

Unable to make a vmnet module that can be loaded in the running kernel:

/tmp/vmware-config5/vmnet.o: unresolved symbol _mmx_memcpy

/tmp/vmware-config5/vmnet.o:

Hint: You are trying to load a module without a GPL compatible license

      and it has unresolved symbols.  Contact the module supplier for

      assistance, only they can help you.

```

Este es el resultado de ejecutar el vmware-config.pl. Estos son los unicos errores que he encontrado a la hora de compilar algo en gentoo, no se si tendran relación o no.

----------

## Magnum44

Ya habia probado el festival antes, pero no sabia que tenia la pronunciacion castellana tambien. Ahora, mi duda es que fichero tengo q editar para que me salude todos los dias al hacer login o al arrancar y apagar el ordenador???   :Very Happy: 

----------

## RedMask

Abrid un archivo /usr/lib/festival/siteinit.scm y metedle todo esto.

Esto va a hacer que la voz se reproduzca a velocidad adecuada y volumen correcto, así os evitais posibles problemas luego.

```

(Parameter.set 'Audio_Method 'Audio_Command)

(Parameter.set 'Audio_Command "sox -t raw -sw -r $SR $FILE -c2 -t ossdsp /dev/dsp")

(set!  default_after_synth_hooks 

        (list 

          (lambda (utt)

            (utt.wave.rescale utt 1.0 t))))

```

luego os vais a /usr/lib/festival/voices.scm y buscais:

```

(defvar default-voice-priority-list 

  '(el_diphone

    ked_diphone

    don_diphone

    rab_diphone

    en1_mbrola

    us1_mbrola

    us2_mbrola

    us3_mbrola

    gsw_diphone)  ;; not publically distributed

    

  "default-voice-priority-list

   List of voice names. The first of them available becomes

```

Buscais la cadena que haya similar y la dejais así, bueno, la voz de el_diphone es española, no queda mal del todo. He visto documentales de Stephen Hawking y su ordenador no le llega a la suela. Bueno si quereis más voces haceis

```

emerge mbrola

```

y os bajais más voces, pero ya son todas en inglés, americano e incluso en galés...

OK, ahora decid saytime y reiros de la pronunciación cazurra de Eduardo López (No es coña, se llama así)

bueno, ahora añadir todo esto a los scripts de inicio para obtener una bonita charleta...

```

#!/sbin/runscript 

# Original de

# Bas van Dijk basvandijk@home.nl 

# Modificado ampliamente....

start() { 

        ebegin "Playing login audio message" 

          

        date=$(date +%H)

        if [ "$date" -ge "6" -a "$date" -le "12" ] 

        then 

                echo Buenos Dias| festival --tts

        else 

                if [ "$date" -gt "12" -a "$date" -le "18" ] 

                then 

                        echo Buenas tardes!|festival --tts 

                else 

                        if [ "$date" -gt "18" -a "$date" -le "24" ] 

                        then 

                                echo Has tenido un buen dia?|festival --tts

                        else 

                                if [ "$date" -gt "0" -a "$date" -lt 

"6" ] 

                                then 

                                        echo Es nuestra hora... |festival --tts

                                fi 

                        fi 

                fi 

        fi 

        echo "Escucha..." |festival --tts

        fortune|festival --language english --tts

} 

stop() { 

        ebegin "Playing logout audio message" 

        echo Hasta pronto!|festival --tts

} 

```

OK, es bastante facil como veis. Modificable a gusto...

Un par de cosas, si quereis tocar los mensajes por ejemplo metiendole tu nombre en una variable, etc... yo lo pasaría primero todo a un archivo de texto y luego lo hablaría desde allí, pq si no no funciona bien, cada cosa a su momento, y notar que cuando leo fortune cambio el idioma para que lo lea bien, aunque no se le entienda mucho....

Y nada, salvad eso en /etc/init.d/audio

```

chmod 755 /etc/init.d/audio

```

para que lo pueda ejecutar y luego añadirlo a la secuencia de inicio.

```

rc-update add audio default 

```

Creo que eso es todo, gente...  :Laughing:   :Laughing:   :Laughing:   :Laughing:   :Laughing: 

PD: Se me olvida algo y no se qué es....

Bueno, a lo mejor alguien quiere ponerle otros permisos al archivo audio para no encontrarnos sorpresas cachondas al arrancar....

----------

## kabutor

buen programa el festival este.. dos preguntillas..

Como le meto mas voces en castellano? simplemente pongo el mbrola ese?

Le he puesto un plugin para el gaim q he encontrado por los foros y me lee los mensaje q me mandan los amigos, pero cuando alguien dice una palabra con la Ñ no la reconoce y la deletrea (deletreando XX la Ñ) 

Alguna manera de arreglar esto?

Gracias

----------

## caos

soy el unico que ve la voz en español un poco chapuzilla??

PD: no he conseguido, por mas que lo he intentado, instalarle las voces extras del mbrola.

----------

## kabutor

Hombre a mi me suena q es un calco a la de la pelicula "Juegos De Guerra"   :Laughing: 

No se si te referiras a eso.. por cierto que hoy he probado el xchat-festival plugin q hay por internet y es un caos.. cuando hablan un pelo rapido te duele la cabeza   :Wink: 

----------

## kabutor

A ver, sobre el mbrola hasta donde he llegado yo..

Primero modifico la ebuild q hay en media-sound/mbrola/mbrola-3.0.1h-r1.ebuild y la cambio por  mbrola-3.0.1h-r2.ebuild para no romper nada, y le digo que en vez de las voces inglesas q me baje las españolas (es1 y es2). tal cual corto y pego el ebuild

(q conste q he dejado tambien la us1 mas que nada para probar)

```
# Copyright 1999-2003 Gentoo Technologies, Inc.

# Distributed under the terms of the GNU General Public License v2

# $Header: /home/cvsroot/gentoo-x86/media-sound/mbrola/mbrola-3.0.1h-r1.ebuild,v 1.6 2003/06/12 21:07:18 msterret Exp $

S=${WORKDIR}

URL="http://tcts.fpms.ac.be/synthesis/mbrola"

DESCRIPTION="us1, us2, and us3 mbrola voice libraries for Festival TTS"

SRC_URI="${URL}/bin/pclinux/mbr301h.zip

${URL}/dba/es1/es1-980610.zip

${URL}/dba/es2/es2-989825.zip

${URL}/dba/us3/us1-980512.zip"

HOMEPAGE="http://tcts.fpms.ac.be/synthesis/mbrola.html"

DEPEND=">=media-sound/festival-1.4.2

    app-arch/unzip"

SLOT="0"

LICENSE="MBROLA"

KEYWORDS="x86"

src_install () {

    # Take care of main binary

    mv mbrola-linux-i386 mbrola

    dobin mbrola

    dodoc readme.txt

    # Now install the vioces

    FESTLIB=/usr/lib/festival/voices/english

    insinto ${FESTLIB}/us1_mbrola/us1

    doins us1/us1 us1/us1mrpa

    insinto ${FESTLIB}/us1_mbrola/us1/TEST

    doins us1/TEST/*

    dodoc us1/us1.txt

    insinto ${FESTLIB}/es2_mbrola/es2

    doins es2/es2

    insinto ${FESTLIB}/es2_mbrola/es2/TEST

    doins es2/TEST/*

    dodoc es2/es2.txt

    insinto ${FESTLIB}/es1_mbrola/es1

    doins es1/es1

    insinto ${FESTLIB}/es1_mbrola/es1/TEST

    doins es1/TEST/*

    dodoc es1/es1.txt

}

```

hago un 

```

emerge /usr/portage/media-sound/mbrola/mbrola-3.0.1h-r2.ebuild

```

y me da un error diciendo que me falta el digest y que haga tal que asi:

```
ebuild mbrola-3.0.1h-r2.ebuild digest

```

y con eso se emerge bien, se instala y dentro de /usr/lib/festival/voices me aparecen las voces es1 y es2.

Luego me voy a Festival Gaim y me bajo el plugin del gaim.

Lo descomprimo en /usr/src/festival-gaim, modifico el Makefile y cambio el path de las voces del festival por /usr/lib/festival/voices/ hago un make y me copio el festival.so a la carpeta de los plugins gaim (/usr/lib/gaim)

Reinicio gaim y en las preferencias activo el plugin festival, y mas abajo en la configuracion me aparecen las voces instaladas, entre las que se encuentran las es1 y es2 pero si las selecciono no me hace nada.

Y ahi me he quedado.

Posiblemente en la ebuild mereceria la pena quitar la us1, y modificar :

```
FESTLIB=/usr/lib/festival/voices/english
```

y cambiarlo por el apropiado spanish al final. quizas asi funcione, ahora lo pruebo pero si a alguien se le ocurre algo q lo diga ahora  :Smile: 

----------

