Le origini della sintesi vocale ovvero delle soluzioni e delle tecnologie per la riproduzione artificiale della voce umana, si perdono nella notte dei tempi. Basti pensare che molto tempo prima dell'”era informatica”, addirittura tra il X e il XII secolo, alcuni ricercatori tentarono di costruire macchine per generare la voce umana. Le prime ricerche sulla sintesi vocale risalgono agli anni ’60, quando i ricercatori iniziarono a esplorare modelli matematici e regole avvalendosi di dispositivi elettronici. Nel 1961 i fisici John Larry Kelly, Jr e Louis Gertsman utilizzarono un computer IBM 704 per sintetizzare la voce presso gli storici Bell Labs. Al 1968 viene invece fatto risalire il primo sistema di sintesi vocale text-to-speech (da testo a voce) completo.
Un motore TTS (Text-to-Speech) o sintetizzatore vocale è un sistema che converte il testo scritto in un output vocale artificiale. Utilizzando algoritmi e tecnologie avanzate, un motore TTS analizza il testo input e lo traduce in una voce sintetizzata che può essere ascoltata. Un buon motore TTS analizza il testo ricevuto in ingresso suddividendolo in unità linguistiche più piccole, come parole, frasi o fonemi: durante questa fase, vengono applicate regole linguistiche e di intonazione per ottenere una pronuncia corretta e naturale.
Utilizzando modelli acustici predefiniti o il machine learning, il motore TTS determina le caratteristiche vocali specifiche per la voce sintetizzata: tono, timbro, intonazione, velocità e altri attributi che conferiscono personalità all’output generato.
A questo punto la sintesi della voce avviene combinando porzioni pre-registrate di parlato oppure attraverso la generazione di suoni artificiali accoppiati in base alle proprietà vocali.
I recenti sviluppi nel campo delle reti neurali e in generale dell’intelligenza artificiale hanno portato a miglioramenti significativi nella qualità e nella naturalezza delle voci sintetizzate, rendendo l’esperienza di ascolto sempre più realistica.
Text-to-speech Bark: cos’è e come funziona
Tra i motori TTS più rivoluzionari che sono stati presentati da alcuni anni a questa parte c’è sicuramente Bark: si tratta di uno strumento che utilizza un articolato e completo modello generativo per trasformare testo in parlato. L’approccio è altamente realistico in quanto gestisce testi multilingue (supporta l’italiano) e permette di aggiungere in output effetti audio accessori, tra cui musica, rumore di fondo e altri suoni. Gli utenti di Bark possono addirittura produrre comunicazioni non verbali come risate, sospiri e pianti, a conferma di quanto lo strumento si renda versatile per un ampio ventaglio di applicazioni, utilizzi business compresi. Che vogliate creare podcast, audiolibri, suoni di videogiochi o qualsiasi altra forma di contenuto vocale, Bark può offrire una valida risposta.
Bark utilizza infatti modelli “GPT-like” per generare conversazioni in maniera automatica, producendo voci altamente espressive ed emotive in grado di catturare sfumature come tono, intonazione e ritmo.
È possibile provare Bark gratuitamente sulla piattaforma Hugging Face: basta digitare il testo da convertire in parlato, selezionare le voci e la lingua preferita con la possibilità di aggiungere tra parentesi quadre stringhe come [laughter], [laughs], [sighs], [music], [gasps] per aggiungere vari effetti e far sì che vengano automaticamente presi in considerazione in fase di sintesi. Si possono anche inserire esitazioni nella voce, pause e altre caratteristiche proprie di un dialogo nel “mondo reale”.
Alcuni esempi di output del motore TTS-AI di Bark rendono palese ciò che è possibile ottenere con questo strumento evoluto.
Bark è stato recentemente pubblicato su GitHub sotto licenza MIT: ciò significa che il motore TTS basato sull’intelligenza artificiale è disponibile per gli utilizzi commerciali, può essere integrato all’interno di progetti in linguaggio Python e può sfruttare sia CPU che GPU (richiede pytorch 2.0+, CUDA 11.7 e CUDA 12.0).
Sulle GPU più evolute e con le ultime versioni di PyTorch, Bark può generare audio in tempo reale o quasi; su GPU meno recenti il tempo necessario per la fase di inferenza potrebbe risultare notevolmente superiore. Se si utilizzassero schede video dotate di poca VRAM a bordo (meno di 4 GB) o CPU, gli sviluppatori suggeriscono di valutare l’uso di modelli di dimensioni più contenute. La versione completa di Bark richiede circa 12 GB di VRAM per lavorare completamente lato GPU; la direttiva SUNO_USE_SMALL_MODELS=True
consente di ripiegare su modelli più piccoli e più facilmente gestibili con hardware “più ordinario”.