Topics

NVDA problem with hashtag symbol

Paolo Leva
 

The Acapela TTS allows usage of special codes to get the TTS to laugh, cry, cough and so on. To get the desired sound you need to type for instance #LAUGH01#, #CRY01#, #COUGH01# and so on.

However NVDA seems to always process the # symbol even when you select to let it pass through to the TTS, so there seems to be no way to let these sounds work when using the Acapela TTS with NVDA, as NVDA always read like "pound sign laugh 0 1 pound sign"

I do not know whether this issue can be solved by configuration or needs some fix into the code, is anyone able to shed some light on it?

Thanks in advance!

ChrisLeo
 

You set so?
Symbol: #
replacement: #
Level: Some
Preserve: always.

In the replacement edit write the symbol instead of the name.

Cheers,


Chris.

Paolo Leva, 11/01/2017 10:33:

The Acapela TTS allows usage of special codes to get the TTS to laugh, cry, cough and so on. To get the desired sound you need to type for instance #LAUGH01#, #CRY01#, #COUGH01# and so on.

However NVDA seems to always process the # symbol even when you select to let it pass through to the TTS, so there seems to be no way to let these sounds work when using the Acapela TTS with NVDA, as NVDA always read like "pound sign laugh 0 1 pound sign"

I do not know whether this issue can be solved by configuration or needs some fix into the code, is anyone able to shed some light on it?

Thanks in advance!

ChrisLeo
 

See also the *builtin.dic* voice dictionary in the installed folder of NVDA.
This regexpt probabily it interferes with the string of the Acapela tags:

#Break words that have numbers at the end
Pattern: ((?:(?=\D)\w)+)(\d+)
Replacement: \1 \2

This means that e.g., the string "#LAUGH01#" changes in "#LAUGH 01#".
There is a space before the digits 01.





Chris.

ChrisLeo, 11/01/2017 11:15:

You set so?
Symbol: #
replacement: #
Level: Some
Preserve: always.

In the replacement edit write the symbol instead of the name.

Cheers,


Chris.

Paolo Leva, 11/01/2017 10:33:
The Acapela TTS allows usage of special codes to get the TTS to laugh,
cry, cough and so on. To get the desired sound you need to type for
instance #LAUGH01#, #CRY01#, #COUGH01# and so on.

However NVDA seems to always process the # symbol even when you select
to let it pass through to the TTS, so there seems to be no way to let
these sounds work when using the Acapela TTS with NVDA, as NVDA always
read like "pound sign laugh 0 1 pound sign"

I do not know whether this issue can be solved by configuration or
needs some fix into the code, is anyone able to shed some light on it?

Thanks in advance!

Life My Way
 

do you have a list of all the codes to make things work like this?

On 1/11/2017 3:33 AM, Paolo Leva wrote:

The Acapela TTS allows usage of special codes to get the TTS to laugh, cry, cough and so on. To get the desired sound you need to type for instance #LAUGH01#, #CRY01#, #COUGH01# and so on.

However NVDA seems to always process the # symbol even when you select to let it pass through to the TTS, so there seems to be no way to let these sounds work when using the Acapela TTS with NVDA, as NVDA always read like "pound sign laugh 0 1 pound sign"

I do not know whether this issue can be solved by configuration or needs some fix into the code, is anyone able to shed some light on it?

Thanks in advance!

Brandon Cross <bcross3286@...>
 

I was able to get it working by going into the symbol pronunciation and setting the hash mark to always be sent to the synth and replacing it with a blank space in the replace field but this is hackish, now you can't see it if you are reviewing char by char etc. I think this could be solved in the dictionary for that voice wwith NVDA's dictionary manager with use of a regular expression, however I am not sure which form this should take. Maybe someone could come up with a more elegant solution.

On Wed, Jan 11, 2017 at 5:15 AM, ChrisLeo <llajta@...> wrote:
You set so?
Symbol: #
replacement: #
Level: Some
Preserve: always.

In the replacement edit write the symbol instead of the name.

Cheers,


Chris.

Paolo Leva, 11/01/2017 10:33:
The Acapela TTS allows usage of special codes to get the TTS to laugh, cry, cough and so on. To get the desired sound you need to type for instance #LAUGH01#, #CRY01#, #COUGH01# and so on.

However NVDA seems to always process the # symbol even when you select to let it pass through to the TTS, so there seems to be no way to let these sounds work when using the Acapela TTS with NVDA, as NVDA always read like "pound sign laugh 0 1 pound sign"

I do not know whether this issue can be solved by configuration or needs some fix into the code, is anyone able to shed some light on it?

Thanks in advance!




Paolo Leva
 

YES! This is the solution, by commenting away this line I get the tags to work. Thanks for your help!

Paolo Leva
 

We have information about all sounds and exclamations here:

http://www.acapela-group.com/voice-smileys/

Linked to this page there is a huge list of all sounds and exclamations, per language and per voice.

Paolo Leva
 

Thanks to all of you, I published the solution on our blog:

http://www.acapela-nvda.com/blog/2017/01/12/is-your-acapela-voice-laughing-or-crying-with-nvda/

Cheers,

Paolo

ChrisLeo
 

Can you try the regex below in the temporary dictionary?
If the regex works, you can add a globalPlugin that loads a dictionary with this regex:
Pattern: (#\w+?)(\d+#)

Replacement: \1\2

Select regular expression.

Its requires a bit more work, but enhances the usage:
1. Users don't have to edit builtin.dic every time NVDA updates.
2. You can choose to enable or disable the voice sounding.
This is just my tip.
cheers.





Chris.

Paolo Leva, 12/01/2017 11:56: