eSpeak | |
---|---|
Type | talesynthesizer |
Forfatter | Jonathan Duddington |
Skrevet i | C++ |
Operativ system | Linux og andre UNIX- lignende Windows |
Første udgave | 2006 [1] |
nyeste version | 1.48.04 ( 6. april 2014 [1] ) |
Test version | |
Stat | inaktiv |
Licens | GNU GPL |
Internet side | espeak.sourceforge.net |
Mediefiler på Wikimedia Commons |
eSpeak er en kompakt gratis software talesynthesizer , der understøtter Speech Synthesis Markup Language (SSML). Det oprindelige projekt er i øjeblikket inaktivt på grund af forsvinden af dets forfatter, Jonathan Daddington [3] . En fork af eSpeakNG ved at blive udviklet af
Versioner af eSpeak findes til operativsystemer som Microsoft Windows , Mac OS X , Linux , RISC OS , og dens C++ kildekode er også tilgængelig . Derudover giver den officielle dokumentation for synthesizeren instruktioner til at kompilere den under Windows Mobile . Programmet har en væsentlig begrænsning - stemmegenerering er kun mulig i en WAV -fil. [fire]
Derudover bruges eSpeak i mobile operativsystemer Android , startende fra version 1.6, og Maemo , men disse projekter er ikke personligt overvåget af udvikleren, og der er ingen tilsvarende pakker på det officielle eSpeak-websted, og Android - versionen har et nummer af væsentlige fejl, når du arbejder på nogle sprog, især russisk. [5]
Windows- og Linux-versionerne opdateres jævnligt sammen med kildekoden, mens Mac- og RISC-versionerne ikke har været understøttet i lang tid.
Windows-versionen af eSpeak er skrevet til Microsoft Speech API 5.x-platformen og er også tilgængelig som et konsolværktøj. Mac OS X-versionen er et selvstændigt program, der ikke er indbygget i Apples systemtaletjeneste og kræver manuel konfiguration. Der er dog en mulighed for en accelereret installation ved hjælp af en speciel eSpeak Macintosh Installer-pakke. [6]
eSpeak understøtter omkring fem dusin forskellige sprog. Under installationen skal brugeren angive, hvilke dialekter han er interesseret i at understøtte. [7]
Nedenfor er en liste over sprog, der understøttes af eSpeak-synthesizeren og deres betegnelser, der bruges i dens indstillinger.
Listen over understøttede sprog kan også udvides ved at bruge MBROLA-stemmebibliotekerne, der kan tilsluttes eSpeak.
MBROLA er en speciel difonisk talesyntesealgoritme baseret på hvilken mange forskellige softwareprodukter er blevet skabt med inklusion af tekst-til-tale (TTS) teknologi. Dette projekt har rekorden blandt andre talesynteseteknologier med hensyn til antallet af forskellige sprog, som det blev brugt til. Selvom MBROLA-stemmer endnu ikke er blevet oprettet til nogle almindelige sprog, inklusive russisk. [otte]
eSpeak kan arbejde sammen med MBROLA, hvilket gør det muligt at bruge dette projekts stemmebiblioteker som en del af selve eSpeak. Dette giver dig mulighed for yderligere at udvide listen over understøttede sprog til tale-til-tekst-syntese.
Du kan bruge eSpeak og MBROLA på sådanne operativsystemer som Windows , Linux [8] og Mac OS X [6] .
Det er dog ikke alle MBROLA-talebiblioteker, der understøtter eSpeak-integration.
Ordene i inputteksten, der skal syntetiseres, gennemgår to behandlingstrin:
Reglerne for at opnå en sekvens af fonemer er gemt i formen "A, B, C = D". Hvor B er det pågældende bogstav, er A og C konteksten for det pågældende bogstavs miljø i ordet, og D er det fonem, som det bogstav kan konverteres til. Miljøets kontekst kan specificeres både med specifikke bogstaver og med specialtegn, der angiver grupper af bogstaver. Synthesizer-regler tillader tvetydig definition af sådanne kæder. For at løse denne tvetydighed tildeler synthesizeren en prioritet til hver regel, som beregnes baseret på antallet af bogstaver involveret i reglen og specificiteten af miljøkontekstdefinitionen. Reglerne kan også specificere forskelle i oversættelse afhængigt af accenten.
I eSpeak syntetiseres vokallyde altid, stemte konsonanter opnås ved at blande syntetiserede lyde med forudindspillede stemmelyde, og alle andre lyde optages simpelthen, for eksempel [w].
Hver lyd, undtagen stemmeløse konsonanter, er repræsenteret af en sekvens af formanter. Ud over information om formanter har hvert fonem information om dets amplitude, lydvarighed og forsinkelse før næste fonem. Baseret på disse parametre syntetiseres lyden af en vokal ved hjælp af algoritmer implementeret i synthesizeren. Oplysninger om fonemer og formanter gemmes i separate filer, som også efterfølgende kompileres i et binært format.
eSpeak Edit-værktøjet følger med synthesizeren. Dette er en GUI-applikation skrevet ved hjælp af WXLib-biblioteket. Det giver dig mulighed for visuelt at redigere færdige fonemer. Fonemet er repræsenteret som en kurvegraf, hvor man sekventielt kan vælge formanter og ændre deres værdier, såsom frekvens, højde og bredde. Takket være disse funktioner kan du på basis af færdige fonemer få nye, mere præcise lyde til et bestemt sprog. Samtidig kan nogle af fonemerne ikke opnås ved at modificere de eksisterende. For eksempel, når man udviklede den russisksprogede del af eSpeak, blev lyden [r] specielt optaget, da der ikke var nogen værdig analog til den på andre sprog. [9]
eSpeak er et open source- projekt, takket være dette har nogle udviklere integreret det i deres produkter.
eSpeak bruges som den primære talesynthesizer i den ikke-kommercielle open source -skærmlæser NVDA . Med dets hjælp bliver installationsprocessen for programmet udtrykt, og det er også standardstemmen, når det først startes.
I en anden talesynthesizer, Captain, udviklet af Anatoly Kamynin og Gennady Nefedov, er der bygget en ekstra pakke på basis af eSpeak, som giver separat læsning af flersprogede tekster: Russisk eller ukrainsk tekst læses af Captain-synthesizeren, og engelsk, fransk eller Tysk af eSpeak-synthesizeren. Denne funktion er implementeret i Captain Speech Synthesizer både i versionen under MS Speech API 4 [10] og i versionen under MS Speech API 5.x [11] .
Nogle sprog har ikke enkle og universelle regler for at konstruere læsefærdig tale, og eSpeak kræver yderligere komponenter for at producere højkvalitetssyntese på disse sprog. For at undgå at øge størrelsen af eSpeak-hovedpakken, distribueres disse komponenter separat. Især er der ingen generelle regler på russisk, der etablerer den understregede stavelse i ord. I disse tilfælde forsøger eSpeak at bestemme betydningen af ordet, men denne udtale svarer ofte ikke til den korrekte. For at løse dette problem er der en særlig udvidet udtaleordbog, som skal installeres separat fra eSpeak-hovedpakken.
Ud over russisk er tredjeparts eSpeak talekorrektionskomponenter også tilgængelige for kinesisk (Putonghua og kantonesisk).
Du kan downloade disse ordbøger fra projektets officielle hjemmeside.
talesyntese | |
---|---|
Proprietær software |
|
gratis software |
|
Bil |
|
Ansøgninger |
|
Protokoller | Opmærkningssprog for talesyntese |
Udviklere / forskere |
|
Behandle |
|