Text To Speech

soundPer chi ha poca familiarità con l'inglese, "Text to speach" lo si può tradurre come "dal testo al parlato".
Mi sono accorto di avere un icona in kde del programma KTTSMgr che non avevo chiaro cosa fosse e quindi ho guardato il manuale: KTTS è il sistema di pronuncia di KDE.
E in particolare "KTTS vuole essere l'implementazione dell'API di pronuncia di KDE".

L'icona permette di fare alcune azioni, in particolare di "pronunciare" quello che si trova negli appunti.
Selezionando quindi del testo e cliccando su "Pronuncia il contenuto degli appunti", il computer parlerà!

Spinto dalla curiosità mi sono chiesto come inserire negli script la possibilità di parlare.
Ho provato con

echo "qualcosa" | speech-dispatcher

Ma non ha funzionato. Speech-dispatcher è il programma sul quale si basa KTTS ma usa d-bus come protocollo di comunicazione quindi non ho idea di come fare ad usarlo in un semplice script bash.

Cercando su internet ho trovato un filmato molto simpatico ed interessante che ha risposto alla mia domanda:

echo "qualcosa" | festival --tts --pipe

Nel filmato fanno la stessa cosa che fa KTTMgr: pronunciare una selezione di testo semplicemente tramite una pipe:

xsel | festival --tts --pipe

xsel è un programma che passa nell'output standard la selezione che avete fatto in una applicazione grafica (la x sta per server x window, e 'sel' per 'selezione').
Le opzioni di festival sono ovvie: --tts (text to speach)  --pipe (leggi da una pipe).

Potete naturalmente leggere da un file di testo (da input standard ad essere precisi):

festival --tts < /tmp/prova.txt

Una cosa bella di KTTS è la possibilità di cambiare alcuni parametri da gui, come la velocità del parlato, machio/femmina etc.
La stessa cosa la si dovrebbe ottenere creando il file ~/.festivalrc e sapendo cosa metterci dentro :-)

Se siete su una debian o derivata, per installare festival basta

aptitude install festival-italian festival

Installando anche il pacchetto italiano, possiamo scrivere

festival --tts --language italian < /tmp/prova.txt

Per sentire una pronuncia migliore.