ESpeak

eSpeak
Tip de sintetizator de vorbire
Autor Jonathan Duddington
Scris in C++
Sistem de operare Linux și alte tipuri de UNIX , Windows
Prima editie 2006 [1]
ultima versiune 1.48.04 ( 6 aprilie 2014 [1] )
Versiune de testare
Stat inactiv
Licență GNU GPL
Site-ul web espeak.sourceforge.net
 Fișiere media la Wikimedia Commons

eSpeak este un sintetizator de vorbire compact cu software gratuit care acceptă limbajul de marcare a sintezei vorbirii (SSML). Proiectul original este în prezent inactiv din cauza dispariției autorului său, Jonathan Daddington [3] . Un furk al eSpeakNG dezvoltat de

Sisteme de operare

Există versiuni de eSpeak pentru sisteme de operare precum Microsoft Windows , Mac OS X , Linux , RISC OS , iar codul sursă C++ este de asemenea disponibil . În plus, documentația oficială a sintetizatorului oferă instrucțiuni pentru compilarea acestuia sub Windows Mobile . Programul are o limitare semnificativă - generarea vocii este posibilă numai într-un fișier WAV . [patru]

În plus, eSpeak este utilizat în sistemele de operare mobile Android , începând cu versiunea 1.6, și Maemo , dar aceste proiecte nu sunt supravegheate personal de dezvoltator și nu există pachete corespunzătoare pe site-ul oficial eSpeak, iar versiunea Android are un număr erori semnificative atunci când lucrați în unele limbi, în special rusă. [5]

Versiunile Windows și Linux sunt actualizate în mod regulat împreună cu codul sursă, în timp ce versiunile Mac și RISC nu au fost acceptate de mult timp.

Versiunea eSpeak pentru Windows este scrisă pentru platforma Microsoft Speech API 5.x și este disponibilă și ca utilitar de consolă. Versiunea Mac OS X este o aplicație de sine stătătoare care nu este încorporată în serviciul de vorbire de sistem Apple și necesită o configurare manuală. Cu toate acestea, există o opțiune pentru o instalare accelerată folosind un pachet special de instalare eSpeak Macintosh. [6]

Limbi acceptate

eSpeak acceptă aproximativ cinci duzini de limbi diferite. În timpul instalării, utilizatorul trebuie să specifice ce dialecte este interesat să accepte. [7]

Mai jos este o listă a limbilor acceptate de sintetizatorul eSpeak și a denumirilor acestora care sunt utilizate în setările acestuia.

Lista limbilor acceptate poate fi extinsă și prin utilizarea bibliotecilor de voce MBROLA care pot fi conectate la eSpeak.

eSpeak și MBROLA

MBROLA este un algoritm special de sinteză difonică a vorbirii, pe baza căruia au fost create multe produse software diferite cu includerea tehnologiei text-to-speech (TTS). Acest proiect deține recordul printre alte tehnologii de sinteză a vorbirii în ceea ce privește numărul de limbi diferite pentru care a fost folosit. Deși vocile MBROLA nu au fost încă create pentru unele limbi comune, inclusiv rusă. [opt]

eSpeak poate funcționa împreună cu MBROLA, ceea ce face posibilă utilizarea bibliotecilor de voce ale acestui proiect ca parte a eSpeak în sine. Acest lucru vă permite să extindeți și mai mult lista de limbi acceptate pentru sinteza vorbire în text.

Puteți utiliza eSpeak și MBROLA pe sisteme de operare precum Windows , Linux [8] și Mac OS X [6] .

Cu toate acestea, nu toate bibliotecile de voce MBROLA acceptă integrarea eSpeak.

Principii de implementare

Cuvintele textului introdus care trebuie sintetizat trec prin două etape de procesare:

Regulile pentru obținerea unei secvențe de foneme sunt stocate sub forma „A, B, C = D”. Unde B este litera în cauză, A și C sunt contextul mediului acelei litere din cuvânt, iar D este fonemul în care acea litera poate fi convertită. Contextul mediului poate fi specificat atât prin litere specifice, cât și prin caractere speciale care denotă grupuri de litere. Regulile sintetizatorului permit definirea ambiguă a unor astfel de lanțuri. Pentru a rezolva această ambiguitate, sintetizatorul atribuie o prioritate fiecărei reguli, care este calculată pe baza numărului de litere implicate în regulă și a specificității definiției contextului mediului. Regulile pot specifica și diferențe de traducere în funcție de accent.

În eSpeak, sunetele vocale sunt întotdeauna sintetizate, consoanele vocale sunt obținute prin amestecarea sunetelor sintetizate cu zgomote vocale preînregistrate și toate celelalte sunete sunt pur și simplu înregistrate, de exemplu, [w].

