Teza doctorat (pdf) - Universitatea Tehnică
Teza doctorat (pdf) - Universitatea Tehnică Teza doctorat (pdf) - Universitatea Tehnică
Cost 180 Cap. 6. Metode de sinteză de voce 6.3.2.4. Calculul costurilor şi măsurile distanţelor dintre unităţi [Mob00] Există două metode pentru calculul costurilor (Target Cost Tij , respectiv Concatenation i k C ij ) 1 ( ) din graful stărilor: metoda de căutare în spaţiul stărilor ( Weight Space Search) şi metoda de grupare a unităţilor în funcţie de context (Context Clustering). 6.3.2.4.1. Metoda de căutare în spaţiul stărilor (Weight Space Search) Această metodă calculează spaţiul total de ponderi (costuri) din graf prin intermediul unei abordări de tip analiză-sinteză. Astfel, se iau diferite texte de intrare care se sintetizează prin toate posibilităţile de combinare a unităţilor din baza de date. Apoi textul se rosteşte propriu-zis de către un vorbitor uman şi apoi se calculează distanţele dintre rostirea sintetizată şi rostirea naturală. Distanţele calculate în interiorul unităţilor dau costul unităţii (Target Cost), iar distanţele calculate în vecinătatea punctelor de concatenare dau costurile de tranziţie (Concatenation Cost). Pentru calculul distanţelor se poate folosi distanţa euclidiană cepstrală, calculată pe baza parametrilor de semnal ai unităţilor acustice. i ( c ') D i c i 2 (6.18) unde: - D este distanţa euclidiană cepstrală; - Ci, respectiv Ci’ sunt coeficienţii cepstrali ai segmentelor acustice comparate. Pe lângă distanţele cepstrale se pot folosi diferenţe perceptuale între semnalul sintetizat şi rostirea naturală. Se pot calcula şi predictorii perceptuali care să cuantifice calitatea rostirii sintetizate prin concatenarea a două unităţi. Metoda de căutare în spaţiul stărilor este o metodă care dă rezultate bune, dar are dezavantajul că necesită un număr mare de rostiri pentru calculul ponderilor. Metoda pe care o vom prezenta în paragraful următor nu necesită rostiri suplimentare pentru determinarea acestor ponderi, folosind distanţe bazate pe similarităţi acustice. 6.3.2.4.2. Metoda de grupare a unităţilor în funcţie de context (Context Clustering) Metoda aceasta se bazează pe construirea unor arbori de decizie (decision tree clustering) care grupează în clase de echivalenţă toate apariţiile fonematice din baza de date. O clasă de echivalenţă conţine toate apariţiile unei foneme din baza de date care se referă la acelaşi context lexical. În exemplul următor, pentru fonema « a », celor trei contexte lexicale diferite le sunt asociate trei clase de echivalenţă, fiecare clasă conţinând costuri asociate fiecărei apariţii ale fonemei în contextul respectiv din baza de date : [a] : Clasa 1. « masă » : Ctx=[ms] ; Costuri: [T11, CC11], ..., [T1n , CC1n]; Clasa 1. « casă » : Ctx=[cs] ; Costuri: [T21, CC21], ..., [T2n , CC2n]; Clasa 2. « fată » : Ctx=[ft] ; Costuri: [T31, CC31], ..., [T3n , CC3n]; . . . . .
181 Cap. 6. Metode de sinteză de voce În exemplul de mai sus, parametrul Ctx indică apariţia contextuală a fonemei, Tij este costul unităţii ( Target Cost), CCij este costul de concatenare ( Concatenation Cost), aici fiind luate în considerare ponderile asociate contextului stânga, respectiv dreapta al fonemei. Arborele de decizie asociat acestui exemplu cu trei clase de echivalenţă este dat în figura 6.10: Figura 6.10. Arborele de decizie pentru fonema “a” În interiorul clasei de echivalenţă pentru o anumită fonemă, costurile se păstrează ca nişte măsuri de similaritate acustică. Astfel, pentru costul unităţii Target Cost se calculează o distanţă spectrală a segmentului faţă de un segment de referinţă ales din interiorul clasei, iar pentru costul de concatenare Concatenation Cost - o distanţă spectrală calculată în punctele de concatenare, relativă la acelaşi segment de referinţă. Dacă în cadrul unui cuvânt de sintetizat, pentru o anumită fonemă nu se găseşte o clasă de echivalenţă corespunzătoare contextului dorit, se va folosi aceeaşi fonemă dar dintr-o altă clasă de echivalenţă (dintr-un alt context), iar costurile se vor interpola pe baza ponderilor existente. La fel se va proceda şi în cazul în care nu este disponibilă o fonemă cu caracteristicile prozodice de tipul dorit. Selecţia unităţilor de concatenat se face pe baza arborilor de decizie fonematici, folosind costurile de unitate şi de concatenare pentru fonemele componente. Funcţiile de cost TC (Target Cost) şi CC (Concatenation Cost) sunt minimizate folosind un algoritm de programare dinamică. Secvenţa de foneme care minimizează costul global pe toată propoziţia va fi secvenţa optimă de concatenat. T11, CC11 Avantajul metodei Context Clustering este acela că baza de date cu unităţile acustice e organizată off-line, reducându-se astfel timpul de calcul al sintezei. a Ctx=[ms] Ctx=[cs] Ctx=[ft] T1n , CC1n T21, CC21 T2n , CC2n T31, CC31 T3n , CC3n
- Page 148 and 149: 130 Cap. 4. Analiza semnalului voca
- Page 150 and 151: 132 Cap. 4. Analiza semnalului voca
- Page 152 and 153: 134 Cap. 4. Analiza semnalului voca
- Page 154 and 155: 136 Cap. 4. Analiza semnalului voca
- Page 156 and 157: 4.8.4.1. Calculul distanţei dintre
- Page 158 and 159: F(C1) C1 C2 Np E(a,b) 140 Dp Cap. 4
- Page 160 and 161: Tabelul 4.10. Stabilirea frontierel
- Page 162 and 163: 144 Cap. 4. Analiza semnalului voca
- Page 164 and 165: Tabelul 4.13. Stabilirea frontierel
- Page 166 and 167: 2) Compararea vectorilor din regiun
- Page 168 and 169: 150 Cap. 4. Analiza semnalului voca
- Page 170 and 171: c) În faza de etichetare s-a mers
- Page 172 and 173: 154 Cap. 4. Analiza semnalului voca
- Page 174 and 175: 156 Cap. 5. Sinteza de voce Aşa cu
- Page 176 and 177: 158 Cap. 5. Sinteza de voce Metodel
- Page 178 and 179: 160 Cap. 5. Sinteza de voce Urmeaz
- Page 180 and 181: 6. Metode de sinteză de voce 6.1.
- Page 182 and 183: 164 Cap. 6. Metode de sinteză de v
- Page 184 and 185: 166 Cap. 6. Metode de sinteză de v
- Page 186 and 187: 168 Cap. 6. Metode de sinteză de v
- Page 188 and 189: 170 Cap. 6. Metode de sinteză de v
- Page 190 and 191: 172 Cap. 6. Metode de sinteză de v
- Page 192 and 193: x(t) x1(t) x2(t) x1(t) x2(t) X1(t)
- Page 194 and 195: 6.3.2. Metoda bazată pe corpus 176
- Page 196 and 197: 178 Cap. 6. Metode de sinteză de v
- Page 200 and 201: 6.3.2.5. Algoritmul metodei de sint
- Page 202 and 203: Fiecare fază cuprinde mai multe et
- Page 204 and 205: 186 Cap. 6. Metode de sinteză de v
- Page 206 and 207: cat(Cuvint,term[nrcif]); if(nrcif>0
- Page 208 and 209: TEXT Forma flexionată Figura 6.13.
- Page 210 and 211: 192 Cap. 6. Metode de sinteză de v
- Page 212 and 213: 194 Cap. 6. Metode de sinteză de v
- Page 214 and 215: {LIT}+(le|lui)/{SEP} {/*peştele*/
- Page 216 and 217: {LIT}+{CONS}e/{SEP} {/* merge */ Ca
- Page 218 and 219: 200 Cap. 6. Metode de sinteză de v
- Page 220 and 221: 202 Cap. 6. Metode de sinteză de v
- Page 222 and 223: 204 Cap. 6. Metode de sinteză de v
- Page 224 and 225: silaba: SILABA { ProcesareSilaba($1
- Page 226 and 227: 208 Cap. 6. Metode de sinteză de v
- Page 228 and 229: 210 Cap. 6. Metode de sinteză de v
- Page 230 and 231: 212 Cap. 6. Metode de sinteză de v
- Page 232 and 233: 214 Cap. 6. Metode de sinteză de v
- Page 234 and 235: 216 Cap. 6. Metode de sinteză de v
- Page 236 and 237: 218 Cap. 6. Metode de sinteză de v
- Page 238 and 239: 220 Cap. 6. Metode de sinteză de v
- Page 240 and 241: 222 Cap. 6. Metode de sinteză de v
- Page 242 and 243: -----------------------------------
- Page 244 and 245: 6.4.6. Proiectarea bazei de date vo
- Page 246 and 247: 228 Cap. 6. Metode de sinteză de v
181<br />
Cap. 6. Metode de sinteză de voce<br />
În exemplul de mai sus, parametrul Ctx indică apariţia contextuală a fonemei, Tij este<br />
costul unităţii ( Target Cost), CCij este costul de concatenare ( Concatenation Cost), aici fiind<br />
luate în considerare ponderile asociate contextului stânga, respectiv dreapta al fonemei. Arborele<br />
de decizie asociat acestui exemplu cu trei clase de echivalenţă este dat în figura 6.10:<br />
Figura 6.10. Arborele de decizie pentru fonema “a”<br />
În interiorul clasei de echivalenţă pentru o anumită fonemă, costurile se păstrează ca nişte<br />
măsuri de similaritate acustică. Astfel, pentru costul unităţii Target Cost se calculează o distanţă<br />
spectrală a segmentului faţă de un segment de referinţă ales din interiorul clasei, iar pentru costul<br />
de concatenare Concatenation Cost - o distanţă spectrală calculată în punctele de concatenare,<br />
relativă la acelaşi segment de referinţă.<br />
Dacă în cadrul unui cuvânt de sintetizat, pentru o anumită fonemă nu se găseşte o clasă de<br />
echivalenţă corespunzătoare contextului dorit, se va folosi aceeaşi fonemă dar dintr-o altă clasă<br />
de echivalenţă (dintr-un alt context), iar costurile se vor interpola pe baza ponderilor existente.<br />
La fel se va proceda şi în cazul în care nu este disponibilă o fonemă cu caracteristicile prozodice<br />
de tipul dorit.<br />
Selecţia unităţilor de concatenat se face pe baza arborilor de decizie fonematici, folosind<br />
costurile de unitate şi de concatenare pentru fonemele componente. Funcţiile de cost TC (Target<br />
Cost) şi CC (Concatenation Cost) sunt minimizate folosind un algoritm de programare dinamică.<br />
Secvenţa de foneme care minimizează costul global pe toată propoziţia va fi secvenţa optimă de<br />
concatenat.<br />
T11, CC11<br />
Avantajul metodei Context Clustering este acela că baza de date cu unităţile acustice e<br />
organizată off-line, reducându-se astfel timpul de calcul al sintezei.<br />
a<br />
Ctx=[ms] Ctx=[cs] Ctx=[ft]<br />
T1n , CC1n<br />
T21, CC21<br />
T2n , CC2n<br />
T31, CC31<br />
T3n , CC3n