Provato Festival su Maverick 10.10, TextToSpeech da terminale

3:36 am Appunti Cerebrali, Ubuntu

Mentre cercavo un software per il riconoscimento vocale tipo Simon mi sono imbattuto in Festival che permette di leggere testi. Non è quello che cercavo, ma la curiosità mi ha spinto a provarlo. Premesso che il gioco non vale la candela perché è tutto da console e la qualità audio è buona, ma non eccelsa.

Prima di tutto bisogna scaricare i pacchetti del programma e per fare prima andiamo in gestore pacchetti e scriviamo festival in alto a destra dentro il modulo Cerca:

Mettete il segno di spunta su festival, in automatico verranno risolte le dipendenze. Selezionare anche i seguenti pacchetti per le voci italiane:

festvox-italp16k
festvox-italpc16k

rispettivamente voce femminile e maschile

Già che ci siete installate anche il pacchetto

recode

servirà per i testi accentati

Fate Applica.

Ok il programma è installato

Per farlo funzionare con Pulseaudio si deve modificare un file in questo modo:

sudo gedit /usr/share/festival/festival.scm

ok andate in fondo al testo e incollate questa stringa:

(Parameter.set 'Audio_Method 'esdaudio)

Salvate e chiudete.

Ora per provare festival ci sono più sistemi sempre da terminale.

Il programma si lancia da terminale con

festival

l’output sarà:

festival>

ora prima di tutto impariamo a uscire dal programma:

festival>(quit)

si scrive (quit) e si preme Enter, le parentesi sono fondamentali altrimenti il comando non funziona e non vi fa uscire.

Di default la lingua impostata è quella inglese, ma avendo installato anche l’italiana ecco come selezionarla e farla parlare:

festival>(voice_pc_diphone)
pc_diphone
festival>(SayText "ciao ecco una prova di lettura")
#<Utterance 0xb7010e08>

se volete utilizzare quella femminile:

festival> (voice_lp_diphone)
lp_diphone
festival> (SayText "ciao ecco una prova di lettura")
#<Utterance 0xb6e89978>

Ok, questo non è certamente un sistema pratico però è per familiarizzare con il programma. Per far leggere una frase o un testo senza dover fare tutte le volte questa menata basterà digitare in console:

echo "Ciao ecco un'altra prova" | festival --tts

la voce però sarà quella inglese, per attivare di default quella italiana m o f si devono creare due file nella cartella home personale, saranno due file nascosti:

.festivalrc
.festivalvarsrc

Ho visto che però ne basta anche uno solo.

Per crearlo copiate e incollate questo comando nel terminale:

echo "(set! voice_default  voice_lp_diphone)" > .festivalrc

in questo modo avrete di default la voce femminile, se volete quella maschile modificate il file .festivalrc cambiando voice_lp_diphone con voice_pc_diphone

Se usate festival ricordate che tutto quello che digiterete resterà annotato nel file storico (nascosto premere CTRL+H) di festival nella vostra home:

.festival_history

Ecco come far leggere un testo

festival --tts /home/utente/Documenti/testoprova.txt

p.s. ho notato che se incontra delle lettere accentate il programma si interrompe. Cercherò di capire come risolvere anche se vista la scomodità dell’utilizzo conviene attendere e scegliere qualcosa con una GUI decente.

Aggiornamento: Ho trovato un sistema per risolvere il problema degli accenti su questo sito:

1 – si converte il file txt con recode

recode utf8..lat1 testo_da_convertire.txt testo_convertito.txt

2 – oppure nella stringa per lanciare festival si aggiunge il parametro di conversione testo

echo “Perché è così complicato?” | recode utf8..lat1 | festival --tts

In questo modo funzionano anche gli accenti

Se non vi piace Festival perché troppo complesso, in effetti…, potete utilizzare espeak. Se trovo qualcosa di interessante lo posterò nel blog.

Usate Gespeak che è un front-end comodo per espeak, si installa da Ubuntu Software Center. In aggiunta, chi vuole può installare anche mbrola da Gestione Pacchetti per avere più scelte di lingua italiana. Nulla di incredibile, siamo ancora lontani dalla qualità che sto cercando.

Leave a Comment

Your comment

Codice AntiSpam - Completa l'operazione inserendo il numero appropriato (in numero)

Time limit is exhausted. Please reload the CAPTCHA.

You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.