[espeak-bg] Re: Fwd: Re: Bugs in eSpeak

  • From: Kostadin Kolev <kostadin.kolev1985@xxxxxxxxx>
  • To: espeak-bg@xxxxxxxxxxxxx
  • Date: Sat, 21 Jul 2012 10:47:55 +0300

Здравейте,

И да допълня предишното си писмо, с мнението ми по обсъжданите по-долу въпроси:

По въпрос №1: Тук най-много да можем да предоставим .log файлове от NVDA, в които е записана дадената грешка. Може също така да потърся и да дам линка за доклада за тази грешка пуснат от Захари до разработчиците на NVDA и да го препратя на Jonathan Duddington. Захари, всъщност, то към тоя доклад нямаше ли прикачен и .log файл от NVDA?

По въпрос №2: Прегледах този "dictsource/list" файл и видях кои са проблемните съкращения. Мисля че мога да ги оправя, но мисля че няма как лично да ги тествам, защото не съм запознат с процедурата по компилирането на този файл (а той мисля че трябва да се компилира, преди eSpeak да може да го ползва). Но мисля че трябва да предложим на Jonathan и още нещо като правило за съкращенията - да може да им се задава изискване да са само с малки букви (доколкото разбрах, такова правило в момента не се поддържа). Защото знаете, че в българския език съкращения като "ет." с малки букви означава "етаж", а ако е с големи и без точка - "едноличен търговец", "ап." с малки букви и точка означава "апартамент", а с големи и без точка - "Асошиейтет прес" (или нещо подобно). Не казвам че трябва да включим и дадените за пример и други подобни съкращения с главни букви в речника на eSpeak, но ми се иска синтезатора да не бърка двете съкращения, както прави сега. То може би като се определи че тези с малки букви и точка трябва задължително да имат точка, проблема ще се оправи - не знам.

По въпрос №3: Явно когато eSpeak открие дума написана на кирилица и в нея има една или повече букви от латиницата, синтезатора зарежда английския глас, за да я прочете. Но английския глас не познава буквите от кирилицата и не може да ги интерпретира правилно, и поради тази причина не ги произнася правилно, правейки съответната дума неразбираема. Предполагам че не може да се зададе на eSpeak при откриване на такава проблемна дума синтезатора да ползва българския глас, тъй като в него пък липсват буквите от латиницата. На този проблем аз виждам 2 решения: - Ако е възможно, вмъкване на буквите от латиницата в българския "list" файл, където са описани буквите от кирилицата и задаване на eSpeak при откриване на дума с кирилица и латиница, синтезатора да ползва само българския глас; - Както си е и сега: синтезатора да използва английския глас при думи с кирилица и латиница, но да се направи така че eSpeak да разделя на части такива думи, като отделя буквите от латиницата в отделни думи. Пример: думата "прeдизвикателствo" ("предизвикателство") е написана с латински "е" и "о", вместо с кирилски. В такъв случай, думата ще бъде разделена по следния начин:
пр
e
дизвикателств
o
и всяка част ще бъде интерпретирана като отделна дума, но без пауза между всяка от тях. Мисля че по подобен начин се справя с този проблем SpeechLab, но не съм сигурен. Но това решение ми се струва по-неподходящо, и аз повече подкрепям първия вариант (с добавянето на латинските букви в българския файл, при кирилските).

Та, това са моите мнения по трите въпроса. Чакам и вашите, преди да пратя отговора си до Jonathan.


___
Поздрави,
Костадин Колев
http://kdkmaster.klangoblog.net

На 15.7.2012 г. 13:52 ч., Kostadin Kolev написа:
Здравейте,

Препращам ви една кореспонденция между мен и Jonathan Duddington относно
няколко бъга в eSpeak за които му писах и които мисля че сме обсъждали и
тук. Кореспонденцията е на английски и ако това ви затруднява - кажете и
ще преведа поне основно за какво става дума.

Поздрави,
Коста


-------- Оригинално писмо --------
Тема: Re: Bugs in eSpeak
Дата: Sun, 15 Jul 2012 09:03:50 +0000 (GMT)
От: Jonathan Duddington <jonsd@xxxxxxxxxxxx>
До: Kostadin Kolev <kostadin.kolev1985@xxxxxxxxx>

On 11 Jul, Kostadin Kolev <kostadin.kolev1985@xxxxxxxxx> wrote:

I have a few questions to discuss with you about eSpeak:

1. Bug: This is related to NVDA as well, but anyway. In some cases
(specially when a text string begins with 2 or more upper chars),
NVDA may give an error, when reading with eSpeak in NVDA's "say all"
mode. In similar conditions, it may occur that some parameters of
eSpeak will get modified (e.g. speed, pitch, etc.) as well.

I am not aware of this problem.  It has not been reported to me by the
NVDA developers.

I do not get this problem when I use eSpeak by itself.  So I need to
know exactly how NVDA calls eSpeak to produce this effect.


2. Abbreviations: the syntax used for abbreviations in eSpeak should
be case sensitive and should be able to accept dots at the end of
the abbreviated strings. I don't know if at present it is possible,
but it is not applied for the bulgarian language and that causes a
lot of misinterpretations of abbreviations.

Yes, eSpeak data can specify that an abbreviation:
1.  Can be followed by as dot.   Attribute $dot
2.  Must be followed by a dot.   Attribute $hasdot
3.  Must be all-capitals.         Attribute $allcaps
4.  Must start with a capital letter.  Attribute $capitals

These options can be set for each abbreviation which is listed in the
eSpeak Bulgarian data (file dictsource/list).

Please give some examples of problems.


3. Bug: When in a word with Cyrillic characters by mistake there is a
letter from the latin alphabet, eSpeak can't read the word correctly
and reads something like this: "leter  for two three, letter six
five one, ..." etc., as if it tries to read unknown characters.

When using the Bulgarian voice, if eSpeak finds a word which contains
Latin characters, it speaks the word using the English voice.  But the
English voice doesn't know Cyrillic characters.

So what should eSpeak do if it finds a word which contains both
Cyrillic and Latin characters?




poluchavate tozi e-mail, zashtoto ste chast ot poshtenskia spisak eSpeak-bg.
Za da izpratite pismo do tozi spisak izpratete e-mail na:  
espeak-bg@xxxxxxxxxxxxx
za poveche informacia za tozi spisak, za da se zapishete ili otpishete, 
posetete: //www.freelists.org/list/espeak-bg

Other related posts: