Script jingle-reemisiones.sh para anunciar fecha de programa a emitir: Paquetes necesarios: los 3 de ircha (ircha_1.0.1-1_i386.deb mbrola-es1_3.0.1h_i386.deb mbrola_3.0.1h_i386.deb), y el modulo de soma soma-run_X.X.deb. --------- Tambien podria utilizar festival en vez de ircha, en cuyo caso serian necesarios los paquetes festival festlex-cmu festlex-poslex festvox-ellpc11k festvox-kallpc16k libestools1.2, y ademas una configuracion adecuada del sistema (porque a priori festival tiene menor volumen y peor calidad de "vocalizacion"). Otra posibilidad seria utilizar Espeak, con el comando 'espeak -ves "$texto_a_leer"'. Pero este suena aun peor, con una voz muy metalica. La ventaja que tiene sobre festival es que es mas pequeño de instalar, menos paquetes y mas pequeños. Yo he instalado los paquetes: espeak espeak-data y libportaudio2. --------- Ademas, se necesita el script jingle-reemisiones.sh (que es donde estan las ordenes de que sonidos emitir, y que textos "leer") y archivos de sonido: jingle-reemisiones1.ogg, jingle-reemisiones2.ogg, jingle-reemisiones3.ogg. jingle-reemisiones.sh es un script para el modulo de soma soma_run. Esta instalado en /usr/local/bin/jingle-reemisiones.sh, y es llamado por la parrilla de soma (palinsesto) cuando se va a reemitir un programa. Para ello en /etc/somad/palinsesto.cfg hay que poner en la transmision de la reemision del programa: module soma_run.so /usr/local/bin/jingle-reemisiones.sh Nombre_Programa.ogg El resto de datos se utilizaran los normales de una transmision de reemision (start y stop de 1 minuto de duracion y sofstop activado, para que si existe el programa se emita completo, y si no solo haya un minuto de silencio), excepto que no es necesario definir ningun archivo para emitir (no hay nada en ) porque no es una transmision files, sino module El script utiliza el nombre del archivo del programa a reemitir (no precisa poner el path completo, porque ya esta puesto en el script) para leer en voz alta el nombre del programa a reemitir y para sacar la fecha original de emision del programa (del tag vorbis "date", si existe, y si no de la fecha de modificacion del archivo, lo cual es menos seguro). El script emite los archivos de audio indicados anteriormente uno detras de otro y con lo que lee en voz alta entre medio, para crear asi el jingle inicial de la reemision. Con esto, la transmision sera completamente del tipo: 1º Jingle que anuncia la reemision, con las siguientes partes: 1.1. Sonido que dice que es una reemision del programa... 1.2. Ircha lee "$Nombre_Programa" 1.3. Sonido que dice "que fue emitido el dia" 1.4. Ircha lee "$Fecha del programa" 1.5. Sonido de cortinilla: "Garraxi Irratia 101.9 FM" 2ª Reemision del programa. ---------------------------- IRCHA (http://www.telefonica.net/web2/ircha/) + MBROLA (http://tcts.fpms.ac.be/synthesis/mbrola.html) (Paquetes bajados de la web de ircha, pero la version de mbrola en su propia web parece ser la misma): sudo dpkg -i ircha_1.0.1-1_i386.deb mbrola-es1_3.0.1h_i386.deb mbrola_3.0.1h_i386.deb lee "esto es una prueba" lee "Una lástima, pero llegó la 28ª" (Aqui ircha es mejor porque lee vigesimooctava, y festival no). Ircha tambien interpreta los simbolos de exclamacion, pregunta... ademas de los numeros ordinales, cuando festival no puede hacerlo (ambos lo hacen bien en los numeros normales). Otro consejo, escribir bien los puntos de ortografia, por ejemplo los puntos de final de frase, de manera que ircha pronuncia distinto si lo pones (entona como acabando la frase) que si no (deja la frase como en suspenso, no entona el final de frase). Esta posibilidad parece no tenerla festival, que parece entonar igual las frases con punto al final o sin punto. lee `export LANG=es_ES && date +"%A%e de %B de %Y"` lee `export LANG=es_ES && date -r cunya-ahtezgunea.ogg +"%e de %B de %Y"` (esto lee la fecha del archivo en formato "24 de noviembre de 2006") Para que no mande el output de sox a la consola: lee `export LANG=es_ES && date -r cunya-ahtezgunea.ogg +"%e de %B de %Y"` 2> /dev/null El volumen de la voz de ircha es algo mayor que el de festival. Ademas, en el script /usr/share/ircha/lee.pl (escrito en perl) hay definida (linea 14) la variable $volumen que permite cambiar el volumen de la voz entre 1 (bajo) y 8 (fuerte) y esta por defecto a 3. Lo pongo a 8 de manera que en fundy el volumen de mplayer en consola y el de ircha es aparentemente el mismo. Otra cosa que se puede cambiar en /usr/share/ircha/lee.pl es el tempo, la velocidad a la que lee las palabras. Por defecto esta a 0.8 y cuanto mas pequeño es el numero mas rapido lee. A mi me parece que es demasiado rapido y lo pongo a 0.9. El valor 1 se considera el normal, segun un comentario en el script, pero me parece demasiado lento. Ircha permite tener un diccionario donde le indiques como tiene que leer determinadas palabras. Tambien hay una banlist de palabras "ofensivas" que no puede leer. Ambos estan en /usr/share/ircha. La sintaxis de diccionario es: 1º columna: palabra original, 2º columna: como debe sonar (columnas separadas por tabulador). La de banlist es simplemente una columna con las palabras a banear. Entre ellas esta sexo, asi que la quito del fichero. Los anteriores ficheros son para todo el sistema. Para usarlos per'user estaran en (ver script /usr/share/ircha/ircha.pl: $configfile: ~/.ircha/ircha.conf $diccionario: ~/.ircha/diccionario $banlistfile: ~/.ircha/banlist Para añadir nuevos fonemas e indecarle como se leen, por ejemplo en euskera la tx, ir a /usr/share/ircha/ttp.pl y añadirlos a partir de la linea 230, en la funcion @txt2fonema. El orden en que se introducen NO es arbitrario, segun dice un comentario, de manera que los primeros fonemas de la lista tienen prioridad sobre las mismas letras que aparecen posteriormente. Yo he añadido: ['tx', 'C'], #MARTINTXO: euskal tx = ch (txoko = "choko") Guardar el output de ircha en un archivo mp3 (con lame) (para ogg substituir lame por ogencoder): echo "hola mundo" | lee | mbrola -v 3 -t 0.8 /usr/share/ircha/es1/es1 - -.wav | lame - salida.mp3 Otras opciones de mbrola (de 'mbrola -h'): USAGE: mbrola [COMMAND LINE OPTIONS] database pho_file+ output_file A - instead of pho_file or output_file means stdin or stdout Extension of output_file ( raw, au, wav, aiff ) tells the wanted audio format Options can be any of the following: -i = display the database information if any -e = IGNORE fatal errors on unkown diphone -c CC = set COMMENT char (escape sequence in pho files) -F FC = set FLUSH command name -v VR = VOLUME ratio, float ratio applied to ouput samples -f FR = FREQ ratio, float ratio applied to pitch points -t TR = TIME ratio, float ratio applied to phone durations -l VF = VOICE freq, target freq for voice quality -R RL = Phoneme RENAME list of the form a A b B ... -C CL = Phoneme CLONE list of the form a A b B ... -I IF = Initialization file containing one command per line CLONE, RENAME, VOICE, TIME, FREQ, VOLUME, FLUSH, COMMENT, and IGNORE are available Si hay problemas de codificacion (iso-8859-1 <-> utf8) se puede utilizar un conversor de codificaciones, ejemplo: lee $( echo "Hola, niño" | iconv -f utf-8 -t iso-8859-1 ) Para leer un archivo de texto: lee $( cat ~/festival-ircha-info.txt )