New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Portuguese Espeak Not announcing º and ª during say all or after letters. #3172

Closed
nvaccessAuto opened this Issue Apr 19, 2013 · 7 comments

Comments

Projects
None yet
2 participants
@nvaccessAuto

nvaccessAuto commented Apr 19, 2013

Reported by ateu on 2013-04-19 15:42
Note 1: This also occurs with other symbols, such as ´, even if the symbol levvel is all.

Note 2: This problem doesn't appears when using espeak sapi5 version.

Unfortunately, only now I noticed this, but I think this is important for Portuguese speech, and I tryed to fix this, but without success.

The ordinal symbols are being correctly spoken, and when reading by character, the symbol are announced.
However, in Say All mode, the symbol is not announced, as well as after letters.
This affect several abbreviated words, where this symbols are used in. E.g. Teacher, (professor), is profº. So NVDA says just prof, not announcing the word, as it does in sapi5 version.
Number, (número), is nº. The bundled espeak says just n.
Note that some abbreviations are largely used, mainly at work.

@nvaccessAuto

This comment has been minimized.

nvaccessAuto commented Apr 21, 2013

Comment 1 by jteh on 2013-04-21 01:22
When I send these phrases directly to eSpeak with the pt voice (using the dll outside of NVDA), it seems to ignore them. I don't understand why SAPI 5 would be different.

Jonathan, do you have any ideas?

@nvaccessAuto

This comment has been minimized.

nvaccessAuto commented Apr 21, 2013

Comment 2 by jonsd on 2013-04-21 23:21
The same effect occurs with the English voice, the ordinal symbol is missing when reading a line using the eSpeak synthesizer.

Are you sure that the ordinal symbols are included in the text which the NVDA eSpeak driver passes to eSpeak? Please confirm.

I notice that NVDA omits other symbols, such as plus and equals. If I use NVDA to read a line such as:

1 + 2 = 3

then it says "1 2 3" not "1 plus 2 equals 3". In this case the symbols are omitted when using either the eSpeak synthesizer or the SAPI5 synthesizer. If I use the TTSApp (a test program which is installed by the eSpeak installer) then the eSpeak SAPI5 voices speak the line correctly, including the "plus" and "equals".

@nvaccessAuto

This comment has been minimized.

nvaccessAuto commented Apr 21, 2013

Comment 3 by ateu (in reply to comment 2) on 2013-04-21 23:47
Replying to jonsd:

The same effect occurs with the English voice, the ordinal symbol is missing when reading a line using the eSpeak synthesizer.

Are you sure that the ordinal symbols are included in the text which the NVDA eSpeak driver passes to eSpeak? Please confirm.

I notice that NVDA omits other symbols, such as plus and equals. If I use NVDA to read a line such as:

1 + 2 = 3

then it says "1 2 3" not "1 plus 2 equals 3". In this case the symbols are omitted when using either the eSpeak synthesizer or the SAPI5 synthesizer. If I use the TTSApp (a test program which is installed by the eSpeak installer) then the eSpeak SAPI5 voices speak the line correctly, including the "plus" and "equals".

Jonathan, in this case, I think the symbols are correctly spoken.
Maybe you have your NVDA symbol level set to a level in which this symbols are not announced.
I've tested using the bundled version for NVDA, and using both the Portuguese and the English voice, this symbols are being correctly spoken.

When I added the º and ª in the symbols.dic, in NVDA, this symbols are announced.
This problem can be fixed in this way.
However, the main problem is that the abbreviations ending with º and ª are not being announced.

@nvaccessAuto

This comment has been minimized.

nvaccessAuto commented Apr 21, 2013

Comment 4 by jteh on 2013-04-21 23:52
The symbols + and = are handled by our own symbol processing framework. They depend on the symbol level in NVDA and are not sent to the synthesiser.

The symbols this ticket is about are not handled by NVDA specifically, so they are sent to the synthesiser untouched. As I noted, I tried this outside of NVDa to be certain and I still saw the problem.

@ATeu: If you want the symbols to be handled by the synthesiser, you should avoid mapping them in NVDA so they are sent untouched.

@nvaccessAuto

This comment has been minimized.

nvaccessAuto commented Apr 22, 2013

Comment 5 by ateu on 2013-04-22 00:29
Another detail:

I edited pt.list in the espeak dictsource, removing the underline before the symbols.
Before:
º"tab"o@-dZin'aumaskul'inU
After:
º"tab"o_@-dZin'aumaskul'inU

After this change, the symbols are being spoken in Say All mode by NVDA.
However, the main problem persists, e.g. the abbreviated words are not spoken using the bundled espeak.
Note that sapi5 version still gracefully speaking them, even after this change.

@nvaccessAuto

This comment has been minimized.

nvaccessAuto commented Apr 24, 2013

Comment 6 by jteh on 2013-04-24 00:33
Jonathan has been very helpful in diagnosing and fixing this issue. In short, it relates to a bug/weirdness in the iswalpha function of more recent Microsoft C run-times. It is fixed for eSpeak 1.47.08, which will be released some time soon.
Changes:
Milestone changed from None to 2013.1

@nvaccessAuto

This comment has been minimized.

nvaccessAuto commented Apr 30, 2013

Comment 8 by James Teh <jamie@... on 2013-04-30 00:46
In [3c2b6f5]:

Update eSpeak to 1.47.09.

Fixes #3141 and #3172.

Changes:
State: closed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment