Old:Debian e sintesi vocale: installazione di festival e mbrola

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
Emblem-important.png 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