nvaccess / nvda

NVDA, the free and open source Screen Reader for Microsoft Windows
https://www.nvaccess.org/
Other
2.11k stars 636 forks source link

Python 3 versions of NVDA produce a scratch in the speech when finishing the end of a line #10185

Closed hozosch closed 1 year ago

hozosch commented 5 years ago

Steps to reproduce:

Open a dokument Press NVDA+A for "say all"

Actual behavior:

You will find that NVDA scratches sometimes. Mostly at the end of a line, either a line you did with enter, or the automatic line change if one long line is too big for the screen.

Expected behavior:

NVDA shouldn't scratch a single time

System configuration

NVDA installed/portable/running from source:

portable

NVDA version:

alpha-18574,56f5fcd2

Windows version:

7 professional sp1 64 bit

Name and version of other software in use when reproducing the issue:

doesn't matter here

Other information about your system:

Other questions

Does the issue still occur after restarting your PC?

yes

Have you tried any other versions of NVDA? If so, please report their behaviors.

No. The latest stable obviously doesn't do that, since it's still running on python 2. However, I didn't try it with the threshold or any other version there may be on a different branch running python 3.

zstanecic commented 5 years ago
  1. Can you provide which synth you used to reproduce this?

This only happens with espeak and no other voice does that.

Even the beta version of RHVoice cannot do that.

hozosch commented 5 years ago

O yes, so it seems, as I'm indeed using espeak, that it's an issue in the portation of espeak to python 3. Maybe we should open an issue on espeak NG?

Brian1Gaff commented 5 years ago

But I'm using that on English on the Alpha branch and have had no such issues, so maybe its only when in another language?

hozosch commented 5 years ago

For me, it also happesn in English, for instance  if you read one line and it finished reading it.

Brian1Gaff commented 5 years ago

Hmm, very strange. maybe its hardware related or something to do with the speech refactoring rather than Python 3. I'm using a Behringer USB sound device here. One would have thought that it would be an odd fault to only occur in some circumstances. It makes me wonder if it occurs with no speech or another synth, say Sappi 5?

zstanecic commented 5 years ago

It doesn’t have to do anything with speech refactor

Brian1Gaff commented 5 years ago

Well, I have been using it all morning with docs in word and other applications and apart from the occasional click one gets when a sound is interrupted by the user, ie the sudden fall of a DC level so to speak, normal reading with the Quincy voice works as it should do at least on my window 7 64 machine. Brian

Adriani90 commented 5 years ago

Cc: @feerrenrut

hozosch commented 5 years ago

I should point out that it only happens with the compiled snapshots. I tested the prototype from source as well, and there, it didn't scratch, at least from what I can remember.

LeonarddeR commented 5 years ago

The thought that this may be caused by speech refactor isn't strange at all, there have been major changes on how speech synthesizers process speech as well as how say all works. I've been able to reproduce this in applications where movement through text is laggy, such as in word documents with lots of data in it.

Cc @michaelDCurran

hozosch commented 4 years ago

I'm now running 2019.3 beta 1 installed on windows 10 18363, and I still have that problem. It's whenever NVDA scrolls, and sometimes when it finishes a sentence. I think it's a speech refactor problem, because I was using an inofficial eloquence driver ported to python3 as well once, which also did it.

zstanecic commented 4 years ago

Hi! Please try it with some official synth, especially sapi 4 or 5, and RH Voice or vocalizer

hozosch commented 4 years ago

I primarily use Espeak, and it still happens with this synth. In sapi4 and 5 it doesn't happen, I don't have the money to buy vocalizer.

Adriani90 commented 4 years ago

Can you try on a different Laptop or PC? Can you reproduce it? Do you use multiple Sound Cards? I am using NVDA 2019.3 Beta 1 on different PCs both with eSPeak and Eloquence as Wella s one core voices, both on Windows 10 and Windows 8.1. I cannot reproduce this Problem.

It might be a Sound issue from your Sound Card. Try also with different Headsets or Speakers.

hozosch commented 4 years ago

I don't have any other OS or PC to test with. When I opened the issue, I had windows 7 on this machine I'm using now, and there it was also reproduceable. I also don't have any other sound card except the internal one with the realtec driver installed. Espeak is the only synth with which this happens, if we exclude that inofficial synth.

zstanecic commented 4 years ago

So… it is a problem of espeak

feerrenrut commented 4 years ago

I notice this issue on my machine also (with espeak). I'm suspicious of the way that we send audio to the sound device, there are much newer API's for this. It will require some investigation.

feerrenrut commented 4 years ago

I'm labeling this as goodForNewDev, since very little NVDA specific knowledge is required to investigate. I expect the problem is limited to how we send audio data.

Adriani90 commented 4 years ago

@hozosch could you please test with last alpha? Is this still reproducible?

jcsteh commented 4 years ago

This has the same cause (and thus the same investigation is required) as I describe in https://github.com/nvaccess/nvda/issues/11061#issuecomment-671638918.

hozosch commented 4 years ago

So it has! Well, as I expected, I can still reproduce it with the latest alpha version.

CyrilleB79 commented 1 year ago

Reopening since WASAPI is not enabled by default anymore (#15172).

hozosch commented 1 year ago

I also noticed that this happens only at speeds faster than the default 30. I will need to make a more extensive test with vasapi enabled.