Watson Text-to-Speech vs. Google Cloud Text-to-Speech, ecco com’è andata

Qualche giorno fa ho pubblicato un articolo dedicato al nuovo servizio di text-to-speech basato su WaveNet offerto da Google. Com’è andata? Una bomba. Ho così deciso di far girare un po’ l’articolo, soprattutto per ricevere dei feedback e capire se c’è un servizio che se la cava meglio.

In tanti mi hanno consigliato di dare uno sguardo a IBM Watson e al mondo che ci gira intorno. Così ho scoperto che anche IBM ha la sua API di Text-to-Speech.

Perché non provarla?

Qualche dato in più su IBM Watson Text-to-Speech ed una prima prova

Come facilmente immaginabile (accade un po’ per tutti i progetti di questo tipo), le feature che vengono proposte sul sito non risaltano in modo particolare. Abbiamo infatti:

  • voci personalizzabili;
  • svariate lingue supportate (anche l’italiano, che ho provato ma il cui risultato non è assolutamente al livello di altre lingue);
  • possibilità di dare un certo tipo di “espressività” ad una specifica frase tramite SSML;
  • svariati formati audio per l’output (WAV, FLAC, MP3 ed altri);

… e così via. Insomma, fa il suo dovere ma non spicca, ecco. Almeno questo è quello che traspare dall’about page del progetto.

Così ho fatto il passo successivo e mi sono detto: “va bene, facciamo una prova e creiamo un file audio dallo stesso paragrafo usato nelle mie altre prove”.

Che, ricordo, è questo:

Cisco, a worldwide leader in IT and networking, is developing a method of confidential group communications based on Blockchain technology, according to a patent application released by the US Patent and Trademark Office (USPTO) March 29.

Sono così andato sulla pagina delle demo e via, generato! Ecco il risultato:

Questo (per confronto) è invece lo stesso testo sintetizzato con Google Cloud TTS:

Ecco cosa ne penso, papale papale:

  • sicuramente meglio di Polly, la voce mi è sembrata più espressiva e più realistica in svariati passaggi. Non esiste confronto invece con Google Cloud TTS. Siamo ancora indietro;
  • nella sintesi il sistema tende a mangiarsi alcune parole in modo sbagliato. In particolare ho notato le due sigle (IT ed USPTO) venire steccate entrambe;
  • il file generato finale è di 138kB, molto più piccolo del prodotto sintetizzato da Google e poco più grande rispetto a quello di Polly;
  • il pricing model è leggermente diverso rispetto ai concorrenti. Ha un piano lite molto piccolo (10000 caratteri/mese) ed uno standard plan che parte con 1 milione di caratteri in free tier (comunque ben lontani dai 5000000 al mese di Polly). Dopodiché ogni 1000 caratteri aggiuntivi vengono $0.020.  Il che significa che 1 milione di caratteri vengono $20 dollari;

Conclusioni (anticipate)

Onestamente? Non mi convince. Ne ho viste un bel po’ di meraviglie fatte da Watson: il TTS non è una di queste. Questo servizio, tra gli altri due, si piazza ad un secondo posto. Primo Google, secondo questo e terzo AWS Polly. Tant’è che non ho voluto farci uno script di prova, anche se su GitHub comunque se ne trovano un bel po’.

Non è mai detta l’ultima parola comunque: fino a qualche giorno fa pensavo che il migliore in assoluto fosse Polly, poi mi sono dovuto ricredere con Google Cloud TTS. Le offerte delle piattaforme cloud sono in continuo mutamento e la concorrenza aiuta.

Nel frattempo, tengo le orecchie aperte per eventuali novità. Se IBM dovesse tirar fuori qualcosa di nuovo dal cilindro, sarò ben felice di scriverci un altro articolo!