Fiecare sunet, cu excepția consoanelor fără voce, este reprezentat de o secvență de formanți. Pe lângă informațiile despre formanți, fiecare fonem are informații despre amplitudinea, durata sunetului și întârzierea înainte de următorul fonem. Pe baza acestor parametri, sunetul unei vocale este sintetizat folosind algoritmi implementați în sintetizator. Informațiile despre foneme și formați sunt stocate în fișiere separate, care sunt, de asemenea, compilate ulterior într-un format binar.

Utilitarul eSpeak Edit vine cu sintetizatorul. Aceasta este o aplicație GUI scrisă folosind biblioteca WXLib. Vă permite să editați vizual foneme gata făcute. Fonemul este reprezentat ca un grafic de curbă, unde se pot selecta secvenţial formanţii şi se pot modifica valorile, cum ar fi frecvenţa, înălţimea şi lăţimea. Datorită acestor caracteristici, pe baza unor foneme gata făcute, puteți obține sunete noi, mai precise pentru o anumită limbă. În același timp, unele foneme nu pot fi obținute prin modificarea celor existente. De exemplu, la dezvoltarea părții în limba rusă a eSpeak, sunetul [r] a fost înregistrat special, deoarece nu exista un analog demn pentru el în alte limbi. [9]

Proiecte care folosesc eSpeak

eSpeak este un proiect open source , datorită acestui fapt, unii dezvoltatori l-au integrat în produsele lor.

NVDA

eSpeak este folosit ca sintetizator principal de vorbire în cititorul de ecran open source non-comercial NVDA . Cu ajutorul acestuia, procesul de instalare a programului este exprimat și este, de asemenea, vocea implicită la prima lansare.

Sintetizator de vorbire „Captain”

Într-un alt sintetizator de vorbire, Captain, dezvoltat de Anatoly Kamynin și Gennady Nefedov, este construit un pachet suplimentar pe baza eSpeak, care oferă citirea separată a textelor multilingve: textul în rusă sau ucraineană este citit de sintetizatorul Captain și în engleză, franceză sau Germană de sintetizatorul eSpeak. Această funcție este implementată în Captain Speech Synthesizer atât în ​​versiunea sub MS Speech API 4 [10] , cât și în versiunea sub MS Speech API 5.x [11] .

Suplimente de la terți

Unele limbi nu au reguli simple și universale pentru construirea vorbirii alfabetizate, iar eSpeak necesită componente suplimentare pentru a produce o sinteză de înaltă calitate în aceste limbi. Pentru a evita creșterea dimensiunii pachetului principal eSpeak, aceste componente sunt distribuite separat. În special, nu există reguli generale în limba rusă care să stabilească silaba accentuată în cuvinte. În aceste cazuri, eSpeak încearcă să determine accentul cuvântului, dar această pronunție adesea nu corespunde cu cea corectă. Pentru a rezolva această problemă, există un dicționar de pronunție extins special, care trebuie instalat separat de pachetul principal eSpeak.

Pe lângă limba rusă, componentele de corectare a vorbirii eSpeak de la terți sunt disponibile și pentru chineză (putonghua și cantoneză).

Puteți descărca aceste dicționare de pe site-ul oficial al proiectului.

Vezi și

Note

  1. 1 2 Depozitul eSpeak . . Preluat la 14 august 2013. Arhivat din original la 17 mai 2013.
  2. http://espeak.sourceforge.net/test/latest.html
  3. Asumarea proiectului eSpeak și viitorul acestuia . Preluat la 14 ianuarie 2019. Arhivat din original la 15 ianuarie 2019.
  4. Manakhov P. - Prezentare generală a motoarelor mobile Text-To-Speech . Preluat la 20 mai 2011. Arhivat din original la 12 octombrie 2011.
  5. Tseykovets N. - Prezentare generală a sintetizatoarelor de vorbire în limba rusă pentru sistemul de operare Android . Preluat la 26 martie 2012. Arhivat din original la 3 aprilie 2012.
  6. 1 2 Tseykovets N. - Instalarea sintetizatorului eSpeak în mediul Mac OS X utilizând programul de instalare eSpeak Macintosh . Preluat la 2 mai 2011. Arhivat din original la 11 octombrie 2011.
  7. Instrucțiuni de instalare eSpeak . Preluat la 2 mai 2011. Arhivat din original la 22 ianuarie 2012.
  8. 1 2 Tseykovets N. - Utilizarea vocilor MBROLA în mediul MS Windows . Preluat la 2 mai 2011. Arhivat din original la 3 iunie 2011.
  9. Pozhidaeva R. - Rusificarea sintetizatorului de vorbire espeak: Introducere . Preluat la 2 mai 2011. Arhivat din original la 16 iunie 2012.
  10. Sintetizatorul de vorbire „Captain” (versiunea pentru MS SAPI 4) . Preluat la 2 mai 2011. Arhivat din original la 28 iunie 2012.
  11. Sintetizatorul de vorbire „Captain” (versiunea pentru MS SAPI 5.x) . Preluat la 2 mai 2011. Arhivat din original la 17 iulie 2011.

Link -uri