eSpeak | |
---|---|
Typ | syntezátor řeči |
Autor | Jonathan Duddington |
Zapsáno v | C++ |
Operační systém | Linux a další UNIXové , Windows |
První vydání | 2006 [1] |
Nejnovější verze | 1.48.04 ( 6. dubna 2014 [1] ) |
Testovací verze | |
Stát | neaktivní |
Licence | GNU GPL |
webová stránka | espeak.sourceforge.net |
Mediální soubory na Wikimedia Commons |
eSpeak je kompaktní svobodný softwarový syntetizér řeči , který podporuje jazyk SSML ( Speech Synthesis Markup Language ). Původní projekt je v současné době neaktivní kvůli zmizení jeho autora Jonathana Daddingtona [3] . vyvíjí fork eSpeakNG
Verze eSpeak existují pro operační systémy jako Microsoft Windows , Mac OS X , Linux , RISC OS a dostupný je také jeho zdrojový kód C++ . Oficiální dokumentace syntezátoru navíc uvádí pokyny pro jeho kompilaci pod Windows Mobile . Program má jedno podstatné omezení – generování hlasu je možné pouze ve WAV souboru. [čtyři]
Kromě toho se eSpeak používá v mobilních operačních systémech Android od verze 1.6 a Maemo , ale tyto projekty nejsou osobně pod dohledem vývojáře a na oficiálních stránkách eSpeak nejsou žádné odpovídající balíčky a verze pro Android má číslo významných chyb při práci v některých jazycích, zejména v ruštině. [5]
Verze pro Windows a Linux jsou pravidelně aktualizovány spolu se zdrojovým kódem, zatímco verze pro Mac a RISC již delší dobu nejsou podporovány.
Verze eSpeak pro Windows je napsána pro platformu Microsoft Speech API 5.x a je k dispozici také jako konzolový nástroj. Verze Mac OS X je samostatná aplikace, která není zabudována do systémové hlasové služby společnosti Apple a vyžaduje ruční konfiguraci. Existuje však možnost zrychlené instalace pomocí speciálního balíčku eSpeak Macintosh Installer. [6]
eSpeak podporuje asi pět desítek různých jazyků. Při instalaci musí uživatel specifikovat, které dialekty má zájem podporovat. [7]
Níže je uveden seznam jazyků podporovaných syntezátorem eSpeak a jejich označení, která se používají v jeho nastavení.
Seznam podporovaných jazyků lze také rozšířit pomocí hlasových knihoven MBROLA, které lze připojit k eSpeak.
MBROLA je speciální algoritmus difonické syntézy řeči, na jehož základě bylo vytvořeno mnoho různých softwarových produktů se zahrnutím technologie převodu textu na řeč (TTS). Tento projekt drží rekord mezi ostatními technologiemi syntézy řeči, pokud jde o počet různých jazyků, pro které byl použit. Přestože hlasy MBROLA pro některé běžné jazyky, včetně ruštiny, ještě nebyly vytvořeny. [osm]
eSpeak může pracovat ve spojení s MBROLA, což umožňuje používat hlasové knihovny tohoto projektu jako součást samotného eSpeak. To vám umožní dále rozšířit seznam podporovaných jazyků pro syntézu řeči na text.
eSpeak a MBROLA můžete používat na operačních systémech jako Windows , Linux [8] a Mac OS X [6] .
Ne všechny hlasové knihovny MBROLA však podporují integraci eSpeak.
Slova vstupního textu, který se má syntetizovat, procházejí dvěma fázemi zpracování:
Pravidla pro získání posloupnosti fonémů jsou uložena ve tvaru „A, B, C = D“. Kde B je dotyčné písmeno, A a C jsou kontext prostředí tohoto písmene ve slově a D je foném, na který lze toto písmeno převést. Kontext prostředí lze specifikovat jak konkrétními písmeny, tak speciálními znaky označujícími skupiny písmen. Pravidla syntezátoru umožňují nejednoznačnou definici takových řetězců. Aby se tato nejednoznačnost vyřešila, syntezátor přiřadí každému pravidlu prioritu, která se vypočítá na základě počtu písmen zahrnutých v pravidle a specifičnosti definice kontextu prostředí. Pravidla mohou také specifikovat rozdíly v překladu v závislosti na přízvuku.
V eSpeak jsou zvuky samohlásek vždy syntetizovány, znělé souhlásky jsou získávány smícháním syntetizovaných zvuků s předem nahranými zvuky hlasu a všechny ostatní zvuky jsou jednoduše zaznamenány, například [w].
Každý zvuk, kromě neznělých souhlásek, je reprezentován posloupností formantů. Kromě informací o formantech má každý foném informace o jeho amplitudě, délce zvuku a zpoždění před dalším fonémem. Na základě těchto parametrů je zvuk samohlásky syntetizován pomocí algoritmů implementovaných v syntezátoru. Informace o fonémech a formantech jsou uloženy v samostatných souborech, které jsou také následně kompilovány do binárního formátu.
Nástroj eSpeak Edit je dodáván se syntezátorem. Toto je GUI aplikace napsaná pomocí knihovny WXLib. Umožňuje vizuálně upravovat hotové fonémy. Foném je reprezentován jako křivkový graf, kde lze postupně vybírat formanty a měnit jejich hodnoty, jako je frekvence, výška a šířka. Díky těmto vlastnostem můžete na základě hotových fonémů získat nové, přesnější zvuky pro určitý jazyk. Některé z fonémů přitom nelze získat úpravou stávajících. Například při vývoji ruskojazyčné části eSpeak byl zvuk [r] speciálně zaznamenán, protože v jiných jazycích pro něj neexistoval žádný hodný analog. [9]
eSpeak je open source projekt, díky tomu jej někteří vývojáři integrovali do svých produktů.
eSpeak se používá jako hlavní syntetizér řeči v nekomerčním open source čtečce obrazovky NVDA . S jeho pomocí se ozve hlasový proces instalace programu a je to také výchozí hlas při prvním spuštění.
V dalším řečovém syntezátoru Captain, který vyvinuli Anatolij Kamynin a Gennadij Nefedov, je na bázi eSpeak postaven další balíček, který poskytuje samostatné čtení vícejazyčných textů: ruský nebo ukrajinský text čte syntezátor Captain a anglický, francouzský popř. Němčina od syntezátoru eSpeak. Tato funkce je implementována v Captain Speech Synthesizer jak ve verzi pod MS Speech API 4 [10] , tak ve verzi pod MS Speech API 5.x [11] .
Některé jazyky nemají jednoduchá a univerzální pravidla pro vytváření gramotné řeči a eSpeak vyžaduje další komponenty pro vytváření vysoce kvalitní syntézy v těchto jazycích. Aby nedošlo ke zvětšení velikosti hlavního balíčku eSpeak, jsou tyto komponenty distribuovány samostatně. Zejména v ruštině neexistují žádná obecná pravidla, která by ve slovech stanovila přízvučnou slabiku. V těchto případech se eSpeak snaží určit přízvuk slova, ale tato výslovnost často neodpovídá té správné. K vyřešení tohoto problému existuje speciální rozšířený slovník výslovnosti, který je nutné nainstalovat odděleně od hlavního balíčku eSpeak.
Kromě ruštiny jsou pro čínštinu (putonghua a kantonština) k dispozici také komponenty pro korekci řeči eSpeak třetích stran.
Tyto slovníky si můžete stáhnout z oficiálních stránek projektu.
syntéza řeči | |
---|---|
Proprietární software |
|
svobodný software |
|
Auto |
|
Aplikace |
|
Protokoly | Značkovací jazyk syntézy řeči |
Vývojáři / výzkumníci |
|
Proces |
|