Old:Debian e sintesi vocale: installazione di festival e mbrola
Attenzione. Questa guida è obsoleta. Viene mantenuta sul Wiki solo per motivi di natura storica e didattica. |
Introduzione
Festival è un software di sintesi vocale, sviluppato presso il "Centre for Speech Technology Research" dell'Università di Edinburgo. Il suo compito consiste nell'interpretare un input di tipo testuale e nel generare un output di tipo audio. Tipicamente il suo utilizzo è rivolto alle applicazioni di screen reading. È possibile far leggere a Festival un file di testo, o una pagina web. È anche possibile fare in modo che Festival ci avvisi vocalmente dell'arrivo di nuove e-mail, ecc.
Festival è disponibile pure con il supporto alla lingua italiana, anche se a dire il vero la qualità audio è davvero pessima. Senza voler competere con soluzioni professionali di alto livello qualitativo e costo adeguato, è però possibile utilizzare Festival in accoppiata con il software di sintesi vocale MBROLA, che dispone di audio di qualità migliore. Vedremo in questa guida come operare.
La distribuzione di riferimento per questa guida è Debian Lenny.
Festival
Installazione
Festival ed i pacchetti per l'audio italiano sono presenti negli archivi ufficiali, per cui provvediamo alla loro installazione tramite APT:
# aptitude install festival festvox-italp16k festvox-itapc16k
Configurazione
Ora è possibile procedere alla configurazione di Festival. Procediamo con la creazione di due file nella home del nostro utente: .festivalrc
e .festivalvarsrc
.
.festivalrc
Creiamo il file ed al suo interno inseriamo i seguenti comandi
(set! main-path "/usr/share/festival") (set! libdir main-path) (set! lexdir (path-append libdir "dicts"))
per la voce maschile:
(set! voice_default 'voice_pc_diphone)
per la voce femminile:
(set! voice_default 'voice_lp_diphone)
.festivalvarsrc
(set! main-path "/usr/share/festival") (set! load-path (cons main-path load-path))
Test
Ora possiamo provare Festival:
$ festival Festival Speech Synthesis System 1.4.3:release Jan 2003 Copyright (C) University of Edinburgh, 1996-2003. All rights reserved. For details type `(festival_warranty)'
Al prompt del programma diamo il comando:
festival> (SayText "Evviva Debian"); #<Utterance 0xb7746868>
Se tutto è andato bene, sentiremo la voce sintetica pronunciare la frase che abbiamo scritto.
MBROLA
MBROLA è un sintetizzatore vocale che dispone di un supporto per la lingua italiana di discreta qualità. Procederemo ora a installarlo.
Installazione
N.B. A paritre da Squeeze, sono diponibili numerosi pacchetti nei repository ufficiali Debian, sezione non-free
Aggiungiamo la seguente linea al nostro /etc/apt/sources.list
.
### MBROLA deb http://www.brlspeak.net/dev/debian/ stable main non-free
Ora facciamo l'update dell'archivio dei pacchetti e installiamo MBROLA:
# apt-get update # apt-get install mbrola
Scarichiamo anche il pacchetto che contiene la lingua italiana e i file necessari a integrare MBROLA in Festival:
$ cd ~ $ wget http://download.sourceforge.net/project/it-festival/it-festival/2.0/Italian-FESTIVAL-v2.0.zip
Configurazione
Dobbiamo ora scompattare il file zip e copiarlo nella directory corretta:
$ mkdir ~/mbrola $ cd ~/mbrola $ unzip ../Italian-FESTIVAL.zip
Al suo interno troviamo diversi archivi zip. Scompattiamoli uno ad uno e quindi impartiamo quest'altro comando (che provvederà a installare i file nella corretta directory di festival)
$ cd ~/mbrola/festival/lib # cp -Rf * /usr/share/festival
Aggiungere le voci in italiano
Ora siamo pronti a scaricare ed installare le voci in italiano per MBROLA. Procediamo con quella maschile
$ wget http://tcts.fpms.ac.be/synthesis/mbrola/dba/it3/it3-010304.zip
e quindi con quella femminile
$ wget http://tcts.fpms.ac.be/synthesis/mbrola/dba/it4/it4-010926.zip
Scompattiamole
$ unzip it3-010304.zip $ unzip it4-010926.zip
Con questi due comandi vengono create le directory it3
e it4
. Ora dobbiamo copiarle nella posizione corretta affinchè possano essere utilizzate da mbrola
# cp -R it3/ /usr/share/festival/voices/italian/pc_mbrola # cp -R it4/ /usr/share/festival/voices/italian/lp_mbrola
Festival e MBROLA
Test
Passiamo al test della nostra installazione. Avviamo festival da un terminale e impostiamo come voce quella italiana maschile fornita da mbrola
$ festival Festival Speech Synthesis System 1.4.3:release Jan 2003 Copyright (C) University of Edinburgh, 1996-2003. All rights reserved. For details type `(festival_warranty)' festival> (voice_pc_mbrola) pc_mbrola festival> (SayText "Evviva Debian!"); #<Utterance 0xb73d0ad8>
Per testare quella femminile, è sufficiente utilizzare il comando (voice_lp_mbrola)
in sostituzione di (voice_pc_mbrola)
.
Se riteniamo questa configurazione soddisfacente, possiamo renderla permanente editando nuovamente il file .festivalrc
sostituendo l'ultima riga:
(set! voice_default 'voice_pc_diphone) # maschile (set! voice_default 'voice_lp_diphone) # femminile
con la corrispondente
(set! voice_default 'voice_pc_mbrola) # maschile (set! voice_default 'voice_lp_mbrola) # femminile