Sintesi Vocale Concatenativa Per L'italiano Tramite Modello Sinusoidale
Total Page:16
File Type:pdf, Size:1020Kb
UNIVERSITA` DEGLI STUDI DI PADOVA FACOLTA` DI INGEGNERIA DIPARTIMENTO DI INGEGNERIA DELL'INFORMAZIONE TESI DI LAUREA SINTESI VOCALE CONCATENATIVA PER L'ITALIANO TRAMITE MODELLO SINUSOIDALE Relatore: Ch.mo Prof. Giovanni De Poli Correlatore: Ing. Carlo Drioli Laureando: Giacomo Sommavilla 436433/IF A.A. 2004/2005 12 luglio 2005 iii ai miei genitori e a mio fratello iv Abstract In questa sezione si trova un breve riassunto in lingua italiana. Il lavoro di tesi consiste nel progetto di un sintetizzatore (nel dominio frequen- ziale) per un sistema Text-To-Speech (TTS) della lingua italiana. Tale lavoro `estato svolto presso la sezione di Dialettologia e Fonetica del Consiglio Nazionale di Ricerca (CNR) di Padova. of speech, through a grapheme-to-phoneme transcription of the sentences to utter 0.1 Cosa signi¯ca Text-To-Speech (TTS) Un sintetizzatore Text-To-Speech (TTS)[7] `e una applicazione software capace di riprodurre la voce, attraverso una trascrizione da grafemi a fonemi delle frasi da pronunciare1. La di®erenza fondamentale con altri sistemi di riproduzione audio della voce umana `eche il sistema di cui stiamo parlando `ein grado di leggere nuove frasi. L'algoritmo di conversione da testo a voce `ecostituito da due parti fondamentali: 1. analisi del linguaggio naturale (Natural Language Processing, NLP) e 2. elaborazione del segnale (Digital Signal Processing, DSP). Nel nostro caso abbiamo lavorato solamente sulla seconda parte, in particolare sulle seguenti tre sezioni: Prosody matching trasforma i parametri di prosodia (intonazione e durate delle 1Una de¯nizione alternativa, meno adatta al nostro caso, `e una applicazione software capace di leggere qualsiasi testo scritto v vi parole) calcolati nell'analisi del linguaggio naturale in variabili che serviranno per pilotare le funzioni di pitch shifting e time stretching; Diphone Concatenation si occupa di concatenare difoni successivi; Signal Synthesis e®ettua la anti-trasformata del segnale dal dominio frequenziale a quello temporale. Gli elementi concatenativi di base per la costruzione delle parole che abbiamo usato sono difoni, ovvero \segmenti acustici che includono la transizione fra due fonemi consecutivi", di cui abbiamo a disposizione un database2 di circa 1300 ¯les audio. Il numero `ecos`³ elevato poich¶e`enecessario un difono per ogni possibile transizione da un fonema all'altro. 0.2 Sintesi in frequenza L'applicazione software lavora su un secondo database, creato a partire dal primo, che si occupa di salvare i parametri frequenziali dell'analisi SMS (Spectral Model- ing Synthesis [20]) di ogni difono in un corrispondente ¯le .sdif. Il formato SDIF[3] (Sound Description Interface Format) `eadatto ai nostri scopi perch¶epermette una compressione lossless dei valori calcolati dall'analisi SMS, incapsulati nella rappre- sentazione spettrale di frames audio consecutivi. I pi`uimportanti di essi sono tre vettori che memorizzano ampiezze, frequenze e fasi delle parziali. Inoltre ad ogni frame `eassociato anche un inviluppo spettrale per parte residuale. Per svilupare le funzioni di analisi e sintesi abbiamo fatto uso del framework CLAM[4] (ideale per l'approccio SMS), realizzate dal Music Technology Group (MTG) della Universitat Pompeu Fabra di Barcellona. Nel nostro caso i vantaggi che derivano dall'operare nel dominio della frequenza (rispetto alle operazioni e®ettuate nel dominio temporale) e in particolare usando la tecnica SMS sono: 1. una rappresentazione del segnale pi`uversatile e potente per le elaborazioni in questione (tempo, pitch, e inviluppo spettrale)3; 2E` lo stesso database di difoni usato dal programma MBROLA[8] per l'italiano. 3La complessit`acomputazionale `emaggiore visto che sono coinvolte la ricostruzione dello spettro e una IFFT. 0.2 - Sintesi in frequenza vii 2. possibilit`adi sfruttare i risultati dell'analisi SMS nella concatenazione dei di- foni; 3. la distinzione tra parte sinusoidale (deterministica) e residuale (stocastica) permette di trattare diversamente fonemi vocalizzati (voiced phonemes) e non. Abbiamo sviluppato l'applicazione in modalit`a\Console" (ovvero da riga di co- mando, senza interfaccia gra¯ca), in modo tale che le sue funzionalit`apossano es- sere espanse (struttura modulare del codice sorgente). Per questo motivo abbiamo anche ridotto al minimo le librerie esterne, ad esempio abbiamo tolto alcune ine±- cienti dipendenze dal formato XML, normalmente in uso all'interno del framework di CLAM. Contents 0.1 Cosa signi¯ca Text-To-Speech (TTS) .................. v 0.2 Sintesi in frequenza ............................ vi Index xii 1 Introduction 1 1.1 Thesis structure .............................. 1 1.2 History of Speech Synthesis ....................... 2 1.2.1 From Mechanical to Electrical Synthesis ............ 2 1.2.2 Development of Electrical Synthesizers ............. 3 1.3 A Short Introduction to Text-to-Speech Synthesis ........... 5 1.3.1 What is TTS? .......................... 6 1.3.2 Why develop Automatic Reading? ............... 6 1.3.3 A general Text-To-Speech model ................ 8 1.3.4 The NLP component ....................... 8 1.3.5 Prosody generation ........................ 10 1.3.6 The DSP component ....................... 11 1.3.7 Speech synthesis ......................... 14 1.4 Characteristics of our TTS system ................... 15 1.4.1 Frequency-domain synthesis ................... 16 ix x CONTENTS 1.4.2 The .raw and .sdif databases . 17 1.5 About the realization of the software applications . 17 2 Sinusoidal Modeling Analysis and Synthesis 19 2.1 Analysis-Synthesis techniques: a brief history . 19 2.1.1 VOCODER and VODER .................... 19 2.1.2 Phase Vocoder .......................... 20 2.1.3 PARSHL and McAuley/Quatieri approach . 20 2.1.4 Harmonic plus Noise approach to speech synthesis . 22 2.1.5 Sinusoidal plus residual representation . 23 2.2 What is the SMS technique? ...................... 24 2.3 SMS Analysis ............................... 25 2.3.1 Sine detection ........................... 26 2.3.2 Pitch detection .......................... 28 2.3.3 Peaks continuation ........................ 28 2.4 SMS Transformations .......................... 30 2.5 SMS Synthesis .............................. 30 3 Diphones Database 35 3.1 What is a diphone? ............................ 35 3.2 The .raw diphones database ....................... 36 3.2.1 An example ............................ 37 3.2.2 Preprocessing ........................... 37 3.3 The .sdif diphone database ...................... 38 3.3.1 The analyzed SMS database ................... 38 3.3.2 What is the SDIF format? .................... 39 3.4 Transformations upon the diphones ................... 39 CONTENTS xi 3.4.1 An introductory description of CLAM classes . 40 3.4.2 Pitch Shifting ........................... 42 3.4.3 Time Stretching ......................... 43 3.5 Diphones Concatenation ......................... 44 3.5.1 Scheme of concatenation ..................... 44 4 Speech Synthesis architecture 47 4.1 Preamble: compatibility with MBROLA . 47 4.2 Speech Synthesis structure ........................ 47 4.3 Processing phonetic data ......................... 49 4.3.1 .pho ¯le parsing ......................... 49 4.3.2 Phonemes data structure .................... 51 4.3.3 Diphones data structure ..................... 52 4.4 Prosody Matching ............................ 52 4.4.1 Calculating and storing time values . 53 4.4.2 Calculating and storing pitch values . 54 4.5 Speech Synthesis Main Loop ....................... 56 4.5.1 The synthesized word \Ava" ................... 58 5 Tests and Conclusions 61 5.1 Cross tests with MBROLA ....................... 61 5.1.1 Tests Results ........................... 62 5.2 Some examples of further Spectral Transformations . 62 5.3 Conclusions ................................ 64 5.4 Acknowledgements ............................ 65 A Spectral Processing 69 A.1 The Fourier Transform .......................... 69 xii CONTENTS A.1.1 DCT and FFT properties .................... 70 A.2 The Short-time Fourier Transform ................... 70 A.3 Analysis windows ............................. 71 A.3.1 Time versus frequency resolution . 72 A.3.2 Zero phase windows ....................... 72 A.3.3 Zero padding ........................... 73 A.3.4 The Blackman-Harris window . 74 A.4 Inverse STFT ............................... 74 A.5 Spectral Representation ......................... 75 B The CLAM Framework 77 B.1 What is the CLAM framework? ..................... 77 B.2 Dynamic Types .............................. 78 B.3 About Processing in CLAM ....................... 78 B.3.1 Main CLAM Processing data structures . 78 B.3.2 Other CLAM Processing classes . 80 B.3.3 Audio I/O ............................. 80 B.3.4 External libraries ......................... 80 B.4 SMS Analysis and Synthesis in CLAM . 81 Bibliogra¯a 84 Chapter 1 Introduction 1.1 Thesis structure This Thesis is structured in 5 chapters. This introduction to speech synthesis (and more in particular Text-to-Speech) is the ¯rst one. The second chapter explains the mathematical basis behind our approach, the sinusoidal plus residual analysis - synthesis: after a brief introduction into digital spectral processing the sinusoidal plus residual model is presented. Then follows the theory of the Spectral Modeling Synthesis (SMS) approach. The third one begins with some preliminary de¯nitions. Subsequently we de- scribe how we obtained the frequency-domain transformed one. The chapter ends explaining how the operations (transformations