SSML

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Speech Synthesis Markup Language (SSML) (engleză: limbajul de markup pentru sinteza vorbirii ) este un limbaj de markup bazat pe XML și orientat spre conversia textului în sisteme de vorbire, pentru a controla și optimiza randamentul. Limba a fost specificată de grupul de studiu „Navigator vocal” al World Wide Web Consortium (W3C) și găsește aplicații frecvente în scripturile de tip VoiceXML pentru sisteme de telefonie interactivă automată. Este, de asemenea, utilizat pentru producția de cărți audio .

Deși multe companii care produc sisteme de sinteză a vorbirii au contribuit la specificația actuală (inclusiv centrul de cercetare italian CSELT [1] ), SSML se bazează pe JSML ( Java Speech Markup Language ), un limbaj de markup conceput de Sun Microsystems . Limbajul nu este un standard obligatoriu: de fapt, fiecare sintetizator de vorbire trebuie să poată efectua în continuare conversia chiar și în absența marcajului și, la urma urmei, definițiile limbajului nu oferă un marcaj specific pentru unele funcții de bază care ar trebui să să fie deja prezent.în orice sistem de sinteză a vorbirii (cum ar fi întreruperea punctuației).

Caracteristici

Etichetele definite în SSML sunt capabile să controleze performanța unui sistem de sinteză în toate cele șase faze fundamentale ale procesului tipic de procesare [2] :

  1. Scanarea XML ( analiză ): în această fază, fișierul SSML este examinat pentru a extrage partea conținutului. Marcajul controlează randamentul a ceea ce sistemul de sinteză va considera entități unice ( jetoane ); de exemplu: anul <pauză /> nou se va asigura că cele două cuvinte „ an ” și „ nou ” sunt tratate ca două cuvinte complet desprinse una de cealaltă în loc de două cuvinte legate între ele și separate doar printr-o scurtă pauză.
  2. Analiza structurii: în această fază marcajul controlează subdiviziunea în paragrafe și propoziții , permițându-vă astfel să verificați decalajele dintre diferite părți ale textului.
  3. Normalizarea textului: în această fază, sistemul de sinteză rezolvă și pregătește construcții particulare, cum ar fi abrevieri și numere pentru redare, pe baza contextului și în funcție de limbajul final. Marcajul este utilizat pentru a verifica și rezolva ambiguitățile, indicând direct sistemului de sinteză modul în care ar trebui convertită partea specifică: de exemplu, vă permite să indicați dacă textul „1/2” trebuie pronunțat ca „ jumătate ”, „ jumătate ” "," unul din doi "," unul sau doi ". Acest lucru este deosebit de util pentru limbile orientale, unde pronunția caracterului unic se poate schimba complet în funcție de context sau de sistemul utilizat. Un exemplu este limba japoneză în care, în caz de ambiguitate între Kanji și Kana , redarea fonetică corectă dorită poate fi indicată prin marcare, de ex. dacă 今日 は ar trebui pronunțat き ょ う は (" kyou wa " = " astăzi ") sau こ ん に ち は (" konnichiwa " = " salut ").
  4. Conversia text- fonem : în această etapă, sistemul de sinteză trebuie să proceseze pronunția corectă, pe baza fonemelor specifice unei limbi specifice. Marcajul poate fi utilizat pentru a verifica în mod explicit pronunția dorită și în această fază este deosebit de util pentru acronime sau abrevieri pe care sistemul de sinteză nu le-a putut rezolva în timpul fazei de normalizare.
  5. Analiza prosodică : în această fază sistemul de sinteză generează și controlează o serie întreagă de parametri care sunt folosiți pentru a face sinteza cât mai aproape de vorbirea vorbită a unei ființe umane: intonație , ritm , pauze , viteză , accentuare etc. Marcarea în această etapă este deosebit de eficientă, deoarece permite controlul direct al unora dintre acești parametri.
  6. Generarea audio: marcajul în această fază vă permite să selectați tipul de voce (masculin, feminin), caracteristicile sale specifice (de exemplu, femeie tânără, bărbat bătrân) și, de asemenea, posibila inserare a elementelor audio preînregistrate.

Evoluţie

Versiunea 1.0 a SSML, în vigoare în prezent, a introdus toate elementele de bază. Cu toate acestea, ca urmare a ameliorării tehnicilor de sinteză și, mai ales, a apariției unor noi realități industriale și economice, în special în Asia , a apărut necesitatea extinderii și îmbunătățirii controlului prin markup [3] .

Din aceste nevoi a început definirea versiunii 1.1, care extinde practic toate caracteristicile de markup ale versiunii 1.0. Printre principalele caracteristici adăugate se numără:

  • capacitatea de a controla ce părți ale textului ar trebui convertite în audio
  • posibilitatea referențierii și selectării surselor externe pentru definirea regulilor de pronunție
  • verificarea explicită a definiției unui simbol și a unui singur cuvânt
  • un eveniment pentru gestionarea erorilor în sinteză (de exemplu în cazul imposibilității de a genera o anumită pronunție sau o anumită voce într-o limbă specifică)
  • controale mai extinse pentru redarea sunetului înregistrat ( volum , viteză, repetare continuă)

W3C a lansat versiunea 1.1 în faza „Recomandarea candidatului” pentru prima dată [4] la 7 noiembrie 2008 și o actualizare ulterioară [5] la 27 august 2009 : aceasta înseamnă că este deja posibil ca producătorii să utilizeze conținutul specificația la primele implementări de testare. Următoarea fază, imediat precedentă aprobării finale, implică trecerea la „recomandarea propusă”. Această tranziție, care conform procesului W3C ar fi putut avea loc numai după 27 noiembrie 2009 , a avut loc la 7 septembrie 2010 .

Exemplu

Acesta este un exemplu de document SSML care controlează generarea aceluiași mesaj în două limbi diferite ( engleza americană și spaniola mexicană ), asociat cu o alegere:

 <? xml version = "1.0"?>
<speak xmlns = "http://www.w3.org/2001/10/synthesis"
       xmlns: dc = "http://purl.org/dc/elements/1.1/"
       version = "1.0" >
  <metadata>
    <dc: title xml: lang = "ro" > Telefon Meniu: Nivelul 1 </ dc: title>
  </metadata>

  <p>
    <s xml: lang = "en-US" >
      <voice name = "David" gender = "male" age = "25" >
        Pentru limba engleză, apăsați <emphasis> one </emphasis> .
      </voice>
    </s>
    <s xml: lang = "es-MX" >
      <voice name = "Miguel" gender = "masculin" age = "25" >
        Para español, oprima el <emphasis> dos </emphasis> .
      </voice>
    </s>
  </p>
</speak>

Notă

Bibliografie

Elemente conexe

Alte proiecte

linkuri externe

Internet Portal internet : accesați intrările Wikipedia care se ocupă de internet