ESpeak - ESpeak
Původní autoři | Jonathan Duddington |
---|---|
Vývojáři | Reece Dunn |
První vydání | Února 2006 |
Stabilní uvolnění | 1.50 / 30. října 2020 |
Úložiště | github |
Napsáno | C |
Operační systém | Linux Okna Operační Systém Mac FreeBSD |
Typ | Syntezátor řeči |
Licence | GPLv3 |
webová stránka | github |
eSpeakNG je kompaktní, open-source, software syntetizátor řeči pro Linux, Okna a další platformy. Používá a syntéza formantů metoda poskytující mnoho jazyků v malé velikosti. Velká část programování jazykové podpory eSpeakNG se provádí pomocí souborů pravidel se zpětnou vazbou od rodilých mluvčích.
Vzhledem ke své malé velikosti a mnoha jazykům je v programu zahrnut jako výchozí syntetizátor řeči NVDA [1] otevřený zdroj čtečka obrazovky pro Windows i Android,[2] Ubuntu[3] a další linuxové distribuce. Jeho předchůdce eSpeak doporučil Microsoft v roce 2016[4] a byl používán uživatelem Google Překladač pro 27 jazyků v roce 2010;[5] 17 z nich bylo následně nahrazeno komerčními hlasy.[6]
Kvalita jazykových hlasů se velmi liší. V předchůdci eSpeakNG eSpeak byly počáteční verze některých jazyků založeny na informacích nalezených na Wikipedia.[7] Některé jazyky mají více práce nebo zpětnou vazbu od rodilých mluvčích než jiné. Většina lidí, kteří pomohli zlepšit různé jazyky, jsou slepí uživatelé převodu textu na řeč.
Dějiny
V roce 1995 vydal Jonathan Duddington pro Speak syntetizér řeči RISC OS počítače podporující britskou angličtinu.[8] Dne 17. Února 2006 byl Speak 1.05 vydán pod GPLv2 licence, původně pro Linux, s Windows SAPI 5 verze přidána v lednu 2007.[9] Vývoj na Speak pokračoval až do verze 1.14, kdy byla přejmenována na eSpeak.
Vývoj eSpeak pokračoval od 1.16 (nedošlo k vydání 1.15)[9] s přidáním programu eSpeakEdit pro úpravy a vytváření hlasových dat eSpeak. Ty byly k dispozici pouze jako samostatný zdroj a binární stahování až do eSpeak 1.24. Verze 1.24.02 eSpeak byla první verzí eSpeaku, kterou lze ovládat pomocí verze podvracení,[10] se samostatným zdrojovým a binárním stahováním zpřístupněným na Sourceforge.[9] Od eSpeak 1.27 byl eSpeak aktualizován, aby používal GPLv3 licence.[11] Poslední oficiální vydání eSpeak bylo 1.48.04 pro Windows a Linux, 1.47.06 pro RISC OS a 1.45.04 pro Operační Systém Mac.[12] Poslední vývojová verze eSpeak byla 16. dubna 2015 1.48.15.[13]
eSpeak používá Usenetové schéma reprezentovat fonémy se znaky ASCII.[14]
eSpeak NG
Dne 25. června 2010,[15] Reece Dunn zahájil a Vidlička eSpeak na GitHub pomocí verze 1.43.46. Začalo to jako snaha usnadnit vytváření eSpeak na Linuxu a dalších POSIX platformy.
Dne 4. října 2015 (6 měsíců po vydání eSpeaku 1.48.15) se tato vidlice začala výrazněji odchylovat od původního eSpeaku.[16][17]
Dne 8. prosince 2015 proběhly diskuse na e-mailovém seznamu eSpeak o nedostatečné aktivitě Jonathana Duddingtona za posledních 8 měsíců od posledního vydání vývoje eSpeak. Z toho se vyvinuly diskuse o pokračujícím vývoji eSpeak v Jonathanově nepřítomnosti.[18][19] Výsledkem toho bylo vytvoření vidlice espeak-ng (Next Generation) využívající verzi eSpeak GitHub jako základ pro budoucí vývoj.
Dne 11. prosince 2015 byla spuštěna vidlice espeak-ng.[20] První vydání espeak-ng bylo 1.49.0 dne 10. září 2016,[21] obsahující významné vyčištění kódu, opravy chyb a jazykové aktualizace.
Funkce
eSpeakNG lze použít jako program příkazového řádku nebo jako sdílenou knihovnu.
Podporuje to Značkovací jazyk syntézy řeči (SSML).
Hlasy jazyků jsou identifikovány podle jazyka ISO 639-1 kód. Lze je upravit pomocí „hlasových variant“. Jedná se o textové soubory, které mohou změnit charakteristiky, jako je rozsah výšky tónu, přidat efekty, jako je echo, šepot a chraplavý hlas, nebo provádět systematické úpravy formujících frekvencí, aby se změnil zvuk hlasu. Například „af“ je afrikánský hlas. „af + f2“ je afrikánský hlas upravený variantou hlasu „f2“, která mění formanty a rozsah výšky tónu tak, aby poskytovaly ženský zvuk.
eSpeakNG používá ASCII reprezentaci jmen fonémů, která volně vychází z Systém Usenet.
Fonetická znázornění lze zahrnout do zadávání textu tak, že je zahrnete do dvojitých hranatých závorek. Například: espeak-ng -v cs „Ahoj [[w3: ld]]“ řekne Ahoj světe v angličtině.
Metoda syntézy
eSpeakNG lze použít jako překladač převodu textu na řeč různými způsoby, v závislosti na tom, který krok převodu textu na řeč chce uživatel použít.
1. krok - překlad textu do fonému
Existuje mnoho jazyků (zejména Angličtina ) které nemají přímá individuální pravidla mezi psaním a výslovností; prvním krokem při generování převodu textu na řeč proto musí být překlad textu na foném.
- vstupní text je přeložen do foném výslovnosti (např. vstupní text xerox je přeložen do zi @ r0ks pro výslovnost).
- fonémy výslovnosti jsou syntetizovány do zvuku, např. zi @ r0ks je vyjádřen jako
zi @ r0ks monotónním způsobem
Přidat intonaci pro řeč, tj. prozódie jsou nutná data (např. stres slabiky, klesající nebo stoupající výška základní frekvence, pauza atd.) a další informace, které umožňují syntetizovat lidštější, nejednotnou řeč. Např. ve formátu eSpeakNG je stresová slabika přidána pomocí apostrofu: z'i @ r0ks který poskytuje přirozenější řeč: z'i @ r0ks s intonací
Pro srovnání dva vzorky s daty prosody a bez nich:
- [[DIs Iz m0noUntoUn spi: tS]] je napsána
monotónním způsobem
- [[DIs Iz 'Int @ n, eItI2d sp'i: tS]] je napsána
intonovaným způsobem
Pokud se eSpeakNG používá pouze pro generování dat prozodie, lze data prozodie použít jako vstup pro MBROLA diphone hlasy.
2. krok - zvuková syntéza z dat prozodie
ESpeakNG poskytuje dva různé typy formant syntéza řeči pomocí jeho dvou různých přístupů. S vlastním syntezátorem eSpeakNG a Klattův syntezátor:[22]
- Syntezátor eSpeakNG vytváří znělé řeči, jako jsou samohlásky a sonorant souhlásky podle aditivní syntéza sčítáním sinusových vln, aby byl celkový zvuk. Neznělé souhlásky např. / s / jsou vytvářeny přehráváním zaznamenaných zvuků,[23] protože jsou bohaté na harmonické, což činí syntézu aditiv méně efektivní. Hlasové souhlásky jako / z / se vytvářejí smícháním syntetizovaného zvukového zvuku se zaznamenaným vzorkem neznělého zvuku.
- Klattův syntezátor většinou používá stejná formantová data jako syntezátor eSpeakNG. Ale také produkuje zvuky subtraktivní syntéza počínaje generovaným šumem, který je bohatý na harmonické, a poté aplikováním digitální filtry a obklopující odfiltrovat potřebné frekvenční spektrum a zvukovou obálku pro konkrétní zvuk souhlásky (s, t, k) nebo sonorant (l, m, n).
Pro MBROLA hlasy, eSpeakNG převádí text na fonémy a přidružené kontury výšky tónu. Předává to programu MBROLA pomocí formátu souboru PHO a zachycuje zvuk vytvořený na výstupu MBROLA. Tento zvuk pak zpracovává eSpeakNG.
Jazyky
eSpeakNG provádí syntézu převodu textu na řeč pro následující jazyky:[24][25]
- Abaza
- afrikánština[26]
- Albánec[27]
- Amharština
- Starořečtina
- arabština1
- Aragonština[28]
- Arménský (Východní arménština )
- Arménský (Západní arménština )
- Asámština
- Ázerbájdžánština
- Bashkir
- Baskičtina
- Běloruský
- bengálský
- Bhojpuri
- Bishnupriya Manipuri
- Bosenské
- bulharský[28]
- Barmská
- Kantonský[28]
- Katalánština[28]
- Cebuano
- Čerokee
- Chichewa
- čínština (Mandarinka )
- Korsičan
- chorvatský[28]
- čeština
- Chuvash
- dánština[28]
- holandský[28]
- Dzongkha
- Angličtina (americký )[28]
- Angličtina (britský )
- Angličtina (karibský )
- Angličtina (Lancastrian )
- Angličtina (Přijatá výslovnost )
- Angličtina (skotský )
- Angličtina (západní Středozemí )
- esperanto[28]
- estonština[28]
- Finština[28]
- francouzština (belgický )[28]
- francouzština (Francie )
- francouzština (švýcarský )
- Frisian
- Galicijština
- Gruzínský[28]
- Němec[28]
- řecký (Moderní )[28]
- Grónský
- Guarani
- Gudžarátština
- Hakka čínská
- Haitská kreolština
- Hausa
- havajský
- hebrejština
- hindština[28]
- Hmong
- maďarský[28]
- islandský[28]
- Igbo
- indonéština[28]
- Dělám
- Interlingua
- irština[28]
- italština[28]
- japonský3[29]
- Kannadština[28]
- Kazašský
- Khmer
- Klingon
- Kʼicheʼ
- Konkani[30]
- korejština
- kurdština[28]
- Kyrgyzština
- Kečuánština
- Lao
- latinský
- Latgalian
- lotyšský[28]
- Lingua Franca Nova
- Lepcha
- Limbu
- Litevský
- Lojban[28]
- Lucemburština
- Makedonština
- Maithili
- Malgaština
- Malajština[28]
- Malayalam[28]
- maltština
- Māori
- Maráthština,[28]
- mongolský
- Nahuatl (Klasický )
- Navajo
- Nepálština[28]
- Norština (Bokmål )[28]
- Nogai
- Odia
- Oromo
- Papiamento
- Paštštino
- Peršan[28]
- Peršan (latinka )2
- polština[28]
- portugalština (brazilský )[28]
- portugalština (Portugalsko )
- Pandžábský[31]
- Pyash (konstruovaný jazyk)
- rumunština[28]
- ruština[28]
- ruština (Lotyšsko )
- Samoan
- Sanskrt
- Skotská gaelština
- srbština[28]
- Shan (Tai Yai),
- Sharda
- Sesotho
- Shona
- Sindhi
- Sinhálština
- Slovák[28]
- slovinský
- Somálci
- španělština (Španělsko )[28]
- španělština (Latinskoamerický )
- Svahilština[26]
- švédský[28]
- Tádžické
- Tamil[28]
- Tatar
- Telugština
- Tswana
- Thai
- Turkmenština
- turečtina[28]
- Tatar
- Ujgur
- ukrajinština
- Urdu
- Uzbek
- vietnamština (Střední Vietnamci )[28]
- vietnamština (Severní Vietnamci )
- vietnamština (Jižní vietnamština )
- Valyrian
- velština
- Wolof
- Xhosa
- jidiš
- Yoruba
- Zulu
- V současné době pouze plně arabská diakritika je podporován.
- Peršan psáno pomocí Anglické (latinské) znaky.
- V současné době pouze Hiragana a Katakana jsou podporovány.
Viz také
- Systém syntézy řeči festivalu
- Google Překladač
- Hlasy převodu textu na řeč od společnosti Microsoft
- Mluvený projev
Reference
- ^ Přepněte na eSpeak NG v distribuci NVDA # 5651
- ^ eSpeak TTS pro Android
- ^ balíček espeak-ng v Ubuntu
- ^ https://support.office.com/en-us/article/download-voices-for-immersive-reader-read-mode-and-read-aloud-4c83a8d8-7486-42f7-8e46-2b0fdf753130
- ^ Blog Google, Hlas v dalších jazycích v Překladači Google, Květen 2010
- ^ Blog Google, Poslouchejte nás hned, Prosinec 2010.
- ^ eSpeak Speech Synthesizer 3. JAZYKY
- ^ http://espeak.sourceforge.net/
- ^ A b C https://sourceforge.net/projects/espeak/files/espeak/
- ^ Historie podvracení (revize 1)
- ^ Historie podvracení (revize 56)
- ^ http://espeak.sourceforge.net/download.html
- ^ http://espeak.sourceforge.net/test/latest.html
- ^ van Leussen, Jan-Wilem; Tromp, Maarten (26. července 2007). „Latin to Speech“: 6. CiteSeerX 10.1.1.396.7811. Citovat deník vyžaduje
| deník =
(Pomoc) - ^ https://github.com/rhdunn/espeak/commit/63daaecefccde34b700bd909d23c6dd2cac06e20
- ^ https://github.com/rhdunn/espeak/commit/61522a12a38453a4e854fd9c9e0994ad80420243
- ^ https://github.com/nvaccess/nvda/issues/5651#issuecomment-170288487
- ^ Převzetí vlastnictví projektu eSpeak a jeho budoucnosti
- ^ Hlasujte pro nového hlavního vývojáře eSpeak
- ^ Rebrand the espeak program to espeak-ng.
- ^ espeak-ng 1.49.0
- ^ Dennis H. Klatt (1979). "Software pro kaskádový / paralelní formantový syntetizátor" (PDF). J. Acoustical Society of America, 67 (3), březen 1980.
- ^ Seznam zaznamenaných frikativ v eSpeakNG
- ^ https://github.com/espeak-ng/espeak-ng/blob/master/docs/languages.md
- ^ https://github.com/espeak-ng/espeak-ng/blob/master/CHANGELOG.md
- ^ A b Butgereit, L., & Botha, A. (2009, květen). Hadeda: Hlučný způsob procvičování pravopisné slovní zásoby pomocí mobilního telefonu. v Konference IST-Afrika 2009, Kampala, Uganda.
- ^ Hamiti, M., & Kastrati, R. (2014). Přizpůsobení eSpeak pro převod textu na řeč v albánštině. International Journal of Computer Science Issues (IJCSI), 11(4), 21.
- ^ A b C d E F G h i j k l m n Ó p q r s t u proti w X y z aa ab ac inzerát ae af ag ah ai aj ak al dopoledne an ao ap Kayte, S., & Gawali, D. B. (2015). Marathi Speech Synthesis: A review. International Journal on recent and Innovation Trends in Computing and Communication, 3 (6), 3708-3711.
- ^ Pronk, R. (2013). Přidání podpory syntézy japonského jazyka do systému eSpeak. University of Amsterdam.
- ^ Mohanan, S., Salkar, S., Naik, G., Dessai, N.F., & Naik, S. (2012). Čtečka textu pro jazyk Konkani. Automatizace a autonomní systém, 4(8), 409-414.
- ^ Kaur, R. a Sharma, D. (2016). Vylepšený systém pro převod textu na řeč pro jazyk Punjabi pomocí eSpeak. International Research Journal of Engineering and Technology, 3(4), 500-504.