+ All Categories
Home > Documents > REFERAT II PLATFORME PENTRU · 2013-10-10 · Platforme pentru analiza şi generarea semnalului...

REFERAT II PLATFORME PENTRU · 2013-10-10 · Platforme pentru analiza şi generarea semnalului...

Date post: 28-Jan-2020
Category:
Upload: others
View: 24 times
Download: 0 times
Share this document with a friend
26
Academia Română Secţia Ştiinţa şi Tehnologia Informaţiei Institutul de Cercetări pentru Inteligenţă Artificială REFERAT II PLATFORME PENTRU ANALIZA ŞI GENERAREA SEMNALULUI VOCAL Coordonator ştiinţific: Prof. Dr. Ioan Dan TUFIŞ Membru Corespondent al Academiei Romane Doctorand: Tiberiu BOROŞ
Transcript

Academia Română

Secţia Ştiinţa şi Tehnologia Informaţiei

Institutul de Cercetări pentru Inteligenţă Artificială

REFERAT II

PLATFORME PENTRU

ANALIZA ŞI GENERAREA

SEMNALULUI VOCAL

Coordonator ştiinţific: Prof. Dr. Ioan Dan TUFIŞ

Membru Corespondent al Academiei Romane

Doctorand: Tiberiu BOROŞ

Platforme pentru analiza şi generarea semnalului vocal

2

Cuprins

1. Introducere .................................................................................................................. 3

1.1. Vorbirea umană .................................................................................................... 3

1.2. Sisteme TTS ......................................................................................................... 6

2. Arhitectura sistemelor TTS ......................................................................................... 8

2.1. Prelucrarea limbajului natural .............................................................................. 8

2.1.1. Normalizarea textelor ................................................................................... 8

2.1.2. Analiza morfologică ................................................................................... 10

2.1.3. Transcrierea fonetică .................................................................................. 13

2.1.4. Sinteza prozodică ........................................................................................ 14

2.2. Sinteza vorbirii ................................................................................................... 15

2.2.1. Sinteza concatenativă ................................................................................. 15

2.2.2. Algoritmi de modificare prozodică a segmentelor acustice ....................... 16

2.2.3. Metode de evaluare a sistemelor TTS ........................................................ 19

3. Aplicaţii de sinteză a vorbirii .................................................................................... 22

3.1. Aplicaţii comerciale ........................................................................................... 22

3.2. Aplicaţii gratuite ................................................................................................ 22

3.3. Evaluarea sistemelor .......................................................................................... 22

4. Concluzii ................................................................................................................... 24

5. Referinţe bibliografice............................................................................................... 25

Platforme pentru analiza şi generarea semnalului vocal

3

1. Introducere

În prezenta lucrare, evidenţiez o serie de aspecte legate de sinteza vorbirii pornind de la

text, incluzând elemente de prelucrare a limbajului natural, prelucrare digitală a semnalelor şi

metode de evaluare a sistemelor TTS (text-to speech).

Primul capitol este unul introductiv, în care prezint elemente teoretice legate de modul de

producere a vorbirii umane şi de caracteristicile acustice ale diferitelor sunete din limba

română.

1.1. Vorbirea umană Vorbirea este un proces de comunicare specific omului care se dezvoltă de-a lungul

timpului. Din punct de vedere fizic, vorbirea începe prin producerea unui flux de aer pornind

din plămâni sau diafragmă, care trece prin laringe unde este modulat de corzile vocale. Acest

pas se numeşte fonaţie şi determină înălţimea şi tonul vocii. Există patru corzi vocale (două

superioare şi două inferioare), între care se află o deschizătură (glota interligamentoasă),

diferită ca dimensiuni pentru bărbaţi şi femei. Activitatea corzilor vocale este stimulată şi

dirijată de către sistemul nervos central. Faringele ajustează direcţia fluxului de aerul spre

cavitatea bucală, spre cavitatea nazală sau spre amândouă simultan, aerul fiind astfel filtrat

de gură, nas şi gât – proces numit articulare.

Ca o consecinţă a acestei fiziologii, se observă unele caracteristici ale spectrului vorbirii

în domeniul frecvenţă. În primul rând, oscilaţia glotei determină o frecvenţă fundamentală

(F0) şi o serie de armonici. Valorile armonicilor sunt multipli ai F0. Localizarea frecvenţei

fundamentale este dependentă de vorbitor şi în mod direct responsabilă de înălţimea vocii.

Diferite foneme (cea mai mică unitate sonoră a limbii, care are funcţia de a diferenția

cuvintele între ele, precum și formele gramaticale ale aceluiași cuvânt) (în special vocalele)

au regiuni caracteristice de energie ridicată în cadrul spectrului. Aceste regiuni de vârf sunt

numite formanţi (Fant, 1970) şi localizarea lor poate fi folosită atât pentru identificarea

fonemelor cât şi a vorbitorului. Toată energia spectrului vocal se regăseşte intre 0 și 4kHz, iar

dincolo de 10kHz, în afara intervalului neexistând practic nici un fel de energie. De altfel,

aceasta este unul din motivele pentru care este este preferată rata de eşantionare de 8kHz în

sistemele de telefonie.

În majoritatea limbilor din lume, inventarul de foneme este împărţit în două mari

categorii:

1. Consoanele, care sunt articulate cu ajutorul obstacolelor formate de componentele

cavităţii bucale în calea fluxului de aer.

2. Vocalele sunt articulate fără obstacole.

La rândul lor, sunetele pot fi împărţite în subgrupuri. În cazul limbii române există

următoarea clasificare a sunetelor din punct de vedere articulatoriu (Burileanu, 1999):

1. Vocalele: se disting prin înălţime (dată de frecvenţa fundamentală) şi prin timbru

(reprezentat prin conţinutul de armonici care se alătură frecvenţei fundamentale).

a. În funcţie de unghiul de deschidere a maxilarelor (apertura):

i. Vocale deschise: a

ii. Vocale medii (semideschise): e, ă, o

Platforme pentru analiza şi generarea semnalului vocal

4

iii. Vocale închise: i, î (â), u

b. În funcţie de localizarea lor, deci de locul de articulare (punctul din

cavitatea bucală în care se creează spaţiul optim de rezonanţă, realizat prin

diferitele poziţii pe care le ia muşchiul lingual):

i. Vocale anterioare: e, i

ii. Vocale centrale (neutre): a, ă, î (â)

iii. Vocale posterioare (postpalatale): o, u

c. După modul în care sunt însoţite sau nu de rotunjirea buzelor:

i. Vocale labializate (rotunjite): o, u

ii. Vocale nelabializate: a, e, i, ă, î (â)

Vocale

Deschidere

Închise

Cvasiînchise

Semiînchise

Mijlocii

Semideschise

Cvasideschise

Deschise

Anterioritate

Anterioare Semianterioare Centrale Semiposterioare Posterioare

i y ɨ ʉ ɯ u

ɤ o

ʌ ɔ

ɑ ɒ

äa ɶ

æ

ɛ œ

ɪ ʏ ʊ

ɘ ɵe ø

ə

ɜ ɞ

ɐ

Figura 1.1 - Clasificarea vocalelor după deschidere, loc de articulare şi rotunjire

2. Consoanele: De asemenea şi consoanele sunt împărţie în consoane sonante şi

nesonante.

a. Clasificarea consoanelor nesonante:

i. După modul de articulare:

1. Consoane oclusive (explozive, sau plozive): p, b, t, d, c, g, ch,

gh (produse prin închiderea completă a canalului fonator şi

apoi deschiderea sa bruscă);

2. Consoane fricative (constrictive): f, v, s, z, ş, j, h (sunt

consoane produse printr-o îngustare a canalului fonator);

3. Consoane semioclusive (africate): ţ, c(e/i), g(e/i) (sunt

consoane ce au un început oclusiv, dar un final fricativ).

Platforme pentru analiza şi generarea semnalului vocal

5

ii. După locul de articulare (locul din cavitatea bucală unde se creează

obstacolul):

1. Consoane bilabiale: p, b;

2. Consoane labio-dentale: f, v;

3. Consoane dentale (alveorare): t, d, s, z, ţ;

4. Consoane prepalatale (anteropalatale): ş, j, c(e/i), g(e/i);

5. Consoane palatale: ch, gh;

6. Consoane velare (postpalatale): c, g;

7. Consoane laringale (glotale): h;

iii. După sonoritate (pronunţia unei consoane este însoţită sau nu de

vibraţia coardelor vocale):

