[Soci SLIP] google: text-to-speech davvero eccezionale

loredana llcfree a gmail.com
Sab 31 Ago 2013 15:12:03 CEST


Oggi ho scoperto che il servizio di traduzione di google puo' essere
usato come sintetizzatore vocale. La qualita' e' sorprendente (se solo
avete mai provato festival o espeak non c'e' paragaone).

Provate, ad esempio:

https://translate.google.com/translate_tts?tl=it&q=%22davvero%20ottimo%
22

Quello che fa, e' richiamare un servizio che gira sul server
translate.google.com e che si chiama translate_ttl con due parametri
(quelli che seguono il ?), tl=it (it sta per italiano, potete mettere,
per esempio, en per english) e (&) q="la stringa che volete fargli
pronunciare".  
%20 e' la codifica ascii dello spazio e %22 e' la codifica ascii delle
virgolette in html-ese (preceduta dal segno %). Di fatto, io avevo
scritto, nella barra degli indirizzi:

https://translate.google.com/translate_tts?tl=it&q="davvero ottimo"

la traduzione dei caratteri speciali avviene poi automaticamente
(vengono fuori, per esempio, quando fate copia e incolla, come ho fatto
io qui sopra).

Ovviamente dovete essere in rete ed avere l'audio acceso :)

C'e' un limite sulla lunghezza della stringa (credo sia un centinaio di
caratteri) ma la cosa interessante e' che si possono preparare degli
script e poi lanciarli da un'applicazione che gira in locale.
Ovviamente, dovrete sempre essere in rete, perche' il servizio vero e
proprio sta sul server di google ed e' totalmente controllato da google.

Qui c'e' un esempio di uno scritto bash:

#!/bin/bash

spd-say() { local IFS=+;/usr/bin/mplayer -ao alsa -really-quiet
-noconsolecontrols "http://translate.google.com/translate_tts?tl=it&q=
$*"; }

spd-say

(sono DUE righe, oltre a #!/bin/bash, fate attenzione che nella prima
non ci siano degli a capo e usate un editor di testo (non un word
processor). Siccome usa mplayer dovete aver installato mplayer, ma
potete modificare lo script per fargli usare qualsiasi altro plyeer,
ovviamente. spd-say lo trovate, in debian, nel pacchetto
speech-dispatcher

Potete salvarlo in un file (per esempio tts_it.sh), renderlo eseguibile 

chmod +x tts_it.sh

e poi lanciarlo da linea di comando o da un'applicazione cosi':

./tts_it.sh "davvero ottimo" 

per ottenere lo stesso risultato che avreste usando invece il browser.
Ovviamente, se sapete come si fa, potete ache aggiungere un bottoncino e
poi cliccare su quello per lanciare lo stesso script.  

Non e' il primo ne' l'ultimo text-to-speech, ma questo e' davvero
eccezioanle come qualita' tra quelli al momento gratis (non liberi,
libero e' tutt'altra cosa).

Immagino sia lo stesso servizio usato da android. Lo segnalo perche'
cosi' si capisce bene come funzionano queste cose che ci troviamo poi ad
usare tutti i giorni: ricordate che sempre piu' se vorrete qualcosa, lo
avrete solo piu' dalla rete. E' importante tenerlo a mente, perche' in
rete non siete mai soli come credete di essere. Agite respondabilmente
di conseguenza.

Loredana






Maggiori informazioni sulla lista Soci