Piccola guida alla sintesi vocale su linux
Gianluca Moro
In questo documento intendo riportare i passi seguiti per installare
un sistema di sintesi vocale su linux: le operazioni sono state eseguite
su un sistema Linux Fedora Core 3; per osservazioni contattate
l'autore giammy@giammy.com
1 Mbrola
Mbrola rappresenta un sistema di sintesi vocale a partire da
fonemi base: non si tratta dunque di un sistema TTS (Text To Speech),
in grado cioè di avere un testo come input e leggerlo a
voce alta. L'approccio scelto è molto più flessibile:
il sistema consente di definire un dizionario di fonemi,
descrivendone la pronuncia. La potenza del sistema sta proprio
nel fatto che sono diponibili molti dizionari diversi, sia
per lingua, che, all'interno della stessa lingua, per tipo
di voce.
Sono al momento in cui scrivo disponibili una trentina di
dizionari diversi, tra cui inglese e italiano: la possibilità
di gestire più lingue diverse era uno degli obiettivi del progetto:
gli autori sono:
``TCTS Lab of the Faculté Polytechnique de Mons (Belgium)'',
come licenza, l'utilizzo è libero ``non-commercial, non-military purposes''
1.1 Installazione
2 Festival
Una volta che mbrola è funzionante si tratta di installare
un sistema per la traduzione del testo in fonemi: Festival
http://www.cstr.ed.ac.uk/projects/festival/ è un
sistema di questo tipo, per cui sono state sviluppate
le voci italiani, compatibili con mbrola (da parte di
un gruppo dell'Università di Padova e del CNR).
2.1 Installazione
-
Scaricare i file necessari
(rispetto a quanto descritto nel file INSTALL,
c'e' la versione 1.95 nel sito indicato) dal sito:
http://www.cstr.ed.ac.uk/downloads/festival/1.95/
-
festival-1.95-beta.tar.gz
- speech_tools-1.2.95-beta.tar.gz
- festlex_CMU.tar.gz
- festlex_OALD.tar.gz
- festlex_POSLEX.tar.gz
- festvox_cmu_us_awb_arctic_hts.tar.gz
- festvox_don.tar.gz
- festvox_kallpc16k.tar.gz
- festvox_kedlpc16k.tar.gz
- festvox_rablpc16k.tar.gz
Espanso tutto nella directory di lavoro: crea 2 directory:
speech_tools e festival.
- Scaricare la voce compatibile con Festival in italiano dal
sito seguente
http://www.pd.istc.cnr.it/FESTIVAL/home/default.htm
sul link ``FULL DOWNLOAD''
(scarica il file Italian-FESTIVAL.zip)
unzipparlo nella stessa directory di lavoro (festival)
- Prima si compila speech_tools:
cd speech_tools
./configure
gmake
gmake test
- poi si compila festival:
cd festival
./configure
gmake
gmake test
- Per provarlo: lanciare bin/festival
(apre un interprete scheme: dare il seguente comando)
(SayText "Hello World")
o lanciare il comando
# echo chao | ./festival --tts
Se il computer dice Hello World, siamo a cavallo,
se no siamo a piedi ...
- Se siamo a cavallo, cerchiamo di parlare italiano!
- copiare l'eseguibile mbrola in festival/lib/etc/unknown_RedHatLinux/mbrola
- copia la directory della lingua it3 in
festival/lib/voices/italian/pc_mbrola/it3/
- Aggiungere al file festival/lib/siteinit.scm:
(set! voice_default 'voice_pc_mbrola)
- testarlo, tramite i comandi
festival> (voice\_pc\_mbrola)
festival> (SayText "gera ora che te disessi chelcossa")
ovvero
echo "gera ora che te disessi chelcossa" | festival --tts
3 Emacspeak
Si tratta ora di integrare questo sistema in modo da usarlo
negli applicativi: per ora ho testato solo Emacspeak,
una estensione di Emacs, che consente di far leggere al
computer quanto mostrato a video.
Ho provato EMacspeak con un server per comunicare con Festival,
scaricato da CVS con i seguenti comandi:
cvs -d:pserver:anonymous@cvs.espeakf.sourceforge.net:/cvsroot/espeakf login
cvs -z3 -d:pserver:anonymous@cvs.espeakf.sourceforge.net:/cvsroot/espeakf co espeakf
ed installato, settando anche le 2 variabili DTK*:
make install
export DTK_TCL=perl
export DTK_PROGRAM=espeakf.pl
per testarlo ho lanciato il programma (che era già installato
nella Fedora)
# emacspeak
Il programma legge quanto viene mostrato nella finestra dell'editor.
4 Da fare
Testare KDE 3.4, che dovrebbe integrare sintesi e riconoscimento
vocale nel desktop.
5 Riferimenti
Ho trovato alcuni riferimenti ad altro software, che devo ancora provare:
- http://www.telenovela-world.com/ spade/linux/howto/Accessibility-HOWTO/visual.html
con molti altri link
- http://www.linux-speakup.org/
altri progetti
-
http://applications.linux.com/applications/05/01/18/2148234.shtml?tid=39
un articolo che descrive vari progetti
This document was translated from LATEX by
HEVEA.