Stato Dell'arte Dialogo Vocale
Total Page:16
File Type:pdf, Size:1020Kb
SINTESI VOCALE PANORAMICA La sintesi vocale (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. Ci si può chiedere, indipendentemente dall’applicazione che si vuole creare, se sia realmente necessario che la qualità della riproduzione debba essere alta, se la voce debba suonare come quella di un essere umano oppure se una voce dal suono meccanico possa tranquillamente essere sufficiente [6]. L'esperienza ha indicato che le persone sono molto sensibili, non tanto alle parole che sono dette, ma al modo in cui esse sono state pronunciate. Quindi l’obiettivo dei sistemi di sintesi è quello di costruire un sistema informatico capace di emettere un “suono vocale” che si avvicini il più possibile a quello reale.Lo scopo del sistema è quello di riuscire a sintetizzare qualsiasi tipo di input scritto [5], ad esempio sviluppando un sistema a comunicazione vocale inglese, si deve essere capaci di leggere qualsiasi tipo di frase in lingua inglese. A tal fine, vale la pena di fare alcune distinzioni per quanto riguarda il concetto di riproduzione digitale. Continuamente sul nostro computer registriamo e riproduciamo discorsi, musica, messaggi e quant’altro, ma questo è proprio un semplice processo di riproduzione di un qualcosa che originalmente era stato registrato.L'idea che sta dietro alla sintesi vocale è appunto quella di riprodurre i messaggi che originalmente non sono stati registrati. Una prima tecnica è quella di impostare una serie di parole di uso comune e ricombinarle poi per creare un discorso completo; questa tecnica è utilizzata frequentemente nei servizi di segreteria telefonica. Le caratteristiche negative di tale tecnica sono prima di tutto la bassa scalabilità del sistema, poi chiaramente la creazione di un segnale creato molto artificioso in cui a volte il risultato è accettabile, a volte no.E’ per tali motivi che gli studi, attuali e passati, si sono soffermati maggiormente su un sistema che può permettere un tipo di comunicazione quasi globale. Da qui in poi ci soffermeremo infatti su una serie di tecniche avanzate di “speech synthesis”. In linea generale distinguiamo due tipi di sintesi vocale: SINTESI PER REGOLE : un tipo di sintesi articolatoria e per formanti. In questo caso la produzione del suono avviene grazie ad un insieme il più esaustivo possibile di regole dedotte dallo studio dell’apparato vocale umano o da analisi di fonetica sperimentale. Molto interessante notare, a questo proposito, che la voce ottenuta è del tutto nuova: non è prodotta a partire da registrazioni di voce umana, ma nasce dalle sole regole implementate nei programmi del calcolatore. SINTESI PER SEGMENTI : In questo caso lo studio preparatorio del sistema di sintesi verte sulla creazione di un corpus di brevi segnali vocali, denominati appunto segmenti. Tali segmenti coincidono di fatto con un dizionario fonetico, costituito da suoni vocali elementari. Ricombinando questi elementi base é possibile ricostruire una qualsiasi parola o frase della lingua; particolare attenzione va posta però sia nella fase di creazione del dizionario che nella successiva ricombinazione. In quest’ultima fase molto delicata risulta la giunzione tra i segmenti, affinché le caratteristiche spettrali e di intensità che vengono percepite dall’ascoltatore siano plausibili. MODELLI TEXT TO SPEECH Nel modello più comune di sintesi vocale (Fig. 1.1) ci sono essenzialmente due componenti; un sistema di analisi del testo che decodifica il segnale del testo e che ne definisce un modello e un sistema di sintesi della voce che codifica questa modello trasformandolo in discorso. Fig. 1.1: Schema generale di un sistema di “Sintesi Vocale” Ci sono diversi modelli nei sistemi TTS, esaminiamo brevemente le caratteristiche generali di ognuno. Questi modelli non sono mutuamente esclusivi e molti sistemi attualmente esistenti sono infatti la combinazione di uno o più modelli [13]. • Signal-to-signal model . In questo modello, il processo è visto come quello di una conversione del segnale scritto in uno vocale direttamente. In tali modelli quello che si vuole fare non è cercare di comprendere il messaggio di input di testo per poi fare la sintesi, ma si vuole cercare di convertire direttamente il testo in discorso; in particolare il sistema non è diviso nelle due fasi di analisi e sintesi. • Pipelined models. Molto spesso il modello Signal-to-Signal è implementato come un modello pipeline il cui il processo è visto come quello di passare dalla rappresentazione di un modulo a quello successivo. Ciascun modulo esegue una specifica attività come il part-of-speech tagging (può essere un inserimento, mettere in pausa e così via). Nessuna distinzione viene fatta tra operazioni di analisi esplicita e sintesi. Questi sistemi sono spesso altamente modulari e spesso i moduli non sono esplicitamente collegati in modo che diverse tecniche possano coesistere nello stesso sistema complessivo. • Text as language models. In questo modello il processo prevede semplicemente la sintesi. Il testo stesso è preso come il messaggio linguistico e la sintesi viene fatta proprio su di esso. E’ difficile trovare un testo sufficientemente pulito quindi viene aggiunto di solito un processo di normalizzazione come una sorta di pre-processore per il processo di sintesi stessa. Lo scopo è quello di riordinare il testo prima di poterlo inviare come input al sintetizzatore. • Grapheme and phoneme form models [14]. Questo approccio [14] per molti versi può essere considerato simile al modello più generale possibile di sintesi in cui però, all’interno del testo di input, viene cercato prima un grafema, che poi viene convertito in fonema per la sintesi. Le parole non sono al centro della rappresentazione, come nel caso del modello comune. Questo approccio è particolarmente interessante nelle lingue in cui la corrispondenza grafema-fonema è sufficientemente diretta, in queste lingue trovare i grafemi significa spesso i fonemi e quindi la pronuncia può essere trovata con precisione. Per le lingue, come l’inglese [2], questo è più difficile, e per le lingue come ad esempio il cinese questo approccio è probabilmente impossibile. • Full linguistic analysis models. Il modello comune si basa sull'idea che ciò che tutti andiamo a ricercare in un testo è il significato delle parole. Alcuni sistemi si portano molto avanti in termini di analisi linguistica e morfologica, part-of-speech tagging e analisi sintattica. Fino ad un certo punto questo approccio risulta funzionale per identificare le parole, la questione è in realtà se questo deve essere eseguito come processo indipendente o se si è in grado di trovare le parole con un unico integrato approccio. Oltre al rilevamento del significato della parola, le analisi di tipo linguistico sono spesso viste in maniera utile per la prosodia. • Prosody from the text . Questi modelli si basano sul fatto che ogni singola parola necessita di una specifica e dettagliata intonazione, allora questa deve in qualche modo essere generata. Un presupposto comune è che il testo contenga informazioni sufficienti per determinare la prosodia, e così molti sistemi TTS dispongono di moduli, che cercano di prevedere le rappresentazioni prosodiche direttamente dal testo. TECNICHE DI SINTESI VOCALE Si riporta una panoramica sulle principali tecniche di sintesi vocale partendo da quelle di prima generazione, ormai quasi non più utilizzate, fino ad arrivare alle tecniche dei giorni nostri. TECNICHE DI PRIMA GENERAZIONE Vediamo le principali tre tecniche di “prima generazione” che hanno dominato nel campo della sintesi fino ai primi anni 80’. Formant Syntesis : è stata la prima tecnica di sintesi vera e propria ad essere sviluppata; è spesso chiamata la “sintesi by rule” (all'epoca il termine "sintesi" era usato più comunemente per il processo di ricostruzione di una forma d'onda che fosse stata precedentemente normalizzata per la codifica della voce). Viene adottato un sistema modulare come approccio acustico- fonetico al problema della sintesi. In Fig. 1.2 si vede come il suono viene generato da una sorgente periodica. Il segnale viene fatto passare nel modello del canale vocale, e si vede come il canale nasale e quello orale vengono trattati in maniera separata, come sistemi paralleli. Successivamente gli output dei due canali vengono combinati e dati in pasto ad un componente che si occupa della simulazione delle caratteristiche propagative delle labbra e del naso. Fig. 1.2: Formant Syntesis Classical Linear Prediction Syntesis: Una delle difficoltà principali nella costruzione di un modello più sofisticato è che non è sempre facile trovare i valori formanti direttamente dal discorso. Tali valori spesso possono essere determinati da uno spettrogramma a scansione visiva, questo può richiedere tempo ed è soggetto ad errori umani. L'uso di un tracker formante automatico può ignorare queste difficoltà pratiche, ma negli anni in cui la “Formant Synthesis” era nel pieno del suo sviluppo, trackers particolarmente precisi dovevano ancora essere sviluppati. Inoltre, entrambe le tecniche visive e automatiche soffrono di un problema comune e cioè che in alcuni casi le formanti stesse non sono facilmente distinguibili. La funzione di trasferimento del tratto vocale magari non è in una posizione dove essa genera chiari picchi di risonanza, ma piuttosto i poli sono ben all'interno della circonferenza unitaria, e quindi l'inviluppo spettrale non è particolarmente