1. Consoane sonore: b, d, g, gh, v, z, j, g(e/i);

2. Consoane nesonore (surde): p, t, c, ch, f, s, ş, h, c(e/i), ţ;

b. Clasificarea consoanelor sonante: această clasă de consoane reprezintă o

categorie distinctă care are caracteristici comune atât cu vocalele cât şi cu

consoanele. Astfel, la articularea lor predomină tonurile muzicale, zgomotele

specifice consoanelor fiind mai slab. Ca şi consoanele nesonante, ele nu

primesc accent în silabă.

i. În funcţie de modul de articulare:

1. Sonante oclusive: m, n;

2. Sonante lichide: l;

3. Sonante vibrante: r.

ii. În funcţie de locul de articulare

1. Sonante bilabiale: m;

2. Sonante dentale: n, r;

3. Sonante laterale: l.

iii. În funcţie de timbru:

1. Sonante nazale: m, n;

2. Sonante orale: l, r.

Modul de

articulare Lo

cul

de

art

icu

lare

Bilabiale Labiodentale Dentale Prepalatale Palatale Velare Laringiale

Su

rde

So

no

re

Su

rde

So

no

re

Su

rde

So

no

re

Su

rde

So

no

re

Su

rde

So

no

re

Su

rde

So

no

re

Su

rde

So

no

re

Nes

on

an

te

Oclusive p b t d ch gh k g

Semioclusive ţ ce/ci ge/gi

Constrictive f v s z ş j h

Son

an

te

Ocluzive nazale m n

Lichide Laterale l

Vibrante r Tabel 1.1 - Clasificarea consoanelor după locul şi modul de articulare

Platforme pentru analiza şi generarea semnalului vocal

6

1.2. Sisteme TTS Sistemele TTS (text-to-speech) sunt folosite pentru a sintetiza voce plecând de la un

anumit text. La baza lor stau o multitudine de procese, care includ elemente de prelucrare a

limbajului natural şi prelucrare digitală a semnalelor, şi care sunt absolut necesare pentru a

obţine rezultatul dorit.

În cazul sistemelor TTS unul dintre cele mai importante aspecte este calitatea vocii

sintetizate, aceasta fiind determinată mai ales de inteligibilitate şi naturaleţe.

Inteligibilitatea reflectă nivelul de înţelegere a mesajului transmis. În situaţiile în care

este vorba de un interlocutor uman informaţiile de natură vizuală ajută mult la descifrarea

mesajului. În cazul sistemelor TTS, în absenţa altor indicii vizuale, inteligibilitatea este dată

de claritatea vocii sintetizate şi de efectul de învăţare apărut ca rezultat al folosirii îndelungate

a sistemului.

Naturaleţea măsoară gradul de asemănare între vocea sintetizată şi vocea umană.

Alte atribute de natură tehnică utilizate pentru evaluarea calitativă a unui sistem TTS

sunt:

1. Întârzierea: Timpul necesar unui sistem TTS din momentul în care a primit o

comandă până când vocea este sintetizată. Această caracteristică este foarte

importantă pentru sistemele interactive (în mod uzual decalajul trebuie să fie sub

200ms).

2. Memoria ocupată: Pentru sinteza bazată pe reguli, nivelul de memorie ocupat este

mic în comparaţie cu sistemele concatenative care necesită de sute de ori mai multă

memorie (Huang et al., 2001).

3. Resurse ocupate: Gradul de ocupare al sistemului pe care rulează aplicaţia TTS în

timpul procesului de sinteză, este un factor important când se doreşte sinteza

simultană a mai multor texte pe un singur calculator (cum este cazul sistemelor

client-server).

4. Viteză variabilă: În anumite cazuri se poate cere posibilitatea de a controla viteza de

pronunţie a cuvintelor. Lipsa acestei facilităţi este un impediment pentru sistemele

bazate pe concatenare în care nu se pot modifica segmentele acustice preînregistrate.

În astfel de sisteme, se poate obţine o viteză variabilă doar dacă există un număr

mare de înregistrări, la viteze diferite.

Exită o serie de metode propuse de-a lungul anilor pentru sinteza vorbirii. Alegerea uneia

dintre ele determină implicit valorile atributelor enumerate mai sus. Metodele pot fi

clasificate, după modul în care este obţinut semnalul vocal, în două categori: sintetizatoare

bazate pe reguli şi sintetizatoare bazate pe corpus.

Sinteza formantică şi sinteza articulatorie intră în categoria sintetizatoarelor bazate pe

reguli. Sinteza formantică modelează frecvenţa fundamentală şi frecvenţele formanţilor după

un set de reguli, utilizând un set de filtre aplicate pe trenurile de impulsuri (zonele sonore)

sau pe zgomot alb (zonele nesonore) şi modificând parametrii filtrelor pentru a modela

elementele prozodice. Sinteza articulatorie modelează toate efectele fiziologice implicate în

formarea semnalului vocal.

Platforme pentru analiza şi generarea semnalului vocal

7

Sinteza concatenativă şi sinteza parametrică statistică intră în categoria

sintetizatoarelor bazate pe corpus.

Sinteza concatenativă foloseşte segmente acustice extrase din vorbirea naturală pe care le

concatenează pentru a obţine vocea sintetizată. Inventarul şi tipul unităţilor folosite în sinteza

concatenativă înfluenţează domeniul în care sistemele TTS pot fi aplicate. Din punct de

vedere al adaptării la un anumit domeniu, sinteza concatenativă poate fi clasificată în

specializată sau generală. Din punct de vedere al intervenţiei asupra intervalului acustic

sinteza concatenativă poate fi clasificată în sinteză care modifică segmentele acustice şi în

sinteză concatenativă care nu modifică modifică segmentele acustice. În continuare sunt

prezentate avantajele şi dezavantajele acestor tipuri de sinteză concatenativă (Huang et al.,

2001):

1. Sinteza concatenativă specializată pe un anumit domeniu se aplică pentru un inventar

limitat de propoziţii ce urmează a fi sintetizate. Această abordare are rezultate bune

din punct de vedere al inteligibiliăţii şi naturaleţii vocii, însă numărul mic de

segmente acustice preînregistrate face ca acest tip de sinteză să nu poată fi utilizat

pentru un sistem generic. Acest tip de sistem TTS concatenativ este cel folosit în

majoritatea sistemelor de navigaţie GPS.

2. Sinteza concatenativă fără modificarea segmentelor acustice este utilă în cazul în care

este vorba de un sistem TTS specializat pe un anumit domeniu deoarece se poate

stabili apriori prozodia necesară pentru diferitele segmentele acustice şi acestea pot fi

înregistrate ca atare. Dacă se încearcă folosirea acestei metode într-un sistem TTS

generic, rezultatele obţinute sunt foarte slabe deoarece elementele prozodice sunt

responsabile atât pentru naturaleţea şi inteligibilitatea vocii cât şi pentru transmiterea

corectă a mesajului.

3. Sinteza concatenativă cu modificarea segmentelor acustice permite o flexibilitate

crescută din perspectiva alegerii candidaţilor pentru concatenare, datorită faptului că

elementele de prozodie pot fi modelate prin modificarea segmentelor acustice

preînregistrate.

Sinteza parametrică statistică foloseşte un corpus preînregistrat din care extrage un set de

parametrii grupaţi după context şi caracteristici prozodice. Cel mai cunoscut sistem care

foloseşte Modele Markov Ascunse pentru modelarea parametrilor este HMM-based Speech

Synthesis System sau H Triple S (HTS) (Zen et al., 2007). Avantajul major al folosirii acestei

metode este dat de faptul că se pot încerca mai multe contururi pentru F0 fără a afecta

naturaleţea vocii obţinute.

Platforme pentru analiza şi generarea semnalului vocal

8

2. Arhitectura sistemelor TTS

Un sistem de sinteză a vorbirii este format din două componente importante:

1. Un modul de prelucrare a limbajului natural (NLP) folosit pentru a obţine o

transcriere fonetică şi a extrage elemente de prozodie.

2. Un modul de prelucrare digitală a semnalului care se ocupă de sinteza vorbirii.

Figura 2.1 reprezintă schema bloc a modulului NLP.

Modul NLP

Analiză text

PreprocesareAnalizor

morfologic

Analizor

contextual

Analizor

prozodic

Transcriere

fonetică

Generare de

elemente de

prosodie

Text DSP

