Topics

Number and Abbrieviation Processing

Gary
 

I don't know if this is two issues or one and if it's something that
can be done within NVDA. I use the Windows core voices synthesizer,
although it occurs with the Microsoft SAPI synth as well. I do not
want dates or abbreviations to be processed. For example, the latest
version of NVDA, 2019.03.01 is read as "March 1, 2019" instead of
"2019 dot 03 dot 01". Additionally, I am hearing hello.pl as "hello
dot place" instead of "hello dot p l." Obviously, I know I can use
the dictionary to teach NVDA to read "pl" as "p l" but there seems to
be dozens of these abbreviations. I look at software versions all day
so the first example is driving me crazy.

Is there a way within NVDA to say ignore date processing and
abbreviation processing? I definitely have been unsuccessful finding
how this would be done with the synthesizer software. If there is a
synthesizer that has this level of control that won't hit my wallet
too hard and actually has a real sounding voice, I'd be interested in
going that route if it's my only option.

Thanks in advance for any guidance.

Gary

Quentin Christensen
 

It can be done with NVDA's speech dictionary.  You'd need to use a "regular expression" (regex) to avoid having enter every possible combination of numbers.  Actually another way (since I haven't ever sat down and properly learned regex, and I haven't fully thought this through) I just tried, is to make a speech dictionary entry to change "." (period or full stop, no quotes) to "dot" (d o t, again no quotes).

Regards

Quentin.

On Fri, Feb 14, 2020 at 8:30 AM Gary <ironmangary@...> wrote:
I don't know if this is two issues or one and if it's something that
can be done within NVDA.  I use the Windows core voices synthesizer,
although it occurs with the Microsoft SAPI synth as well.  I do not
want dates or abbreviations to be processed.  For example, the latest
version of NVDA, 2019.03.01 is read as "March 1, 2019" instead of
"2019 dot 03 dot 01".  Additionally, I am hearing hello.pl as "hello
dot place" instead of "hello dot p l."  Obviously, I know I can use
the dictionary to teach NVDA to read "pl" as "p l" but there seems to
be dozens of these abbreviations.  I look at software versions all day
so the first example is driving me crazy.

Is there a way within NVDA to say ignore date processing and
abbreviation processing?  I definitely have been unsuccessful finding
how this would be done with the synthesizer software.  If there is a
synthesizer that has this level of control that won't hit my wallet
too hard and actually has a real sounding voice, I'd be interested in
going that route if it's my only option.

Thanks in advance for any guidance.

Gary





--
Quentin Christensen
Training and Support Manager


Martin McCormick
 

I am not an expert on regular expressions, but I sure
love to use them because they solve many decision problems
regarding text and how it is processed. For every problem
solved using a RE, hoever, there is a potential side effect created that
is just waiting to kick you in the knee. Output text is best
described as a stream of consciousness. We humans have the most
sophisticated computing system on Earth sitting right atop our
necks and our speech output is usually controlled by the context
of what we are doing and talking about at the moment. It's also
influenced by our age, education and where we came from.

A speech program for a computer doesn't even come close
to having any concept of that type of context and it gets to be a knotty
problem even for humans placed in an unfamiliar situation in
which street slang and vernacular are different on different
blocks of the same street.

We instantly know whether we should say the long E sound
when seeing R E A D or whether we should say a word that sounds
just like the color red if we just read a book.

A speech synthesizer that can get that little issue right
every time doesn't exist and that extraordinary computer that
sits on most of our spines can even be confused by unusual syntax
so I wouldn't hold my breath waiting for someone to come up with
a software solution anytime soon, at least, not today.

I will say to those working on these projects, Keep up
the good work.

Probably the best idea in the mean time could be some
form of easily accessible switch that can be changed on the fly
to enable and disable the triggers that are causing misbehavior.
In the world of software, one situation's annoying behavior is
another's pure genius.

Martin McCormick

"Quentin Christensen" <quentin@...> writes:

It can be done with NVDA's speech dictionary. You'd need to use a
"regular
expression" (regex) to avoid having enter every possible combination of
numbers. Actually another way (since I haven't ever sat down and properly
learned regex, and I haven't fully thought this through) I just tried, is
to make a speech dictionary entry to change "." (period or full stop, no
quotes) to "dot" (d o t, again no quotes).

Regards

Quentin.

On Fri, Feb 14, 2020 at 8:30 AM Gary <ironmangary@...> wrote:

I don't know if this is two issues or one and if it's something that
can be done within NVDA. I use the Windows core voices synthesizer,
although it occurs with the Microsoft SAPI synth as well. I do not
want dates or abbreviations to be processed. For example, the latest
version of NVDA, 2019.03.01 is read as "March 1, 2019" instead of
"2019 dot 03 dot 01". Additionally, I am hearing hello.pl as "hello
dot place" instead of "hello dot p l." Obviously, I know I can use
the dictionary to teach NVDA to read "pl" as "p l" but there seems to
be dozens of these abbreviations. I look at software versions all day
so the first example is driving me crazy.

Is there a way within NVDA to say ignore date processing and
abbreviation processing? I definitely have been unsuccessful finding
how this would be done with the synthesizer software. If there is a
synthesizer that has this level of control that won't hit my wallet
too hard and actually has a real sounding voice, I'd be interested in
going that route if it's my only option.

Thanks in advance for any guidance.

Gary



--
Quentin Christensen
Training and Support Manager

NVDA 2019.3 rc2 now available for testing:
https://www.nvaccess.org/post/nvda-2019-3rc2-now-available-for-testing/

Web: www.nvaccess.org
Training: https://www.nvaccess.org/shop/
Certification: https://certification.nvaccess.org/
User group: https://nvda.groups.io/g/nvda
Facebook: http://www.facebook.com/NVAccess
Twitter: @NVAccess <https://twitter.com/NVAccess>



Gary
 

Hi Quentin,

Thank you for your reply.

I tried both suggestions.  For the simpler replacement of the period with the word "dot," this worked for the number processing, but made reading text difficult.  For the regex solution, this didn't work as expected, and I should have realized it before I tried.  The problem with using regex is that there is no way to capture the value the regex expression is matching to pass it from the input to the output. 

For example, to adjust how NVDA handles numbers seperated by periods, Here's what I entered:

String to match: [0-9].[0-9]
Replacement: [0-9] dot [0-9]

Doing this, NVDA properly made a replacement based on the string I wish to have matched.  However, the replacement was literally what I put into the replacement string.  So, for example:

2019.3.1

was read as:

201 [0-9] dot [0-9] [0-9] dot [0-9]

A script would need to be written to properly do this, I'm afraid.

Honestly, a toggle to turn off date processing would be best.  Otherwise, I suppose I'll need to look around at other software synthesizers or see if this has ever been asked of the Microsoft community.

Gary
 

John Isige
 

Out of curiosity, why doesn't the "Trust voice's language when
processing characters and symbols" setting at least handle the expansion
of abbreviations issue? I always wondered about that.


Anyway, if there's a way around this, it would be nice if somebody could
put up a dictionary file or such. It happens with the Microsoft voices,
SAPI 5 and OneCore, and SAPI 5 Eloquence I'm pretty sure. It's
especially annoying in web pages and file names, e.g. when you have
something like "heading level 3 Mary's Devotion", and it gets read as
something like "march threerd why's devotion". BTW it did it with that
example I made up, the second quote is how it read the first quote, SAPI
5 Eloquence from Code Factory.

On 2/15/2020 2:43 PM, Gary wrote:
Hi Quentin,

Thank you for your reply.

I tried both suggestions.  For the simpler replacement of the period
with the word "dot," this worked for the number processing, but made
reading text difficult.  For the regex solution, this didn't work as
expected, and I should have realized it before I tried.  The problem
with using regex is that there is no way to capture the value the
regex expression is matching to pass it from the input to the output.

For example, to adjust how NVDA handles numbers seperated by periods,
Here's what I entered:

String to match: [0-9].[0-9]
Replacement: [0-9] dot [0-9]

Doing this, NVDA properly made a replacement based on the string I
wish to have matched.  However, the replacement was literally what I
put into the replacement string.  So, for example:

2019.3.1

was read as:

201 [0-9] dot [0-9] [0-9] dot [0-9]

A script would need to be written to properly do this, I'm afraid.

Honestly, a toggle to turn off date processing would be best.
Otherwise, I suppose I'll need to look around at other software
synthesizers or see if this has ever been asked of the Microsoft
community.

Gary

Dave Grossoehme
 

Good Day:  I apologize for seeing your message a little late.  Is it possible to turn off date process and/or number processing?

Dave


On 2/13/2020 5:26 PM, Quentin Christensen wrote:
It can be done with NVDA's speech dictionary.  You'd need to use a "regular expression" (regex) to avoid having enter every possible combination of numbers.  Actually another way (since I haven't ever sat down and properly learned regex, and I haven't fully thought this through) I just tried, is to make a speech dictionary entry to change "." (period or full stop, no quotes) to "dot" (d o t, again no quotes).

Regards

Quentin.

On Fri, Feb 14, 2020 at 8:30 AM Gary <ironmangary@...> wrote:
I don't know if this is two issues or one and if it's something that
can be done within NVDA.  I use the Windows core voices synthesizer,
although it occurs with the Microsoft SAPI synth as well.  I do not
want dates or abbreviations to be processed.  For example, the latest
version of NVDA, 2019.03.01 is read as "March 1, 2019" instead of
"2019 dot 03 dot 01".  Additionally, I am hearing hello.pl as "hello
dot place" instead of "hello dot p l."  Obviously, I know I can use
the dictionary to teach NVDA to read "pl" as "p l" but there seems to
be dozens of these abbreviations.  I look at software versions all day
so the first example is driving me crazy.

Is there a way within NVDA to say ignore date processing and
abbreviation processing?  I definitely have been unsuccessful finding
how this would be done with the synthesizer software.  If there is a
synthesizer that has this level of control that won't hit my wallet
too hard and actually has a real sounding voice, I'd be interested in
going that route if it's my only option.

Thanks in advance for any guidance.

Gary





--
Quentin Christensen
Training and Support Manager