Sintesi vocale

Da Wikipedia, l'enciclopedia libera.
Esempio di sintesi vocale realizzata con Vocoder (frase Somewhere in a future)
Esempio di sintesi vocale usata per l'accessibilità: la voce Festival Speech Synthesis da en:wikipedia convertita in audio tramite il programma txt2audio

La sintesi vocale (in inglese speech synthesis) è la tecnica per la riproduzione artificiale della voce umana. Un sistema usato per questo scopo è detto sintetizzatore vocale e può essere realizzato tramite software o via hardware. I sistemi di sintesi vocale sono noti anche come sistemi text-to-speech (TTS) (in italiano: da testo a voce) per la loro possibilità di convertire il testo in parlato. Esistono inoltre sistemi in grado di convertire simboli fonetici in parlato[1].

La sintesi vocale si può realizzare concatenando registrazioni di parti vocali memorizzate in un database. I vari sistemi di sintesi vocale si differenziano a seconda delle dimensioni dei campioni vocali memorizzati: un sistema che memorizza singoli fonemi o fonemi doppi consente di ottenere il numero massimo di combinazioni a discapito della chiarezza complessiva mentre in altri sistemi concepiti per un impiego specifico si ricorre alla registrazione di parole intere o di intere frasi per ottenere un risultato di qualità elevata. In alternativa, un sintetizzatore può incorporare un modello dei tratti vocali e di altre caratteristiche umane per creare una voce completamente di sintesi[2].

La qualità di un sintetizzatore vocale si valuta sulla base sia della somiglianza con la voce umana che con il suo livello di comprensibilità. Un programma di conversione da testo a voce con una buona resa può avere un ruolo importante nell'accessibilità, per esempio consentendo a persone con problemi di vista o di dislessia di ascoltare documenti scritti sul computer. Per questo tipo di applicazione fin dai primi anni ottanta molti sistemi operativi includono funzioni di sintesi vocale.

Meccanismo di base[modifica | modifica wikitesto]

Un sistema o motore di sintesi vocale è composto da due parti: una front-end e una back-end.

La parte front-end si occupa della conversione del testo in simboli fonetici mentre la parte back-end interpreta i simboli fonetici e li "legge", trasformandoli così in voce artificiale.

Schema di un sistema di sintesi vocale generico

Il front-end prevede due funzioni chiave: per prima cosa, viene eseguita un'analisi del testo scritto per convertire tutti i numeri, le sigle e le abbreviazioni in parole per esteso (es. il testo '2' viene convertito in 'due'). Questo fase di pre-elaborazione viene definita come normalizzazione o classificazione del testo (in inglese: tokenization). La seconda funzione consiste nel convertire ogni parola nei suoi corrispondenti simboli fonetici e nell'eseguire l'analisi linguistica del testo rielaborato, suddividendolo in unità prosodiche, ossia in proposizioni, frasi e periodi. Il processo di assegnazione della trascrizione fonetica alle parole è chiamato conversione da testo a fonema o da grafema a fonema (in inglese text-to-phoneme, TTP)[3].

La trascrizione fonetica e le informazioni di prosodia combinate insieme costituiscono la rappresentazione linguistica simbolica che viene utilizzata dal back-end per la conversione in suoni di tali informazioni ossia per il processo di sintesi vero e proprio.

Storia[modifica | modifica wikitesto]

Dispositivi meccanici[modifica | modifica wikitesto]

La macchina acustica-meccanica vocale di Von Kempelen (disegni del suo testo del 1791)

I ricercatori tentarono di costruire macchine per riprodurre la voce umana molto prima che fosse inventata la moderna elaborazione elettronica dei segnali (l'informatica): le prime apparecchiature furono costruite da Gerbert di Aurillac, Albertus Magnus e Roger Bacon, tra il X e il XIII secolo.

Nel 1779, lo scienziato danese Christian Kratzenstein, che si trovava a lavorare presso l'Accademia russa delle scienze, costruì modelli dell'apparato vocale umano che potevano riprodurre i cinque suoni lunghi delle vocali (ossia i suoni [a:], [e:], [i:], [o:] e [u:] secondo l'Alfabeto fonetico internazionale)[4]. A questi dispositivi seguì la Macchina acustica-meccanica vocale, un meccanismo a mantice realizzato dal viennese Wolfgang von Kempelen e descritto in un suo lavoro del 1791[5]. Questa macchina aggiungeva un modello delle labbra e della lingua consentendo così di sintetizzare oltre alle vocali anche le consonanti. Nel 1837 Charles Wheatstone produsse una "macchina parlante" basata sul progetto di von Kempelen, e nel 1846 Joseph Faber costruì l'Euphonia, in grado di riprodurre tra l'altro l'inno nazionale inglese. Il progetto di Wheatstone fu poi ripreso a sua volta nel 1923 da Paget.[6]

Negli anni trenta, i Bell Labs (Laboratori Bell) svilupparono il Vocoder, un analizzatore e sintetizzatore elettronico della voce comandato a tastiera con un risultato chiaramente intelligibile. Homer Dudley perfezionò ulteriormente questo apparecchio creando il VODER, di cui venne data una dimostrazione nel 1939 durante la Fiera Mondiale di New York[7].

Il ricercatore Franklin S. Cooper e i suoi colleghi dei Laboratori Haskins realizzarono alla fine degli anni quaranta il Riproduttore di sequenze, completato nel 1950. Di questo dispositivo furono realizzate diverse versioni di cui soltanto una è arrivata fino ai nostri giorni. Il dispositivo converte in suono le immagini dello spettro acustico della voce e fu proprio grazie a questo meccanismo che Alvin Liberman e i suoi colleghi scoprirono le caratteristiche acustiche alla base della percezione dei segmenti fonetici (consonanti e vocali).

Dispositivi elettronici[modifica | modifica wikitesto]

I primi sintetizzatori vocali elettronici ricreavano una voce molto metallica ed erano spesso incomprensibili; da allora però la qualità è aumentata costantemente e la voce prodotta dai moderni sistemi di sintesi vocale è talvolta indistinguibile dalla vera voce umana.

I primi sistemi di sintesi vocale basati su computer furono creati sul finire degli anni cinquanta e il primo sistema di sintesi vocale text-to-speech (da testo a voce) completo venne realizzato nel 1968. Nel 1961 i fisici John Larry Kelly, Jr e Louis Gertsman[8] utilizzarono un computer IBM 704 per sintetizzare la voce. Questo esperimento rappresentò uno dei momenti salienti dell'attività dei Bell Labs: il vocoder di Kelly riprodusse la canzone Daisy Bell, con l'accompagnamento musicale di Max Mathews. Lo scrittore Arthur C. Clarke si trovava casualmente ai Bell Labs in visita all'amico e collega John Pierce proprio nel momento di questa dimostrazione[9] e ne rimase impressionato al punto da riprendere la scena in uno dei momenti cruciali del suo romanzo 2001: Odissea nello spazio[10], facendo eseguire la stessa canzone al computer HAL 9000 mentre viene disattivato dall'astronauta Dave Bowman[11], scena che fu poi riprodotta fedelmente dal regista Stanley Kubrick nell'omonimo film.

Nonostante i successi ottenuti con i sintetizzatori elettronici, la ricerca sui sintetizzatori vocali di tipo meccanico non è stata abbandonata, specialmente in vista di un possibile impiego di tali sistemi per robot di tipo umanoide.[12]

Tecnologie di sintesi[modifica | modifica wikitesto]

Le qualità più importanti di una sintesi vocale sono la naturalezza e l'intelligibilità.

La naturalezza esprime quanto la voce sintetizzata si avvicina a quella umana mentre l'intelligibilità rappresenta la facilità di comprensione della voce sintetizzata. Un sintetizzatore ideale è allo stesso tempo naturale e intelligibile, nella realtà i sistemi di sintesi vocale approssimano tale comportamento tentando di ottimizzare entrambe le caratteristiche.

Le due tecnologie principali per la sintesi vocale sono la sintesi concatenativa e la sintesi basata sulle regole. Ciascuna tecnologia ha i suoi punti di forza e di debolezza: la scelta di quale utilizzare dipende tipicamente dal tipo di utilizzo finale della sintesi vocale.

Sintesi concatenativa[modifica | modifica wikitesto]

La sintesi concatenativa, come dice il nome, si basa sulla concatenazione ossia la combinazione di frammenti di voce registrati. In generale questa metodologia produce il risultato di sintesi più naturale, tuttavia la differenza tra le variazioni naturali della voce umana e le tecniche di frammentazione automatica delle forme d'onda può talvolta generare dei piccoli disturbi udibili. Esistono tre sotto-tipi principali di sintesi concatenativa.

Sintesi per campioni unitari[modifica | modifica wikitesto]

La sintesi per campioni unitari si appoggia su grandi database di voci registrate. Durante la creazione del database ogni emissione registrata viene frazionata in uno o più di questi segmenti: suoni isolati, sillabe, morfemi, parole, frasi e periodi completi. Normalmente la frammentazione impiega un riconoscitore di linguaggio modificato appositamente per eseguire un "allineamento forzato" a cui seguono interventi di correzione manuali basati su rappresentazioni visive del suono come le forme d'onda e gli spettrogrammi.[13] I campioni sonori vengono indicizzati nel database sulla base della frammentazione e di parametri acustici quali la frequenza fondamentale (tono musicale), la durata, la posizione all'interno della sillaba e i suoni adiacenti. Durante la sintesi in tempo reale l'emissione finale viene generata sulla base di un algoritmo di decisione ad albero pesato che identifica la "miglior sequenza" tra i campioni candidati scelti dal database.

Questo tipo di sintesi produce i risultati di maggior naturalezza perché riduce al minimo le operazioni di elaborazione digitale (digital signal processing, DSP) sui campioni registrati. Le elaborazioni digitali infatti spesso alterano la resa del suono sintetizzato rendendola meno naturale: alcuni sistemi usano tecniche DSP solo per ammorbidire le transizioni tra i campioni sonori in fase di concatenazione. I migliori sistemi a sintesi articolatoria producono un risultato che spesso è indistinguibile da una vera voce umana, specialmente in quei contesti in cui la conversione da testo a voce è stata ottimizzata per uno scopo specifico. Di contro, una naturalezza massima richiede normalmente l'impiego di database di dimensioni considerevoli, che in alcuni casi possono arrivare all'ordine dei gigabyte, equivalenti a qualche dozzina di ore di registrazioni vocali.[14] Inoltre, è stato accertato che gli algoritmi di selezione dei campioni possono scegliere segmenti che producono una sintesi non ideale (per esempio, con una pronuncia poco chiara delle parole minori) anche quando nel database è presente una scelta migliore[15].

Sintesi per difoni[modifica | modifica wikitesto]

La sintesi per difoni utilizza un database di suoni di dimensioni minime contenente tutti i difoni (transizioni tra suoni diversi) tipici di un determinato linguaggio. Il numero dei difoni dipende dalle caratteristiche fonetiche del linguaggio: per esempio, la lingua spagnola comprende circa 800 difoni mentre il tedesco ne conta circa 2500. Con questa tecnica viene memorizzato nel database un unico campione per ciascun difono. Durante l'elaborazione in tempo reale, ai difoni selezionati viene sovrapposta la prosodia della frase da sintetizzare usando tecniche DSP (digital signal processing) come la codifica lineare predittiva, PSOLA[16] (Pitch-Synchronous Overlap and Add) oppure MBROLA.[17] La qualità della voce risultante in genere è inferiore rispetto a quella ottenuta per sintesi articolatoria ma suona più naturale rispetto a quella ottenuta con la sintesi basata sulle regole. I difetti della sintesi per difoni consistono in piccoli stacchi tra i suoni, tipici del meccanismo di concatenazione, e in un effetto di voce metallica come nella sintesi basata sulle regole. In effetti, rispetto a queste tecniche la sintesi per difoni non presenta vantaggi significativi a parte la dimensione ridotta del database di appoggio. Per questo motivo l'impiego di questa tecnica per applicazioni commerciali è in fase di declino mentre continua a essere impiegata nella ricerca grazie alle molte implementazioni software gratuite disponibili.

Sintesi per applicazioni specifiche[modifica | modifica wikitesto]

La sintesi per applicazioni specifiche si basa sulla concatenazione di parole e frasi pre-registrate per generare emissioni complete. Si usa principalmente per applicazioni in cui i testi da sintetizzare sono limitati alle esigenze di un settore specifico, come per esempio gli annunci ferroviari o aeroportuali o le previsioni del tempo[18]. La tecnologia è semplice da implementare ed è in uso da tempo in applicazioni di tipo commerciale e in dispositivi tipo le sveglie parlanti o le calcolatrici con voce. La naturalezza di questi sistemi è molto elevata grazie al fatto che il numero di frasi componenti è limitato e riproduce molto fedelmente la prosodia e l'intonazione delle registrazioni originali.

D'altro canto, questi sistemi si limitano a riprodurre parole e frasi contenute nel loro database e possono sintetizzare solo le combinazioni predefinite, per cui non possono essere estesi per un uso generalizzato. Inoltre la legatura delle parole tipica del linguaggio naturale può essere causa di qualche problema a meno che non si tengano in considerazione tutte le possibili varianti. Per esempio, nella lingua francese molte consonanti finali sono mute ma se la parola successiva inizia per vocale allora devono essere pronunciate (liaison). Queste variazioni di pronuncia non possono essere riprodotte da un sistema di concatenazione semplice delle parole ed è necessario aumentarne la complessità per poterlo rendere adattabile al contesto.

Sintesi basata sulle regole[modifica | modifica wikitesto]

Illustrazione del 1846 riproducente l'Euphonia, macchina di sintesi vocale meccanica realizzata da Joseph Faber

La sintesi basata sulle regole non utilizza campioni della voce umana ma ricrea la voce per elaborazione basandosi su un modello acustico e per tale motivo viene detta anche sintesi per formanti. Questa tecnica consiste nella generazione di forme d'onda di cui si modulano alcuni parametri acustici come la frequenza fondamentale, i toni e i livelli di rumore. Anche molti sistemi di sintesi concatenativa usano alcuni componenti di questo tipo.

Molti sistemi di sintesi basata sulle regole generano una voce dal suono artificiale e molto metallico che non può essere scambiata per una voce umana. Questa tecnica di sintesi non ha però come obiettivo la massima naturalezza e presenta una serie di vantaggi rispetto alla sintesi concatenativa. La sintesi basata sulle regole infatti è decisamente intelligibile anche ad alte velocità, non presentando i piccoli stacchi acustici tipici dei sistemi a sintesi concatenativa: la sintesi ad alta velocità è molto usata per i sistemi di lettura dello schermo per l'uso dei computer da parte delle persone ipovedenti o persone affette da dislessia. Inoltre i sistemi di sintesi basata sulle regole sono gestiti da programmi di dimensione più contenuta non dovendo utilizzare un database di campioni vocali. Questa caratteristica ne consente l'impiego in sistemi embedded, dove la capacità di memoria e la potenza di calcolo del microprocessore possono essere limitate. Infine, i sistemi di sintesi basata sulle regole possono controllare tutti gli aspetti del linguaggio vocale, generando un'ampia varietà di prosodie e intonazioni e veicolando così non soltanto il contenuto del testo ma anche effetti emotivi e toni di voce.

Tra gli esempi di sintesi basata su regole con un controllo molto accurato dell'intonazione, sia pure non in tempo reale, si trovano i lavori svolti alla fine degli anni settanta per il gioco Speak & Spell prodotto da Texas Instruments e per le console di videogiochi prodotte da SEGA all'inizio degli anni ottanta.[19] Per questi progetti la generazione della corretta intonazione ha rappresentato una vera e propria sfida tecnologica i cui risultati non sono ancora stati eguagliati da nessun sistema di sintesi vocale in tempo reale.[20]

Sintesi articolatoria[modifica | modifica wikitesto]

La sintesi articolatoria ricorre a tecniche computazionali basate su modelli biomeccanici dei tratti vocali umani e dei loro processi di articolazione. Il primo sintetizzatore di tipo articolatorio impiegato su base regolare per esperimenti di laboratorio fu sviluppato a metà degli anni Settanta da Philip Rubin, Tom Baer e Paul Mermelstein dei Laboratori Haskins. Questo sintetizzatore, noto anche come ASY, si basava su modelli dei tratti vocali elaborati da Paul Mermelstein, Cecil Coker e altri negli anni sessanta e Settanta dai Bell Laboratories.

Fino a poco tempo fa i modelli di sintesi articolatoria non erano stati utilizzati per sistemi di sintesi commerciale. Un'eccezione significativa è il sistema basato su NeXT realizzato e commercializzato da Trillium Sound Research, un'azienda collegata all'Università di Calgary in cui si svolse gran parte della ricerca originale. Seguendo la sorte di molte delle applicazioni derivate da NeXT (che fu creata da Steve Jobs alla fine degli anni ottanta per poi fondersi con Apple Computer nel 1997), il software di Trillium venne reso disponibile sotto la licenza GNU e continua ad evolversi nel progetto gnuspeech. Questo sistema, commercializzato per la prima volta nel 1994, implementa una conversione da testo a voce di tipo completamente articolatorio tramite una guida d'onda o una linea trasmissiva che emula i tratti nasali e orali umani controllati dal "modello di regione distintiva" di Carré.

Sintesi Markoviana[modifica | modifica wikitesto]

La sintesi Markoviana è un metodo basato sul modello di Markov nascosto (HMM, Hidden Markov Model). In questa tecnica lo spettro di frequenze (tratto vocale), la frequenza fondamentale (sorgente vocale) e la durata (prosodia) della voce sono modellate simultaneamente tramite modelli nascosti di Markov. Gli stessi modelli nascosti di Markov generano le forme d'onda vocali basandosi su un criterio di massima verosimiglianza.[21]

Sintesi sinusoidale[modifica | modifica wikitesto]

La sintesi sinusoidale è una tecnica in cui la voce viene sintetizzata sostituendo i formanti con frequenze pure generate da forme d'onda sinusoidali.

Il primo programma di sintesi sinusoidale fu realizzato da Philip Rubin degli Haskins Laboratories negli anni Settanta per creare stimoli artificiali negli esperimenti sulla percezione. Questo programma fu utilizzato in seguito da Robert Remez, Philip Rubin, David Pisoni e altri per dimostrare che un ascoltatore può percepire un discorso come continuo anche in assenza dei tipici picchi vocali.[22]

Problematiche[modifica | modifica wikitesto]

Normalizzazione del testo[modifica | modifica wikitesto]

Il processo di normalizzazione di un testo raramente è univoco. Nei testi sono spesso presenti omografie, numeri e abbreviazioni che devono essere tradotti in una rappresentazione fonetica corretta. Nel caso delle omografie, parole che hanno la stessa rappresentazione testuale richiedono una pronuncia differente a seconda del significato e quindi del contesto, come per esempio nella frase "Ho gettato ancora l'ancora", dove l'omografo ancora deve essere pronunciato in due modi differenti con due significati diversi (Ho gettato ancóra l'àncora).

La maggior parte dei sistemi di conversione da testo a voce non sono in grado di generare una rappresentazione semantica del testo, in quanto i processi impiegabili per questo non sono sufficientemente affidabili, non ancora del tutto compresi o inefficienti dal punto di vista computazionale. Si ricorre piuttosto a tecniche di tipo euristico per individuare il modo corretto per risolvere le ambiguità, come per esempio tramite l'esame delle parole circostanti e le statistiche di frequenza d'uso.

Anche la scelta di come sintetizzare un numero rappresenta una problematica. Da un punto di vista di programmazione, convertire un numero in testo, come per esempio "1325" in "milletrecentoventicinque", è un'operazione semplice. Tuttavia, quando si deve contestualizzare correttamente un numero ci si trova di nuovo di fronte a un'ambiguità. "1325" può essere convertito come "milletrecentoventicinque" se si tratta di un anno o di una quantità, oppure in "uno tre due cinque" se si tratta di un codice numerico. Anche in questo caso, un sistema di conversione vocale può effettuare delle scelte basandosi sulle parole circostanti e sulla punteggiatura; alcuni sistemi consentono anche di specificare un contesto in modo da risolvere le ambiguità.

Allo stesso modo anche le abbreviazioni possono essere ambigue. Per esempio l'abbreviazione "ha" per ettaro deve essere distinta da "ha", voce del verbo avere. Ci sono casi anche più complessi: "S.Marco", "S.Antonio", "S.Rita" e "S.Stefano" usano tutti la stessa abbreviazione "S." che però deve essere resa rispettivamente con "San", "Sant'", "Santa" e "Santo". I sistemi di conversione dotati di front-end intelligente sono in grado di risolvere le ambiguità sulla base dell'apprendimento ma altri sistemi meno sofisticati operano ovunque la stessa scelta, con risultati che possono essere a volte privi di senso o addirittura comici.

Resa dei fonemi dal testo[modifica | modifica wikitesto]

I sistemi di sintesi vocale utilizzano due approcci fondamentali per determinare come si pronuncia una parola partendo dalla sua grafia, un processo noto anche come conversione testo-fonema o grafema-fonema (i linguisti usano il termine fonema per descrivere i suoni distintivi nell'ambito di una determinata lingua).

L'approccio più semplice è rappresentato dalla conversione basata sul dizionario, in cui il programma memorizza un dizionario di grandi dimensioni contenente tutte le parole di una lingua e la relativa pronuncia: la pronuncia corretta di ogni parola si ottiene individuandola nel dizionario e sostituendola con la pronuncia ivi memorizzata.

Il secondo approccio è rappresentato dalla conversione basata sulle regole, in cui alle parole si applicano le regole di pronuncia basate sulla loro grafia. Questo approccio è simile al metodo di apprendimento della lettura basato sul "suono" (fonica sintetica).

Ciascuno dei due approcci ha i suoi pro e i suoi contro. L'approccio basato sul dizionario è rapido e preciso ma non è in grado di fornire alcun risultato se una parola non è presente nel dizionario; inoltre, al crescere delle dimensioni del dizionario cresce anche la quantità di memoria richiesta dal sistema di sintesi. Dall'altra parte l'approccio basato sulle regole è in grado di funzionare con qualsiasi testo in ingresso ma la sua complessità aumenta anche considerevolmente via via che il sistema tiene conto anche delle irregolarità nelle regole di grafia o di pronuncia. Basta considerare casi come quello del nome latino "Gneo", dove il gruppo gn viene pronunciato g-n, con la g gutturale, invece che come un'unica nasale come in agnello. Di conseguenza, quasi tutti i sistemi di sintesi vocale scelgono in pratica di adottare una combinazione dei due approcci.

In alcune lingue, come nel caso della lingua spagnola o della lingua italiana, la corrispondenza tra il modo in cui si scrive una parola e la sua pronuncia è molto elevata per cui la determinazione della pronuncia corretta a partire dalla grafia risulta semplificata; in questi casi i sistemi di sintesi vocale utilizzano quasi esclusivamente il metodo basato sulle regole, limitando l'uso del dizionario a quella minoranza di parole, come i nomi di origine straniera, la cui pronuncia non è ovvia partendo dalla grafia. All'opposto, per linguaggi che presentano una corrispondenza molto bassa tra la grafia di una parola e la sua pronuncia, come per esempio avviene nella lingua inglese, i sistemi di sintesi vocale si appoggiano essenzialmente sui dizionari, limitando l'uso dei metodi basati sulle regole solo alle parole di uso non comune o alle parole non presenti nel dizionario.

Valutazione qualitativa[modifica | modifica wikitesto]

È molto difficile valutare in modo coerente i sistemi di sintesi vocale in quanto non esistono criteri universali di riferimento. La qualità di un sistema di sintesi vocale dipende in modo significativo dalla qualità non solo della tecnica usata per la produzione (che può utilizzare registrazioni analogiche o digitali) ma anche dagli strumenti e dal contesto di riproduzione, le cui differenze spesso possono compromettere l'esito della valutazione.

Recentemente comunque alcuni ricercatori hanno iniziato a usare come riferimento per la valutazione il common speech dataset sviluppato come progetto open source dalla Carnegie Mellon University[23].

Resa del contenuto emotivo[modifica | modifica wikitesto]

Uno studio realizzato da Amy Drahota e da altri ricercatori dell'Universita di Portsmouth, Regno Unito, pubblicato sulla rivista Speech Communication, ha evidenziato che gli ascoltatori sono in grado di determinare con un elevato grado di precisione se chi parla sta sorridendo oppure no[24]. Questo ha suggerito che l'identificazione dei tratti vocali che veicolano contenuto emotivo potrebbe essere utile nel rendere più naturale il risultato di una sintesi vocale.

Hardware dedicato[modifica | modifica wikitesto]

Un kit per la sintesi vocale elettronica prodotto da Bell System
  • Votrax
    • SC-01A (analog formant)
    • SC-02 / SSI-263 / "Arctic 263"
  • General Instruments SP0256-AL2 (CTS256A-AL2, MEA8000)
  • National Semiconductor DT1050 Digitalker (Mozer)
  • Silicon Systems SSI 263 (analog formant)
  • Texas Instruments
    • TMS5110A (LPC)
    • TMS5200
  • Oki Semiconductor
    • MSM5205
    • MSM5218RS (ADPCM)
  • Toshiba T6721A
  • Philips PCF8200

Sistemi operativi e dispositivi dotati di sintesi vocale[modifica | modifica wikitesto]

Microsoft Windows[modifica | modifica wikitesto]

I sistemi Windows impiegano una sintesi vocale basata su SAPI4 e SAPI5 che prevede anche un modulo di riconoscimento vocale (SRE, Speech Recognition Engine).

Nelle versioni di sistema operativo Windows 95 e Windows 98 SAPI 4.0 era disponibile come componente aggiuntivo di produzione esterna. Fu con Windows 2000 che venne aggiunto il programma Microsoft Narrator, un sistema di sintesi vocale disponibile direttamente per tutti gli utenti di un computer: una volta installato, tutti i programmi compatibili con Windows ne potevano utilizzare le funzionalità di sintesi vocale tramite menu appositi.

In Windows Vista, Windows 7 e Windows 8, lo strumento di sintesi vocale integrato è chiamato Assistente vocale.

Microsoft Speech Server è un pacchetto completo per la sintesi e il riconoscimento vocali, sviluppato per applicazioni di carattere commerciale come per esempio i call center.

AmigaOS[modifica | modifica wikitesto]

Il secondo sistema operativo a incorporare funzioni di sintesi vocale fu AmigaOS, introdotto nel 1985 da Commodore International che ne ottenne la licenza da una software house indipendente, la Don't Ask Software, ora Softvoice, Inc. Il programma realizzava un sistema completo di emulazione vocale, con voci maschili e femminili e meccanismi di enfatizzazione, resi possibili dalle caratteristiche avanzate della componentistica audio prodotta da Amiga.[25] Il sistema era suddiviso in un dispositivo parlante (narrator.device) e una libreria di traduzione (translator.library): un ulteriore software di Amiga, Speak Handler implementava un convertitore da testo a voce. AmigaOS gestiva il sistema di sintesi vocale come periferica hardware virtuale, di modo che un utente poteva ridirigervi anche l'uscita della console. Alcuni programmi prodotti da Amiga, come i suoi word processor, utilizzavano in modo massiccio questo sistema di sintesi vocale.

Linux[modifica | modifica wikitesto]

Esistono varie applicazioni di sintesi vocale per computer basati su sistemi operativi open source come GNU/Linux, fra i quali programmi a loro volta open-source come Festival Speech Synthesis System[26], che sfrutta la sintesi per difoni e può utilizzare un numero ridotto di voci; il progetto MBROLA; l'applicazione eSpeak[27]; gnuspeech, di Free Software Foundation, che usa la sintesi articolatoria[28].

Per i sistemi GNU/Linux esistono inoltre altri programmi commerciali di sintesi vocale.

L'ambiente desktop KDE dispone di tre programmi integrati tra loro e con il desktop: Ksayt, interfaccia di configurazione della piattaforma vocale, Kmouth che opera una sintesi vocale a partire da un testo scritto e Kttsmgr, gestore della pronuncia.

Internet[modifica | modifica wikitesto]

Allo stato attuale esistono parecchi applicativi e plugin per client di posta o navigatori internet in grado di leggere direttamente i messaggi di e-mail e le pagine web.

Alcuni software specializzati sono in grado anche di leggere i feed RSS. I lettori di RSS on line da un lato semplificano l'accesso all'informazione, consentendo agli utenti di ascoltare le loro sorgenti preferite e di convertirle in podcast, dall'altro sono disponibili praticamente per quasi tutti i PC collegati a Internet. Gli utenti possono scaricare i file audio così generati su dispositivi portatili, per esempio sotto forma di podcast e ascoltarli così a passeggio, praticando sport o andando al lavoro.

Un campo di applicazione che si sta estendendo è l'impiego della sintesi vocale per l'accessibilità tramite web, con i cosiddetti Talklet sviluppati dall'azienza inglese Textic. Con questi strumenti non è necessario scaricare un software apposito ma chiunque, per qualsiasi scopo, può accedere a funzioni di sintesi vocali direttamente via Internet usando un qualsiasi browser. Come in tutte le applicazioni basate sul web, i tempi di risposta dipendono essenzialmente dalle caratteristiche del collegamento Internet dell'utente finale[29] ma la facilità di accesso resta indubbiamente un punto di forza di questo approccio.

Altri[modifica | modifica wikitesto]

Apple Mac OS e Mac OS X[modifica | modifica wikitesto]

Apple fu la prima ad integrare la sintesi vocale nel sistema operativo dei propri computer, con il software MacIntalk, prodotto in casa nel 1984 e disponibile sui modelli Macintosh. All'inizio degli anni novanta Apple ne ampliò le funzionalità estendendo la conversione vocale del testo a tutto il sistema.

Con l'introduzione dei processori PowerPC, più veloci, vennero inclusi campioni di voce di qualità elevata insieme a un sistema di riconoscimento vocale, il che consentì un controllo fluido dei comandi. In tempi più recenti Apple ha aggiunto anche voci diverse, basate su campioni. Nonostante fosse iniziato come una curiosità, il sistema di sintesi vocale dei computer Macintosh ha finito per evolvere verso un programma di punta, PlainTalk, per il supporto completo per le persone con problemi di vista.

La conversione automatica del testo in parlato, denominata VoiceOver, è stata inclusa tra gli strumenti di accessibilità di serie nel sistema operativo Mac OS X 10.4 Tiger e potenziata nel successivo Mac OS X 10.5 Leopard, che supporta una voce di nome "Alex" che prevede anche la sintesi realistica della respirazione intermedia tra la pronuncia delle frasi, così come una comprensibilità migliorata per letture a velocità più rapida.

Sempre nell'ambito dei prodotti Apple, la tecnologia VoiceOver è stata integrata nell'iPod shuffle, che è in grado di "leggere" a voce alta le informazioni relative al brano in riproduzione a partire dalla terza generazione del prodotto.

Linguaggi di markup[modifica | modifica wikitesto]

Sono stati definiti alcuni linguaggi di markup per la resa del parlato utilizzando un formato di descrizione di tipo XML. Il più recente è l'SSML (Speech Synthesis Markup Language) che dal 2004 è una raccomandazione del W3C e di cui è in fase finale di standardizzazione la versione 1.1[31]. Tra i linguaggi di markup più vecchi rientrano tra gli altri JSML (Java Speech Markup Language) e SABLE: nonostante fossero stati entrambi proposti come base per uno standard, nessuno di essi ha avuto in realtà un'ampia diffusione.

I linguaggi di markup per la sintesi vocale non vanno confusi con i linguaggi di markup per i dialoghi: per esempio, VoiceXML oltre al markup per la conversione vocale prevede anche dei tag relativi al riconoscimento vocale, alla gestione dei dialoghi e alla composizione di numeri telefonici su comando vocale.

Applicazioni[modifica | modifica wikitesto]

Accessibilità[modifica | modifica wikitesto]

La sintesi vocale è da lungo tempo uno strumento di assistenza tecnologica di importanza vitale e la sua applicazione in questo campo è significativa e largamente diffusa in quanto elimina barriere ambientali per un'ampia gamma di problematiche. L'applicazione più longeva è quella dei lettori di schermo per persone con problemi alla vista ma la sintesi vocale si usa oggi anche per aiutare persone affette da dislessia o da altri problemi di lettura e per i bambini in età prescolare. Questi sistemi si usano anche a sostegno di persone con gravi problemi vocali o di fonazione, di solito in accoppiata con dispositivi dedicati per la comunicazione vocale (VOCA, "Voice Output Communication Aid").

Trasporti[modifica | modifica wikitesto]

Nei luoghi come gli aeroporti e le stazioni ferroviarie la sintesi vocale viene usata per effettuare le comunicazioni di servizio ai passeggeri.

Nei navigatori GPS, la sintesi vocale viene usata per dare le indicazioni di direzione al guidatore.

Notiziari[modifica | modifica wikitesto]

Alcuni siti di notizie come Ananova utilizzano la sintesi vocale per convertire i bollettini informativi in audio per applicazioni di tipo mobile.

Tempo libero[modifica | modifica wikitesto]

Le tecniche di sintesi vocale trovano impiego anche nell'industria del tempo libero, in particolare nella produzione di videogiochi, anime, manga e simili. Nel 2007 Animo Limited ha annunciato lo sviluppo di un pacchetto applicativo basato sul suo programma di sintesi vocale FineSpeech, concepito specificamente per le industrie produttrici di videogiochi e anime in grado di generare racconti e dialoghi secondo le specifiche dell'utente.[32] Il pacchetto ha trovato applicazione nel 2008, quando Biglobe, controllata di NEC, ha annunciato la disponibilità di un servizio web che consente agli utenti di creare frasi usando le voci dei personaggi di Code Geass: Lelouch of the Rebellion R2.[33]

Esistono anche programmi per la produzione musicale, come per esempio Vocaloid, in grado di generare voci cantanti a partire da testi e melodia. Questo è anche l'ambito del progetto Singing Computer che usa il software open-source GPL Lilypond e il sistema di sintesi vocale Festival, con lo scopo di aiutare le persone non vedenti nella creazione e stesura di testi di canzoni.[34]

Note[modifica | modifica wikitesto]

  1. ^ (EN) Jonathan Allen, M. Sharon Hunnicutt, Dennis Klatt, From Text to Speech: The MITalk system. Cambridge University Press: 1987. ISBN 0-521-30641-8
  2. ^ (EN) Rubin, P., Baer, T., & Mermelstein, P. (1981). An articulatory synthesizer for perceptual research. Journal of the Acoustical Society of America, 70, 321-328.
  3. ^ (EN) P. H. Van Santen, Richard William Sproat, Joseph P. Olive, and Julia Hirschberg, Progress in Speech Synthesis. Springer: 1997. ISBN 0-387-94701-9
  4. ^ (EN) History and Development of Speech Synthesis, Helsinki University of Technology, 4 novembre 2006
  5. ^ (DE) Mechanismus der menschlichen Sprache nebst der Beschreibung seiner sprechenden Maschine ("Meccanismo della voce umana a confronto con la descrizione della sua macchina parlante"), J.B. Degen, Vienna
  6. ^ (EN) Mattingly, Ignatius G. Speech synthesis for phonetic and phonological models. In Thomas A. Sebeok (Ed.), Current Trends in Linguistics, Volume 12, Mouton, L'Aja, pp. 2451-2487, 1974.
  7. ^ (EN) Fotografie del VODER alla Fiera Mondiale del 1939
  8. ^ (EN) NY Times annuncio funebre di Louis Gerstman.
  9. ^ (EN) Alcatel-Lucent Bell Labs: Text-to-Speech Synthesis
  10. ^ (EN) Arthur C. Clarke, Biografia on line
  11. ^ (EN) Bell Labs: Where "HAL" First Spoke (Bell Labs Speech Synthesis website)
  12. ^ (EN) Anthropomorphic Talking Robot Waseda-Talker Series
  13. ^ (EN) Alan W. Black, Perfect synthesis for all of the people all of the time. Seminario IEEE su TTS, 2002. (http://www.cs.cmu.edu/~awb/papers/IEEE2002/allthetime/allthetime.html)
  14. ^ (EN) John Kominek and Alan W. Black. (2003). CMU ARCTIC databases for speech synthesis. CMU-LTI-03-177. Language Technologies Institute, School of Computer Science, Carnegie Mellon University.
  15. ^ (EN) Julia Zhang. Language Generation and Speech Synthesis in Dialogues for Language Learning, masters thesis, http://groups.csail.mit.edu/sls/publications/2004/zhang_thesis.pdf Section 5.6 on page 54.
  16. ^ (EN) Sintesi basata su PSOLA
  17. ^ (EN) T. Dutoit, V. Pagel, N. Pierret, F. Bataiile, O. van der Vrecken. The MBROLA Project: Towards a set of high quality speech synthesizers of use for non commercial purposes. ICSLP Proceedings, 1996.
  18. ^ (EN) L.F. Lamel, J.L. Gauvain, B. Prouts, C. Bouhier, R. Boesch. Generation and Synthesis of Broadcast Messages, Proceedings ESCA-NATO Workshop and Applications of Speech Technology, Sept 1993
  19. ^ Tra gli esempi: Astro Blaster, Space Fury, il videogioco di Star Trek.
  20. ^ (EN) John Holmes e Wendy Holmes. Speech Synthesis and Recognition, 2nd Edition. CRC: 2001. ISBN 0-7484-0856-8.
  21. ^ (EN) The HMM-based Speech Synthesis System, http://hts.sp.nitech.ac.jp/
  22. ^ (EN) Remez, R.E., Rubin, P.E., Pisoni, D.B., & Carrell, T.D. Speech perception without traditional speech cues. Science, 1981, 212, 947-950.
  23. ^ (EN) Blizzard Challenge http://festvox.org/blizzard
  24. ^ (EN) The Sound of Smiling
  25. ^ (EN) Miner, Jay et al (1991). Amiga Hardware Reference Manual: Third Edition. Addison-Wesley Publishing Company, Inc. ISBN 0-201-56776-8.
  26. ^ Festival
  27. ^ eSpeak: Speech Synthesizer
  28. ^ (EN) gnuspeech
  29. ^ (EN) Tempi di risposta "real time" misurati da Textic
  30. ^ (EN) Smithsonian Speech Synthesis History Project (SSSHP) 1986-2002
  31. ^ (EN) Speech Synthesis Markup Language (SSML) Version 1.1 W3C Candidate Recommendation 7 November 2008
  32. ^ (EN) Speech Synthesis Software for Anime Announced
  33. ^ (EN) Code Geass Speech Synthesizer Service Offered in Japan
  34. ^ (EN) Free(b)soft Singing Computer

Programmi specifici[modifica | modifica wikitesto]

Voci correlate[modifica | modifica wikitesto]

Altri progetti[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]

Informatica Portale Informatica: accedi alle voci di Wikipedia che trattano di Informatica