Figura 2.1 - Modul NLP (adaptată după A Short Introduction to Text-to-Speech Synthesis)

De regulă, textul care trebuie sintetizat este iniţial supus unei preprocesări, care elimină

simboluri incompatibile cu sistemul TTS (caractere care nu pot fi transformate în voce, de

exemplu: ‘(‘, ‘)’, ‘`’, ‘[‘) etc., transformă secvenţele de numere în cuvinte, (de exemplu 1002

o mie doi), tratează formule matematice, etc. (Ordean, 2009; Dutoit, 1999) (acest proces

va fi detaliat în capitolul 2.1.1).

Transcrierea fonetică este un pas important în orice sistem TTS, dar acest lucru nu poate

fi realizat fără o adnotare morfologică a cuvintelor (pentru rezolvarea problemei cuvintelor

omografe), lucru realizat automat cu ajutorul unui POS tagger (detaliat în capitolul 2.1.3).

Percepţia sunetelor din punct de vedere fizic este influențată de trei factori importanți:

volumul care este o măsură a intensității sunetului, frecvenței componentei fundamentale a

sunetului cunoscută sub numele de înălțime a vocii și timbrul care reprezintă conținutul

armonic al semnalului. Astfel, impunerea elementelor de prozodie se referă la modificarea

frecvenţei fundamentale, a energiei semnalului şi a duratei de pronunţie (detaliat în capitolul

2.1.4).

2.1. Prelucrarea limbajului natural

2.1.1. Normalizarea textelor

Majoritatea textelor includ abrevieri, dialoguri amestecate cu naraţiune, grafice şi figuri

numerotate, ecuaţii matematice, adrese de e-mail cu caractere speciale, date calendaristice

etc. Normalizarea textului este esenţială în orice sistem TTS, iar problema ei inversă se aplică

în cazul sistemelor de dictare, pentru reconstituirea textului din cuvintele recunoscute.

Procesul de normalizare începe prin identificarea expresiilor şi a tipului acestora

(abreviere, dată, număr etc.) urmată de extinderea textului iniţial prin adăugare de taguri

SNOR (Standard Normalized Orthographic Representation).

În continuare vom prezenta câteva probleme în normalizarea textelor.

a. Caracterul ‘.’ situat la finalul unui cuvânt este un indiciu că grupul de litere precedent

ar putea fi o abreviere sau un acronim. Cu toate acestea el poate fi omis în anumite

cazuri din greşeli de ortografie sau pur şi simplu datorită faptului că anumite

Platforme pentru analiza şi generarea semnalului vocal

9

acronime nu sunt urmate de punct în special dacă ele sunt scrise cu majuscule. Un

astfel de exemplu este regăsit în fragmentul „[...]vor contura imaginea LRC ca

entitate supraindividuală[...]”, în care grupul de litere “LRC” este un acronim pentru

“limba română contemporană” şi rezolvarea este dată de transcrierea fonetică

corespunzătoare (“lerece”) sau expansiunea sa în cuvintele componente. Alte

modalităţi de a detecta acronime sunt:

i. Considerarea cuvintelor din afara vocabularului ca și candidate ale

acestei categorii poate reprezenta o metodă, însă acest lucru nu este

determinist;

ii. Scrierea cu majuscule a literelor unui cuvânt face din acest cuvânt un

candidat bun chiar şi în absenţa caracterului ‘.’. Însă un cuvânt scris

cu majuscule nu este în mod obligatoriu un acronim chiar dacă acesta

este în afara vocabularului. De exemplu, în anumite formulare este

obligatorie scrierea numelor proprii cu majuscule acestea fiind în

general cuvinte din afara vocabularului;

iii. Cuvintele formate doar din consoane sunt atipice în multe limbi,

motiv pentru care există şanse destul de mari ca aceste cuvinte să fie

acronime.

În cazul abrevierilor:

iv. Grupurile de litere aflate la finalul unor valori numerice pot reprezenta

unităţi de măsură (de exemplu “13cm”, unde “cm””centimetri”).

v. Există şi acronime care nu sunt formate din caractere de la ‘a’ la ‘z’

cum este situaţia „ 15” ”, în care caracterul ‘ ” ’ este un simbol pentru

inci.

Chiar şi după identificarea unei abrevieri sau acronim, rămâne problema expansiunii.

O variantă este citirea pe litere a cuvântului aşa cum este cazul „LRC””lerece” dar

acest lucru nu este întotdeanuna satisfăcător mai ales că anumite abrevieri cer

neapărat extinderea lor. În situaţia “[…]dl. George[…]”, un utilizator nu va fi

mulţumit să audă citirea “dele George”, sistemul fiind nevoit să ia decizia de a

extinde abrevierea “dl.” “domnul”. O soluţie în acest sens este utilizarea unei

liste de abrevieri şi acronime, dar şi aici putem avea de-a face cu ambiguităţi. Un

exemplu este grupul de litere “AG” care poate să fie atât o abreviere pentru cuvântul

„argint” cât şi pentru cuvântul “Argeş”.

b. Tratarea numerelor este o altă problemă a sistemelor TTS. Există situaţii în care

numerele au o semnificaţie cantitativă, moment în care normalizarea lor se face

respectând un anumit set de reguli sau cazuri în care ele reprezintă un identificator

(număr de telefon, cod, adresă poştală etc.) caz în care normalizarea acestora trebuie

să respecte alt set de reguli.

i. În situaţia “Sondajul s-a desfăşurat pe un număr de 1247 de

persoane”, grupul de cifre “1247” exprimă o valoare cantitativă şi

normalizarea sau extinderea se face prin grupul de cuvinte ”o mie

douăsute patruzeci şi şapte”.

ii. Pe de altă parte în cazurile “interior 1217” sau “cod de acces 2233”,

grupul de cifire reprezintă un număr de telefon, respectiv un cod. În

Platforme pentru analiza şi generarea semnalului vocal

10

această situaţie este de preferat normalizarea “1217” “unu doi unu

şapte”, “2233” “doi doi trei trei”.

Ambiguităţi pot să apară atât la identificare (de exemplu numerele separate de ‘.’, ‘-‘

sau de ‘/’ pot forma o dată calendaristică, acest lucru fiind discutat în continuare la

punctul c) dar şi la diferenţierea între situaţiile expuse la punctele i şi ii.

c. Tratarea expresiilor de timp este o problemă puţin mai simplă acestea apărând în

general, sub formate bine determinate. O neclaritate intervine în cazul scrierii

restrânse, în care “’11” poate reprezenta atât anul 2011 cât şi 1911, această

informaţie fiind direct dependentă de context. Odată identificate aceste expresii,

regulile de normalizare sunt simple şi bine determinate: ”01.01.2012””întâi

ianuarie două mii doisprezece”, “11:45” “unsprezece patruzeci şi cinci” sau

pentru o naturaleţe mai mare “doisprezece fără un sfert”.

d. La cele prezentate se adaugă tratarea expresiilor matematice, a valorilor monetare,

a formulelor chimice etc.

O parte din cazurile neclare cu care se confruntă un sistem TTS pot fi rezolvate cu

ajutorul tehnicilor de prelucrare a limbajului natural (capitolul 2.1.2).

2.1.2. Analiza morfologică

Analiza morfologică constituie un domeniu de interes pentru prelucrarea limbajului

natural având şi o aplicabilitate directă în sistemele TTS pentru:

a. Determinarea graniţelor dintre propoziţii;

b. Dezambiguizarea omografelor care nu sunt omofone: această problema se

referă la cuvinte cu aceeaşi scriere, dar cu pronunţie diferită. În principiu

aceste cuvinte se diferenţiază prin partea de vorbire asociată, motiv pentru

care în cele mai multe cazuri este suficientă utilizarea unui POS (part-of-

speech) Tagger asupra textului;

c. Idetificarea tipului de propoziţie: acest proces este esenţial pentru stabilirea

elementelor macroprozodice la nivel de propoziţie;

d. Determinarea grupurilor sintactice: este utilă pentru modulul prozodic în

stabilirea lungimii segmentelor şi a duratei pauzelor în vorbire.

2.1.2.1. Determinarea graniţelor dintre propoziţii

Determinarea graniţelor dintre propoziţii nu este un procedeu simplu în principal pentru

că:

- punctul este folosit atât în abrevieri cât şi ca separator între propoziţii;

- cratima se foloseşte ca delimitator între propoziţii dar şi în anumite cuvinte compuse;

- în unele cazuri caractere precum ‘:’, ‘,’, ‘;’ separă ceea ce trebuie privit ca fiind o

propoziţie.

Un algoritm euristic simplu funcţionează în felul următor (Manning şi Schütze, 1999):

- Se pun separatori la întâlnirea ‘.’, ‘? ’, ‘! ’;

- Se descalifică un punct dacă:

o Este precedat de o abreviere recunoscută care în mod normal nu apare ca

şi cuvânt de final;

Platforme pentru analiza şi generarea semnalului vocal

11

o Este precedat de o abreviere cunoscută şi nu este urmat de un cuvânt scris

cu literă mare;

o Se descalifică un ‘?’ dacă este urmat de un cuvânt cu literă mică;

- Se pot luat în considerare şi alţi separatori de propoziţie.

2.1.2.2. Dezambiguizarea omografelor care nu sunt omofone

Omografele neomofone sunt cuvinte cu aceeaşi scriere şi pronunţie diferită. Din acest

motiv este important ca un sistem TTS să poată distinge între formele acestora. Diferenţierea

se face în principal prin partea de vorbire asociată, însă în limba română există variante

verbale ale aceluiaşi cuvânt la timpuri diferite (prezent, imperfect sau perfect simplu) sau

chiar variante substantivale cu sensuri diferite la care tagger-ul s-ar putea să nu aibă

informaţia de discriminare. Câteva exemple se regăsesc în tabelul 2.1.

Pronunţie 1 Pronunţie 2 Explicaţie

abdică abdică

Aceeaşi parte de vorbire abjură abjură

abrogă abrogă

castele castele

boli boli Părţi de vorbire diferite

acele acele Tabel 2.1 Câteva exemple de omografe neomofone

Practic, părţile de vorbire sunt cuvinte care au acelaşi comportament sinctactic. Cele mai

importante părţi de vorbire sunt substantivul, pronumele, verbul şi adjectivul. Cel mai bun

test pentru a verifica dacă un cuvânt aparţine de aceeaşi clasă cu alte cuvinte este testul de

înlocuire: Băiatul cel {cuminte, blond…} este în casă. Pentru stabilirea automată a părţii de

vorbire se aplică POS Tagging-ul care are ca rezultat asocierea unui descriptor morfosintactic

(MSD) fiecărui cuvânt. Acesta este un şir de caractere în care fiecare poziţie corespunde unui

atribut iar caracterul de pe poziţia respectivă indică valoarea atributului:

1. Primul caracter indică partea de vorbire;

2. Următoarele n caractere codează valoarea fiecărui atribut (persoană, număr, gen etc.);

3. Dacă un atribut nu se aplică în cazul respectiv, atunci se foloseşte caracterul ‘-‘.

Pentru codarea lexiconului românesc este necesar un număr de 614 etichete MSD (Tufiş

et al., 2007).

Cuvintele sunt împărţite în două mari categorii: categorii deschise (la care se pot adăuga

mereu cuvinte noi) din care fac parte substantivele, adjectivele și verbele; categoriile

funcţionale sau închise.

În continuare vom prezenta un model statistic de POS Tagging. În acest model privim

secvenţa de tag-uri din text ca pe un lanţ Markovian. El are următoarele două proprietăţi:

Orizont limitat:

Invarianţa în timp: ( | ) ( | )

Asta înseamnă ca tagul unui cuvânt depinde doar de tagul anterior (orizont limitat) şi

dependenţa nu se schimbă în timp (invarianţa în timp). Cu alte cuvinte, dacă probabilitatea

Platforme pentru analiza şi generarea semnalului vocal

12

apariţiei unui verb după un pronume, la începutul propoziţiei este de 0.2%, atunci acest lucru

nu se schimbă în timp, indiferent de tag-urile pe care le asociem.

Notaţii:

= cuvântul de la poziţia i.

= tag-ul de la poziţia i

= cuvintele care apar de la poziţia i până la poziţia i+m

= tagurile care apar de la poziţia i până la poziţia i+m

= cuvântul din lexicon de pe poziţia l

= tag-ul din tagset de pe poziţia j

= numărul de apariţii pentru cuvântul respectiv în corpusul de antrenare

= numărul de apariţii pentru tag-ul respectiv în corpusul de antrenare

= numărul de apariţii pentru primul tag, urmat de al doilea tag

= numărul de apariţii pentru tag-ul respectiv în corpusul de antrenare

T = numărul de tag-uri din corpus

W = numărul de cuvinte din lexicon

n = lungimea propoziţiei

este estimat din frecvenţele relative ale diferitelor tag-uri care urmează altor tag-

uri(ecuaţia 2.1)

( | )

(2.1)

Cu aceste estimări, putem calcula probabilităţile unei secvenţe particulare de taguri. În

practică problema este găsirea celei mai probabile secvenţă de taguri pentru o secvenţă

observabilă de cuvinte. Putem calcula probabilitatea de emisie a unui cuvânt de către o stare

anume a sistemului, prin folosirea estimării Maximum Likelihood:

( | )

(2.2)

Acum, singura problemă este găsirea secvenţei optime , pentru o secvenţă de cuvinte

, aplicând regula lui Bayes:

| )

| )

| )

(2.3)

Pe lângă proprietatea orizontului limitat, se mai fac încă două presupuneri despre

cuvinte:

- Cuvintele sunt independente unul faţă de celălalt;

- Identitatea unui cuvânt depinde doar de tagul său.

| ) ( ) ∏ ( )

( ) ( )

( ) ( )

∏[ ]

Deci formula finală este:

Platforme pentru analiza şi generarea semnalului vocal

13

| ) ∏ [ ]

(2.4)

Algoritmul de antrenare pentru un sistem Markov vizibil, dat fiind un corpus adnotat este

(Manning şi Schutze, 1999):

for all tags do

for all tags do

( | )

end

end

for all tags do

for all words do

( | )

end

end

Un algoritm bun pentru găsirea secvenţei optime de tag-uri pentru o propoziţie de

lungime n este agloritmul Viterbi. Este un agloritm inductiv, în care la fiecare pas, se

păstrează cea mai bună soluţie de până în momentul respectiv.

Pseudocodul este dat în continuare:

for t≠ PUNCT for i:=1 to n step 1 do

for all tags do

[

| | ]

[

| | ]

end

end

for j:=n to 1 step -1 do

end

P(

2.1.3. Transcrierea fonetică

Un element important pentru orice sistem TTS, este reprezentat de transcrierea fonetică.

În cazul limbilor cu ortografie fonetică (un exemplu este limba română) conversia de la litere

la sunete (L2P) este o operaţie simplă, dar pentru alte limbi acest lucru devine mai complicat.

În astfel de situaţii se pot folosi lexicoane însă, indiferent de dimensiunea lor, vor exista

întotdeauna cuvinte în afara vocabularului (OOV) pentru care este nevoie de o metodă

automată de L2P.

Pentru conversia L2P este necesară o metodă de a surprinde acele reguli dependente de

limbă, care fac legătura între litere şi sunete. Regulile pot fi introduse manual de un lingvist

sau pot fi deduse automat dintr-un set de perechi de cuvinte şi transcrieri fonetice ale

acestora. În general algoritmul expectation-maximization (EM) este folosit pentru detectarea

celor mai probabile perechi între litere şi sunete în procesul de aliniere (Black et al. 1998;

Jiampojamarn et al. 2008; Pagel et al. 1998).

O metodă de a obţine transcrierea fonetică a cuvintelor OOV se bazează pe tratarea

acestei probleme ca şi cum ar fi una de POS Tagging. Astfel, litere sau grupuri de litere sunt

tratate ca nişte cuvinte independente. Folosind sisteme Markov se obţin părţi de vorbire, care

Platforme pentru analiza şi generarea semnalului vocal

14

reprezintă de fapt transcrierea fonetică a cuvântului format din concatenarea sirului de

caractere observabil. Rezultatele obţinute pentru limba engleză sunt destul de slabe,

accurateţea la nivel de cuvânt fiind de aproximativ 40% (Taylor, 2005).

O altă abordare posibilă este utilizarea arborilor de decizie, această metodă având

performanţe mai bune în ceea ce priveşte acurateţea, care este de aproximativ 60% pentru

limba engleză (Pagel et al. 1998).

Pentru limba română au exista mai multe abordări în rezolvarea problemei L2P,

folosindu-se rețele neurale (Burileanu et al., 1999b; Josef et al., 2009) sau metode bazate pe

reguli (Toma et al., 2009; Ungureanu et al., 2011)

2.1.4. Sinteza prozodică

Din punct de vedere acustic sinteza prozodică impune modelarea pauzelor, a înălţimii

vocii, a duratei fonemelor şi a energiei semnalului vocal.

Toate aceste elemente sunt foarte importante pentru a transmite mesajul. În cazul unui

vorbitor uman aceste elemente codifică mai mult decât sensul strict al cuvintelor din

propoziție. Ele pot da informații atât despre starea vorbitorului (plictiseală, nervozitate,

entuziasm) cât și despre contextul propoziției. Mai mult, utilizarea incorectă a lor duce la

ambiguități de întelegere a mesajului. Vom reveni asupra aspectelor legate de înțelegerea

mesajului mai târziu în acest capitol.

Informația pe care un sistem TTS o poate folosi în sinteza prozodică se rezumă în

general la elemente superficiale care țin de părțile de vorbire ale cuvintelor, de punctuația

utilizată, de lungimea propozițiilor și foarte rar de context.

Sinteza prozodică are două nivele:

a. La nivel macroprozodic, propozițiile se împart în fraze prozodice. Conturul

frecvenței fundamentale este generat pentru acestea și între ele se pot introduce

pauze, pot avea loc modificări de înălțime a vocii sau lungirea anumitor silabe finale

din cuvinte terminale. Aici se ține cont de punctuația utilizată la finalul propoziției

pentru a stabili tipul acesteia: declarativă, interogativă, exclamativă sau imperativă.

În plus se pot adăuga marcatori pentru scoaterea în evidență a numitor cuvinte.

b. La nivel microprozodic se ține cont de lugimea tipică a fonemelor și de poziția

accentului.

Modulul prozodic combină ieșirile analizatoarelor microprozodic și macroprozodic,

stabilind informația de durată, înălțime și energie pentru fiecare fonem. În anumite cazuri,

unui singur fonem i se pot adăuga mai multe puncte în conturul frecvenței fundamentale.

Sistemele actuale sunt statistice sau bazate pe reguli, cele din urmă regulile putând fi

introduse manual sau deduse dintr-un corpus mare adnotat corespunzător.

În continuare voi prezenta fiecare dintre trasăturile ce trebuie modelate și rolul lor:

a. Înălțimea vocii este cel mai expresiv element de prozodie fiind utilizat pentru a

transmite sentimentele vorbitorului despre ceea ce spune, sau, în anumite limbi chiar

pentru a face diferenţa între cuvinte. De exemplu, în cazul chinezei mandarine există

patru contururi bine definite de tonalităţi utilizate pentru a distinge între cuvinte

(Huang et al.,).

În majoritatea limbilor emoţia, atenţia şi starea vorbitorului pot fi deduse din

elementele de prozodie. Astfel, variaţia foarte mică a tonului în timpul vorbirii,

Platforme pentru analiza şi generarea semnalului vocal

15

indică plictiseală, o stare de nervozitate reprimată sau depresie; vorbirea rapidă

transmite entuziasm etc.

În urma analizei macroprozodice, ținând cont de tipul propozițiilor (declarative,

imperative etc.), se stabilește conturul frecvenței fundamentale. Acestă informație

este combinată cu cea obținută în analiza microprozodică pentru fiecare fonem în

parte.

b. Pauzele joacă un rol important în transmiterea corectă a conținutului unui mesaj. În

general, cuvintele se pronunță legat unul de altul, ele fiind separate de pauze numai

dacă cerințele legate de limbaj impun acest lucru. Scopul principal al modulului

prozodic este de a stabili locul în care trebuie să apară pauzele, durata lor fiind pe loc

secundar. Sistemul nu trebuie să introducă pauze acolo unde nu este cazul, deorece

poate genera ambiguități. Un exemplu de folosire incorectă a pauzelor în vorbire este

dat de mesajul transmis de următoarele două propoziții:

i. “Nu e aici” cu înțelesul că un obiect sau o persoană nu se află în locul

respectiv.

ii. “Nu, e aici” cu înțelesul ca o persoană sau obiect se află în acel loc.

Semnele de punctuație oferă un indiciu bun pentru separarea frazelor prozodice și

introducerea de pauze în vorbire. Cu toate acestea în anumite situații este necesară o

analiză semantică foarte bună pentru a detecta granițele dintre frazele prozodice

nemarcate cu semne de punctuație.

c. Durata fonemelor este de cele mai multe ori legată de conturul lui F0, având în

comun multe atribute care le determină pe amândouă, dar din motive pragmatice cele

două probleme sunt tratate separat (Wang, 1999). Deși o analiză semantică este de

preferat în cazul determinării duratei fonemelor, studiile au arătat că, cel puțin pentru

anumite limbi, o analiză limitată de context este suficientă în majoritatea situaţiilor

pentru a obține rezultate acceptabile (Plumpe și Meredith, 1999). Astfel, se folosește

o fereastră limitată de context, centrată pe fonem, a cărei durată trebuie stabilită și se

ține cont de următoarele atribute: identitatea fonemului, prezența accentului lexical,

fonemul din stânga și fonemul din dreapta.

d. Accentuarea cuvintelor în frază este un fenomen legat de procesul de transmitere

corectă a mesajului. Unele sisteme utilizează pentru determinarea cuvintelor

accentuate un model format din tipul propoziției, partea de vorbire a cuvântului și un

istoric contextual de cuvinte care au fost accentuate înainte.

Un sistem complet de sinteză prozodică pentru limba română, foloseşte metode bazate pe

reguli pentru preprocesarea textelor, silabificare şi modelarea conturului F0, metode statistice

pentru poziţionarea accentului şi utilizează reţele neurale pentru transcrierea fonetică

(Burileanu şi Negrescu, 2006).

2.2. Sinteza vorbirii

2.2.1. Sinteza concatenativă

Metodele de sinteză bazate pe corpus obţin cele mai bune rezultate în materie de

inteligibilitate şi naturaleţe a vocii sintetizate. În sinteza concatenativă, vocea este sintetizată

Platforme pentru analiza şi generarea semnalului vocal

16

prin redarea unor segmente acustice, care sunt selectate din corpus după criterii legate de

context şi prozodie.

Există o serie de elemente care trebuie luate în calcul în momentul în care se construiește

un sistem TTS bazat pe concatenare (Huang et al., 2001):

a. Tipul de unități acustice ce urmează a fi folosit. Astfel, se pot utiliza foneme,

difoneme (unități acustice fomate din perechi de foneme alăturate), trifoneme

(trei foneme alăturate), silabe, cuvinte sau propoziții.

b. Modul în care urmează să se realizeze inventarul acustic în funcție de un set

de propoziții deja existent (nu în toate situațiile se pot obține suficiente unități

acustice); sau în cazul în care se fac înregistrări noi, trebuie stabilit ce anume

se va înregistra.

c. Cum se va alege cea mai bună secvență de unități acustice pentru a se potrivi

atât cu textul cât și cu prozodia acestuia.

d. Cum se va modifica prozodia segmentelor alese pentru a obține rezultatul

dorit.

Considerând că inventarul fonetic al unei limbi are dimensiunea N, numărul de difoneme

necesar pentru a sintetiza orice cuvânt din limba țintă este teoretic N2, iar în cazul

trifonemelor N3. Cu toate acestea numărul de astfel de unități este mult mai mic, deoarce nu

toate combinațiile sunt posibile. De exemplu pentru limba română se poate utiliza un inventar

redus de 630 de difoneme (Burileanu și Negrescu, 2006).

În momentul concatenării pot apărea anumite discontinuități la nivel spectral sau

prozodic care nu pot fi evitate. Pentru a reduce efectul produs de acestea, este recomandată

folosirea unor unități acustice cu lungime mai mare. Este de menționat că o discontinuitate la

nivelul unei vocale este mai observabilă decât la nivelul unei consoane fricative, iar o

discontinuitatea aflată în interiorul unei silabe este mai perceptibilă decât o discontinuitate

aflată la granița dintre două silabe.

Generalitatea unui sistem TTS se referă la posibilitatea utilizării lui în sinteza unui text

arbitrar. De exemplu, într-un sistem de asistare GPS indicațiile pe care acesta le dă se rezumă

la câteva tipuri de propoziții, direcții și numere. În astfel de situații, unitățile acustice alese

pot să fie fraze sau cuvinte.

Alegerea optimă a unităţilor folosite în concatenare se face în general cu algoritmul

Viterbi, încercând minimizarea unei funcţii formată din două costuri: costul de model şi

costul de concatenare. Costul de model este calculat în funcţie de diferenţele prozodice ale

segmentului folosit şi cele impuse de context, iar costul de concatenare măsoară cât de bine

se vor potrivi două segmente acustice adiacente. În practică, costul de concatenare are un rol

foarte important în asigurarea calităţii vocii obţinute, fiind obiectul mai multor studii de-a

lungul anilor (Pantazis et al. 2005; Black şi Hunt, 1996; Vepa şi King, 2004).

2.2.2. Algoritmi de modificare prozodică a segmentelor acustice

Datorită variației prozodice foarte mari, de la un context la altul, unitățile acustice

extrase în momentul creării bazei de date nu sunt întotdeauna potrivite pentru sinteza unui

anumit text arbitrat. Pentru a compensa acestu lucru este necesară modificarea energiei, a

duratei și a înălțimii vocii pentru segmentele utilizate în concatenare.

Platforme pentru analiza şi generarea semnalului vocal

17

Modificarea energiei se realizează direct prin operația de înmulțire. Pentru durată și

înălțime lucrurile sunt mai complicate. Algoritmii descriși în continuare sunt folosiți pentru

modificarea prozodică a segmentelor acustice folosite în concatenare (Huang et al., 2001).

SOLA

Este un algoritm utilizat pentru modificarea duratei segementelor acustice, foarte eficient

pentru compresia semnalului vocal. Pentru analiză se folosește o serie de ferestre Hanning

(ecuația 2.1) de dimensiune 2N care sunt așezate la distanță fN una față de cealaltă. Aceste

ferestre sunt folosite pentru a multiplica semnalul original.

(

) 2.1

În momentul reconstrucției, acestea sunt așezate la distanță N una față de cealaltă. Dacă

f=1, atunci reconstrucția semanlului este perfectă. Figura 2.1 arată rezultatele obținute prin

metoda SOLA pentru reducerea duratei semnalului vocal.

Figura 2.1 – SOLA folosit pentru reducerea duratei unui semnal vocal (imagine preluată dupa Huang, 2001)

PSOLA

Pitch Sincronous Overlap Add (PSOLA) este o tehnică în prelucrarea digitală a

semnalelor folosită atât pentru modificarea temporară a unui semnal cât şi pentru modificarea

frecvenţei fundamentale a acestuia.

Spre deosebire de SOLA, ferestrele de analiză sunt aşezate în funcţie de valoarea

frecvenţei fundamentale. Acest lucru presupune cunoaşterea apriori a acesteia, lucru care se

poate realiza în mod automat prin aplicarea unui algoritm pentru detecţia F0 (PDA).

O soluţie optimă în acest sens nu a fost găsită încă, existând o varietate mare de

algoritmi, împărţiţi în două categorii:

- Algoritmii PDA în domeniul timp, care utilizează funcţia de autocorelaţie, obţinând

rezultate bune în cazul semnalelor periodice.

Platforme pentru analiza şi generarea semnalului vocal

18

- Algoritmii PDA în domeniul frecvenţă, care funcţionează în general prin analiza

spectrală a semnalului.

Înainte de aplicarea algoritmului PSOLA pentru un segment acustic trebuie stabilit dacă

acesta este vocalizat sau nevocalizat.

În cazul în care semnalul este vocalizat el se poate scrie ca o funcţie dependentă de

periodicitatea frecvenţei fundamentale F0 (ecuaţia 2.2).

∑ (2.2)

[ ] sunt epoci ale semnalului, astfel încât diferenţa dintre două epoci adiacente

[ ] [ ] să aibă valoarea lui F0 la momentul [ ] ca număr de eşantioane. Funcţia

este obţinută prin ferestruirea semnalului original (ecuaţia 2.3).

(2.3)

Alegerea tipului de fereastră precum şi lungimea acesteia se face în funcţie de condiţia

impusă de ecuaţia 2.4. Acestă condiţie este respectată dacă se utilizează fereastra Hanning cu

lungime [ ] (care este, de fapt, de două ori valoarea frecvenţei

fundamentale).

∑ ( ) (2.4)

Scopul final este de a sintetiza un semnal care are aceleaşi caracteristici spectrale ca

şi dar cu alte valori pentru F0 şi durată. Acest lucru se face prin înlocuirea valorilor

folosite la pasul de analiză cu , care sunt valorile dorite pentru semnalul sintetizat

(ecuaţia 2.5).

∑ (2.5)

Pentru zonele nevocalizate din semnal, valorile sunt distribuite uniform peste

eşantioane, în aşa fel încât spaţierea să se facă la intervale mai mici de 10ms. În cazul în care

se doreşte modificarea duratei în timp a segmentelor, acestea trebuie repetate de mai multe

ori şi pentru a evita o periodicitate creată artificial, acestea se inversează în timp.

MBROLA

Multiband Resynthesis Overlap and Add este un alt algoritm de sinteză a vorbirii, care

lucrează în domeniul timp şi care are avantajul de a netezi discontinuităţile spectrale care apar

în cazul TD-PSOLA. Situaţia optimă pentru algoritmul PSOLA este atunci când toate

ferestrele de analiză sunt identice (Dutoit şi Leich, 1993). Pentru ca acest lucru să fie posibil,

baza de date trebuie să aibă următoarele proprietăţi:

a. Toate cuvintele trebuie pronunţate cu un ton constant;

b. Interpolarea spectrală între segmentele concatenate trebuie să fie uşor de realizat din

punct de vedere computaţional.

Platforme pentru analiza şi generarea semnalului vocal

19

Pentru a rezolva cerinţele impuse mai sus, MBROLA resintetizează segmentele acustice

înainte de utilizarea acestora în sinteză. Acest lucru se face în faza de creare a bazei de date,

în aşa fel încât, în momentul concatenării, operaţiile asupra segmentelor să fie minime ca

număr şi complexitate (figura 2.2)

Analiză MBE

Proces de rearmonizare

Segment Vocalic

R sint ză s gm nt

Stop (segmente

MBROLA)

Start (segmente acustice)

Figura 2.2 –resinteza MBROLA

Fazele semnalelor sunt resetate în momentul resintezei iar calitatea vocii sintetizate

depinde foarte mult de strategia folosită în acest pas. În cazul în care se folosesc valori

constante sau distribuite liniar va apărea un efect nedorit de voce metalică. De asemenea, s-a

arătat că rezultate bune se obţin dacă frecvenţele înalte sau joase sunt lăsate nemodificate (cu

faza iniţială neschimbată) (Dutoit şi Leich, 1993).

2.2.3. Metode de evaluare a sistemelor TTS

Evaluarea și compararea sistemelor TTS se face în funcție de inteligibilitatea, naturalețea

și aplicabilitatea acestora în diferite domenii. Aceste atribute sunt imposibil de măsurat în

mod automat, fiind nevoie de implicarea unor subiecți umani în procedura de testare. Aceștia

sunt rugați să asculte un set de silabe, cuvinte sau propoziții și să răspundă la un set de

întrebări.

De menționat că există factori subiectivi care pot afecta rezultatele:

- În cazul testelor de inteligibilitate, reevaluarea unui sistem de către același grup de

subiecți duce la creșterea artificială a rezulatelor, chiar dacă setul de date este

schimbat;

- Stresul sau distragerea atenției pot afecta în mod negativ rezultatele.

Metode de testare a inteligibilității pentru segmente izolate

Aceste metode au în vedere inteligibilitatea unui singur segment izolat. Există două

grupuri de teste utilizate mai des în acest scop și anume testele bazate pe rimă și testele pe

cuvinte fără sens. Primul grup este mai avantajos prin faptul că numărul de stimuli este redus,

Platforme pentru analiza şi generarea semnalului vocal

20

procedura de testare fiind redusă ca timp și utilizatorii nu au nevoie de instruire înainte de a

participa la evaluarea sistemului TTS (Jekosh, 1993). În plus efectele date de antrenarea

subiecților umani pentru setul de date dat sunt neglijabile iar rezultatele sunt utile în a ajuta la

localizarea problema și a observa care foneme crează confuzie.

a. Diagnostic Rhyme Test (DRT) a fost introdus de Fairbanks în 1958 și

folosește un set izolat de cuvinte care diferă doar prin prima consoană.

Utilizatorul asculă cuvinte monosilabice pronunțate izolat și alege ceea ce a

auzit dintr-o listă de două variante posibile.

b. Modified Rhyme Test (MRT) este o extensie a DRT folosit pentru a stabili

inteligibilitatea atât pentru prima cât și pentru ultima consoană. Testul constă

într-un număr de 50 de grupuri de câte 6 cuvinte. Utilizatorul ascultă fiecare

grup de șase cuvinte rostite separat și marchează apoi într-o listă cu variante

multiple cuvintele pe care consideră că le-a auzit. Primele 3 cuvinte sunt

utilizate pentru stabilirea inteligibilității primei consoane, iar ultimile 3

cuvinte pentru inteligibilitatea ultimei consoane. Vocea umană primeşte un

scor de aproximativ 99% la testul MRT, iar cele mai bune sistem TTS au

valori situate între 70% şi 95% (Huang et al., 2001).

c. Diagnostic Medial Consonant Test (DMCT) este tot un test bazat pe cuvinte

care rimează numai că în acest caz ele sunt bisilabice și sunt alese în așa fel

încât să difere printr-o singură fonemă mediană.

d. Standard Segmental Test (SST) foloseşte liste de cuvinte fără sens de forma

consoană-vocală, vocală-consoană şi vocala-consoană-vocală. Utilizatorul

trebuie să completeze într-un formular consoana lipsă din cuvântul pe care

tocmail l-a ascultat.

e. Cluster Identification Test (CLID) este un test în care vocabularul folosit nu

este predefinit. Transcrierea fonetică a cuvintelor este generată automat după

o structură data (de exemplu CVCCV) apoi este convertită în grafeme

(deorece majoritatea sistemelor TTS nu acceptă decât acest mod de a

introduce datele). Utilizatorii ascultă cuvintele sintetizate şi completează ce

au auzit într-un formular cu răspuns deschis (pot scrie răspunsul atât la nivel

grafemic cât şi fonemic).

f. Phonemically Balanced Word Lists (PB) este un test care foloseşte o listă de

cuvinte monosilabice. Lista este balansată din punct de vedere fonetic

deoarece cuvintele sunt alese în aşa fel încât să aproximeze relativ numărul de

apariţii al fiecărui fonem specific limbii.

Metode de testare a inteligibilităţii unui cuvânt la nivel de propoziție

Aceste teste sunt folosite pentru a măsura inteligibilitatea unui sistem TTS cu ajutorul

unor propoziţii alese în aşa fel încât cuvintele din ele să respecte frecvenţa relativă de apariţie

specifică limbii ţintă.

a. Harvard Psychoacoustic Sentences este un set prestabilit de 100 de propoziţii

folosite pentru a testa inteligibilitatea unui cuvânt în frază. Propoziţiile sunt

alese în aşa fel încât anumite secvenţe de foneme să respecte frecvenţa de

apariţii specifice limbii engleze. Dezavantajul constă în faptul că este un set

Platforme pentru analiza şi generarea semnalului vocal

21

închis de propoziţii şi efectul de învăţare nu poate fi ignorat în momentul în

care se foloseşte acelaşi grup de oameni.

b. Haskins Sentences este un set de propoziţii asemănător cu cel de la Harvard

cu singura diferenţă că aceste propoziţii sunt lipsite de sens şi cuvântul care

nu se înţelege corect nu poate fi dedus din context.

c. Semantically Unpredictable Sentences (SUS) este tot un test de inteligibilitate

numai că în acest caz cuvintele pe care se face testul sunt alese dintr-un set de

candidaţi formând astfel la fiecare testare propoziţii noi. Propoziţiile sunt de

forma: subiect-verb-adverb, subiect-verb-obiect, adverb-verb-obiect, adverb

interogativ-verb-obiect, subiect-verb-obiect complex.

Metode de evaluare la nivel prozodic

Inteligibilitatea unui segment sau a unui cuvânt nu garantează percepeţia corectă a

mesajului transmis, de aceea testele menţionate până acum sunt utile doar din anumite puncte

de vedere. Mai mult, o rată de inteligilitate de 100% nu este obligatorie pentru ca un sistem

să fie considerat inteligibil. O metodă completă de testare a unui sistem TTS trebuie să aibă

în vedere şi evaluarea din punct de vedere prosodic al acestuia. Testul funcţionează în felul

următor: un set de propoziţii sunt sintetizate pentru forma imperativă, neutră şi interogativă,

apoi utilizatorii sunt puşi să asculte propoziţiile şi să aleagă tipul fiecăreia.

Metode de evaluare generală a sistemelor TTS

Testele pentru evaluarea generală a sistemelor TTS au la bază Mean Opinion Score

(MOS). Scorul MOS este o medie aritmetică a notelor date de un grup de experți umani

pentru o serie de propoziții sintetizate. Iniţial, acest tip de evaluare a fost folosit pentru

sistemele de compresie a vocii.

Platforme pentru analiza şi generarea semnalului vocal

22

3. Aplicaţii de sinteză a vorbirii

3.1. Aplicaţii comerciale

Ivona este un sistem TTS multilingv cu suport pentru limba română. Această aplicație

folosește o bază de date foarte mare de unități ne-uniorme și un algoritm numit Unit Selection

Algorithm with Limited Time-scale Modifications (USLTMS). Scorul MOS raportat de către

autori pentru IVONA este de 3.9 (Kaszczuk and Osowski, 2006).

Baum Engineering a dezvoltat sistemul TTS Moromete despre care nu se dau prea

multe detalii dar, la o primă ascultare pare să fie vorba de sinteză concatenativă cu

MBROLA.

3.2. Aplicaţii gratuite

Google TTS este un API introdus de Google de curând pentru a permite sinteza vorbirii.

Momentan motorul se poate folosi gratuit însă este limitat la un număr de 100 de caractere. În

spate Google foloseşte mai multe aplicaţii TTS în funcţie de limba ţintă, vocea pentru limba

română fiind obţinută prin sinteză formantică. Evaluarea acestui sistem nu a fost posibilă din

cauza faptului ca ultima consoană nu se auzea niciodată.

MBROLA este o aplicaţie care permite sinteză concatenativă cu un inventar de

difoneme şi foloseşte algoritmul cu acelaşi nume în prelucrarea segmentelor acustice.

MBROLA nu este un sistem TTS complet deoarece modulul de prelucrare a limbajului

natural lipseşte. Pentru a putea sintetiza voce, utilizatorul trebuie să introducă datele în

formatul acceptat de aplicaţie:

1. Numele fonemului

2. Durata în milisecunde a acestuia

3. Un set de valori reprezentând valorile de referinţă pentru înălţimea vocii şi durata lor

relativă.

Nefiind un sistem TTS complet, am ales să nu evaluam MBROLA ci mai degrabă un

produs care foloşte sintetizatorul MBROLA şi introduce un modul de prelucrare a limbajului

natural numit Phobos TTS.

Universitatea Tehnică din Cluj-Napoca împreună cu Centre for Speech Technology

Research a creat primul sistem TTS pentru limba română bazat pe Modele Markov Ascunse

utilizând sistemul HTS. Aplicaţia foloseşte pentru antrenare corpusul Romanian Speech

Synthesis (RSS) (Stan et al., 2010)

3.3. Evaluarea sistemelor

Pentru evaluarea sistemelor TTS am folosit două criterii şi anume Standard Segmental

Test (SST) şi scorul MOS. În cazul SST am folosit 50 de cuvinte fără sens de forma CVC,

VCV iar pentru scorul MOS au fost folosite notele date de 4 utilizatori pentru 10 propoziţii.

Ivona şi sistemul TTS de la UTC au obţinut scoruri comparabile la testul SST, însă acestea au

fost departe de scorul obținut de Moromete (83%). O problemă constatată la sistemul Ivona,

care a redus scorul SST obţinut, este pronunţia greşită a literei ‘j’ situată la începutul

cuvintelor. Această problemă este aparent dată de segmentarea incorectă a unităţilor acustice,

Platforme pentru analiza şi generarea semnalului vocal

23

lucru care rezultă din faptul că ‘j’ a fost precedată de consoană ‘g’ în vocea sintetizată deşi

aceasta nu apărea în text. Sistemul TTS de la Google nu a putut fi testat cu SST deoarece

ultimul fonem nu se auzea niciodată în cazul în care acesta era o consoană iar vocalele erau

tăiate abrupt. O altă observaţie este aceea că au existat probleme de înţelegere la sistemul

Phobos TTS chiar şi atunci când s-au folosit propoziţii normale din demo-ul de pe site-ul lor

în care se citea un pasaj din Domnul Goe de I. L. Caragiale. Deși Moromete a obținut cel mai

mare scor SST și a ieșit în evidență prin articularea extrem de clară a consoanelor, naturalețea

generală a vocii a fost sub cea a sistemelor IVONA și TTS UTC. Tabelul 3.1 arată rezultatele

obţinute la teste.

Sistem TTS SST MOS

A 1 A 2 Total A 1 A 2 A3 A4 Total

Ivona TTS 70% 75% 72.50% 3.6 4.8 4.6 4.6 4.40

TTS UTC 64% 68% 66.00% 4 4 3.6 4 3.90

Phobos TTS 40% 40% 40.00% 2 1.2 2.2 2.2 1.90

Google TTS 0% 0% 0.00% 1 2 2 1.4 1.60

Moromete TTS 86% 80% 83% 3.2 3.2 3 2.8 3.05

Tabel 3.1 – Rezultate SST şi SUS

Platforme pentru analiza şi generarea semnalului vocal

24

4. Concluzii În prima parte a lucrării am evidenţiat aspecte legate de modul de producere al vorbirii şi

caracteristici, din punct de vedere acustic, ale sunetelor din limba română. De asemenea, am

dat o atenţie deosebită modulului de prelucrare a limbajului natural şi am explicat paşii ce

trebuie urmaţi în prelucrarea textului înainte ca vocea să fie sintetizată de către modulul DSP.

Am evidenţiat problemele legate de normalizarea textului, dezambiguizarea omografelor

neomofone, transcrierea fonetică, detectarea accentului, generarea conturului F0 şi stabilirea

locului unde trebuie plasate pauzele în vorbire. Acolo unde a fost cazul am menţionat

soluţiile propuse pentru limba română şi unde s-a putut am scos în evidenţă rezultatele

obţinute de aceastea.

În ceea ce priveşte metodele de sinteză a vorbirii am pus accent pe o serie de algoritmi

utilizaţi pentru modelarea prozodiei în cazul sintezei concatenative. De menţionat este faptul

că nivelul de inteligibilitate şi naturaleţe al unui sistem TTS nu este dependent doar de

modulul DSP, prelucarea limbajului natural şi sinteza prozodică jucând un rol foarte

important în acest sens.

Mai mult, fără o modelare prozodică foarte bună, chiar dacă o voce sintetică este

inteligibilă şi naturală acest lucru nu garantează transmiterea corectă a mesajului din text. Din

aceste considerente, am ales să prezint şi o serie de metode de evaluare a sistemelor TTS

împărţite în: metode de testare a inteligibilității pentru segmente izolate; metode de testare a

inteligibilităţii unui cuvânt la nivel de propoziție; metode de evaluare la nivel prozodic şi

metode de evaluare generală.

În finalul lucrării am evaluat cinci astfel de sisteme pentru limba română: Ivona, UTC,

Phobos, Google şi Moromete. După cum s-a putut observa din rezultate, este importantă

folosirea combinată a mai multor teste din categorii diferite, pentru a surprinde calitatea unui

TTS. Scorul Moromete pentru testul SST a fost de departe cel mai bun rezultat obţinut de

vreun sistem. Cu toate acestea, scorul MOS, care reflectă calitatea generală a sistemului TTS

a scos în evidenţă sistemele Ivona şi UTC.

Platforme pentru analiza şi generarea semnalului vocal

25

5. Referinţe bibliografice

1. Black, A., Lenzo, K. şi Pagel, V. Issues in building general letter to sound rules.

ESCA Speech Synthesis Work-shop, Jenolan Caves, 1998.

2. Burileanu, D., Contribuţii la sinteza vorbirii din text pentru limba română. Teză

doctorat, 1999

3. Burileanu, D. şi Dan, C., Principii şi tehnici de bază în prelucrarea digitală a

semnalelor. Editura Printech, 2000, ISBN 973-652-127-3

4. Burileanu, D., Sima, M., şi Neagu, A. (1999b). A phonetic converter for speech

synthesis in romanian. Proceedings of the XIVth Congress on Phonetic Sciences

(ICPhS), San Francisco, CA, vol. 1, pp. 503–506, 1999

5. Burileanu, D. şi Negrescu, C. Prosody modeling for an embedded TTS system

implementation. 14th European Signal Processing Conference (EUSIPCO 2006),

Florence, Italy, September 4-8, 2006

6. Burileanu, D., Negrescu, C., Prosody Modeling for an Embedded TTS System

Implementation. Proceedings of the 14th

European Signal Processing Conference

EUSIPCO 2006, Florence, pp. 715–718, 2006

7. Dutoit, T. şi Leich, H., MBR-PSOLA: Text-To-Speech Synthesis based on an MBE

Re-Synthesis of the Segments Database. Speech Communication, Elsevier Publisher,

November 1993, vol. 13.

8. Dutoit, T. A Short Introduction to Text-to-Speech Synthesis,

http://tcts.fpms.ac.be/synthesis/, accesat la 12.07.2011

9. Fant, G., Acoustic Theory of Speech Production., Mouton De Gruyter, 1970, ISBN

90-279-1600-4

10. Huang, X., Acero, A., Hon, H.W. Spoken Language Processing. Prentice-Hall,

Englewood Cliffs, NJ, 2001

11. Hunt, A., Black, A. (1996). Unit selection in a concatenative speech synthesis system

using a large speech database. Proceedings of IEEE int. conf. acoust., speech, and

signal processing (vol. 1, pp. 373–376).

12. Jiampojamarn, S., Cherry, C. şi Kondrak, G. Joint processing and discriminative

training for letter-to-phoneme conversion. Proceedings of ACL-2008: Human

Language Technology Conference, pp. 905–913, Columbus, Ohio, June, 2008.

13. Jozsef, D., Ovidiu, B. şi Gavril, T. Automated grapheme-to-phoneme conversion

system for Romanian. Speech Technology and Human-Computer Dialogue (SpeD),

2011

14. Kaszczuk, M. şi Osowski, L. Evaluating Ivona Speech Synthesis System for Blizzard

Challenge 2006, Blizzard Workshop, 2006.

15. Manning, C. D., şi Schutze, H. Foundations of statistical natural language

processing. Cambridge Massachusetts: MIT Press, 1999.

16. Ungurean, C., Burileanu, D., Popescu, V. şi Derviş, A. Hybrid syllabification and

letter-to phone conversion for tts synthesis. U.P.B. Sci. Bull., Series C, Vol. 73, Iss.

3, ISSN 1454-234x, 2011

Platforme pentru analiza şi generarea semnalului vocal

26

17. Ordean, M., Saupe, A., Ordean, M., Gorgan, D. Componentele unui sistem de sinteza

text-vorbire. A 6-a Conferinta Nationala de Interactiune Om-Calculator, RoCHI2009,

Cluj-Napoca, Romania, 2009

18. Pagel, V., Lenzo, K. and Black, A., “Letter to sound rules for accented lexicon

compression”, International Conference on Spoken Language Processing, Sydney,

Australia, 1998

19. Pantazis, Z., Stylianou, Y., şi Klabbers, E. Discontinuity detection in concatenated

speech synthesis based on nonlinear speech analysis. Proc. of Interspeech 2005,

Lisbon, Portugal, 2005, pp. 2817-2820

20. Stan, A., Yamagishia, J., Kinga, S. şi Aylettc, M. The Romanian Speech Synthesis

(RSS) corpus: building a high quality HMM-based speech synthesis system using a

high sampling rate. 2010

21. Taylor, P. Hidden Markov Models for grapheme to phoneme conversion. Proceedings

of the 9th European Conference on Speech Communication and Technology, 2005.

22. Toma, S. A., Munteanu, D.P. Rule-Based Automatic Phonetic Transcription for the

Romanian Language. Computation World: Future Computing, Service Computation,

Cognitive, Adaptive, Content, Patterns, 2009

23. Vepa, J., & King, S. Join cost for unit selection speech synthesis. Text to speech

synthesis: new paradigms and advances. New York: Prentice Hall (pp. 35–62), 2004.

24. Zen, H., Tokuda, K., Masuko, T., Kobayashi, T., Kitamura, T. A hidden semi-Markov

model-based speech synthesis system. IEICE Trans. Inf. Syst. E90-D (5), 825–834,

2007.


Recommended