nvda icon indicating copy to clipboard operation
nvda copied to clipboard

SAPI 5 Eloquence does not speak the first character in German

Open guenterhanke opened this issue 8 months ago • 6 comments

Steps to reproduce:

  • install the SAPI 5 variant of Code Factories Eloquence, the one for SAPI 5 and not the one with NVDA addon
  • in NVDA select the voice Code Factory ETI Eloquence Deutsch

Actual behavior:

    • let Eloquence speak the sentense für viele Leute ist schluss you will hear ür viele leute ist schluss and when you use CTRL+arrow right you'll hear iele instead of viele. So the first character is missing.

It only happens with some characters like f, v and so on but not with the S or SCH of Schluss or the L of Leute.

Expected behavior:

Eloquence should speak für viele without the first character missing

NVDA logs, crash dumps and other attachments:

System configuration

NVDA installed/portable/running from source:

Installed and not portable

NVDA version:

2025-1 Beta 2 it was also with Beta 1 but not with older versions.

Windows version:

Windows 11 24H2 on a Toshiba Notebook.

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

ETI Eloquence from Code Factory Version 1.11.0

Other information about your system:

I am using a headset connected directly with a cable.

Other questions

Does the issue still occur after restarting your computer?

yes.

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

With the older versions like 2024-4 it is not happening.

If NVDA add-ons are disabled, is your problem still occurring?

It is also happening without add ons.

Does the issue still occur after you run the COM Registration Fixing Tool in NVDA's tools menu?

yes.

additional

i tried the following settings, no change NVDA, options, setting in TAB Audio the last setting time till the sound is reduces I tried with 0 to 30 but nothing changes.

guenterhanke avatar Apr 24 '25 05:04 guenterhanke

Hi, could you check whether this is still happening with "Trim leading silence in speech audio" disabled in advanced settings?

gexgd0419 avatar Apr 24 '25 05:04 gexgd0419

Hi, could you check whether this is still happening with "Trim leading silence in speech audio" disabled in advanced settings?

If disabled it solves the problem.

Checking this option again and the problem comes back.

So thank you for the quick solution. Guenter

guenterhanke avatar Apr 24 '25 06:04 guenterhanke

@gexgd0419 - do you have any leads on fixing this? @guenterhanke - is this still an issue on the latest beta?

seanbudd avatar May 06 '25 23:05 seanbudd

Hi, i have upgraded to 2025-1 Beta 4. I checked the setting in advanced you mentioned and the problem is there again. I unchecked the setting and the problem is gone.

It is in the SAPI 5 Eloquence of Code Factory in the German voice.

Guenter

guenterhanke avatar May 07 '25 05:05 guenterhanke

@gexgd0419 do you plan to address this? It sounds like the trimming threshold needs to come down a little.

SaschaCowley avatar May 14 '25 05:05 SaschaCowley

The current threshold is 1/1024 or 0.0009765625, or about -60dB.

While I agree that making the threshold configurable may be better, it's also possible that this is a problem caused by the Windows audio system, or other audio components. See PR #17699 for a similar problem.

I'm working on a new add-on that can record the system audio output and the audio data sent to WavePlayer, so I can get more info about the problem from the user.

@guenterhanke Does changing the volume setting of the voice makes any difference? If the voice is at the maximum volume, does it becomes better?

gexgd0419 avatar May 14 '25 07:05 gexgd0419

@guenterhanke - can you please answer @gexgd0419's recent question?

Could you also please test the latest snapshot build and see if the issue is fixed? Ensure the number is higher than alpha-37647, which should finish building soon.

Do you also have keep audio device awake enabled? Does this affect the results?

seanbudd avatar Jul 29 '25 04:07 seanbudd

The build to test (or a newer one) https://download.nvaccess.org/snapshots/alpha/nvda_snapshot_alpha-37658,4e60eebe.exe

seanbudd avatar Jul 29 '25 08:07 seanbudd

Hi Sean, I installed the version you suggested and rebooted my System. remember, I'm using a German UI.

noting changes when i activate delete pause before speaking in settings, advanced.

I cannot find the setting keep audio device awake Where is it exactly?

I only find the last setting in Audio time till fade out after speaking I set it to 0 and restarted NVDA and set it to 30 and restarted NVDA. Noting changes.

Only if i uncheck the setting in Speech called use modern sound device (WASAPI) the problem is solved. Thank you Guenter

guenterhanke avatar Jul 29 '25 10:07 guenterhanke

This is the setting information in the German user guide.

Just to confirm, do both of these workarounds still work?

  • uncheck the setting in Speech called use modern sound device (WASAPI)
  • disabling "Trim leading silence in speech audio" in advanced settings

seanbudd avatar Jul 30 '25 00:07 seanbudd

yes, both work arounds are still working.

guenterhanke avatar Jul 30 '25 04:07 guenterhanke

Does "Zeit, um das Audio-Gerät nach dem Sprechen nicht auszublenden" affect this?

seanbudd avatar Jul 30 '25 04:07 seanbudd

Hi Sean, "Zeit, um das Audio-Gerät nach dem Sprechen nicht auszublenden" I tried 0, 30 and 60 seconds with no change.

guenterhanke avatar Jul 30 '25 04:07 guenterhanke

Thanks for testing. Given a workaround is available, we might consider closing this.

Do folks have any thoughts on moving the "trim leading audio" setting out of advanced options?

seanbudd avatar Jul 30 '25 05:07 seanbudd

Maybe adding a config slider for the threshold level could solve this problem? (Or maybe not.)

But I'm not quite sure how the UI can be presented to the user.

Should we use a slider control? Considering that this threshold usually should be at a relatively silent level, should the range be limited?

Should we present the value in decibels, or just a numeric value like 0~100?

gexgd0419 avatar Jul 30 '25 05:07 gexgd0419

I think decibels is the best option

seanbudd avatar Jul 30 '25 06:07 seanbudd

The decibels here actually means dBFS or Decibels relative to Full Scale, where 0 dBFS stands for the maximum level (volume), and lower levels are negative, for example, -6 dBFS stands for 50% of the maximum level. The lowest level (absolute silence) is the negative infinity.

This kind of notation is often used in audio processing software, but for other users, this kind of notation might be confusing.

Also, how can I mark the decibel values on a slider, so that NVDA can announce the value while adjusting? Or should I just give users a textbox to let them input a value?

gexgd0419 avatar Jul 30 '25 06:07 gexgd0419

I think a SelectOnFocusSpinCtrl would be ideal. dBFS might be a bit too confusing for users. 0-100 might be better. I think we should gather some feedback here first.

seanbudd avatar Jul 30 '25 06:07 seanbudd

Hi, please try this addon called AudioLogger to record the audio on your system when you reproduce the issue, which can give us some more information.

This addon is not yet in the store, so you will have to download it from the Releases section. I created the addon just for diagnosis, so it can be buggy and I would recommend disabling or removing it after use.

After installing the addon and restarting NVDA, press NVDA+Alt+R to start recording. Then you can try to reproduce the issue. Note that all audio output (not only audio from NVDA) and gesture inputs (e.g. keyboard inputs) will be logged. Then when you are done, press NVDA+Alt+T. The saved file will be a ZIP file in a folder named AudioLogger in your Documents folder. Only the last 60 seconds of audio will be preseved, so you should stop recording in time.

After recording, you can send the ZIP file directly on GitHub, along with the log file, if you are sure there's no sensitive information in it.

gexgd0419 avatar Aug 03 '25 16:08 gexgd0419

Hello, as attachment two files The one from 17:24 is the right output with the setting delete at the start switched off. and the one from 17:59 is the wrong output with the setting activated. It is the sentence

der Fisch stinkt vom Kopf her. listn to the words "Fisch" and "vom" where in the second files the first milliseconds are missing so it seams to be "ish" and "om" instead of Fisch and vom.

2025-08-06_17-24-47.zip

2025-08-06_17-59-22.zip

guenterhanke avatar Aug 06 '25 16:08 guenterhanke

@guenterhanke Please check if this snapshot build fixes this issue.

gexgd0419 avatar Aug 08 '25 08:08 gexgd0419

Hello, the link in your message leads to a documentation file. Please tell me the build number and I'll try to search for the file. Thank you for all of your work. Guenter

guenterhanke avatar Aug 08 '25 08:08 guenterhanke

Sorry I copied the wrong link. Here's the link.

gexgd0419 avatar Aug 08 '25 09:08 gexgd0419

Year, you got it! I installed this build and restarted the computer. It solves the problem.

Now the option Vorangestellte Pause beim Sprechen abschneiden Cut off the leading pause when speaking can be switched on (standard) Thank you all for your work for such a small problem. Guenter from Germany.

guenterhanke avatar Aug 08 '25 09:08 guenterhanke

Hi, I installed 2025-3 Beta 3 today. This problem is still there. Before I was working with an alpha because of the large delay when switching applications. In This alpha the problem was also not solved. But with the Alpha for fixing  I got to solve the problem with the missing first character ( #18003) the problem was solved. What can I do? Guenter

guenterhanke avatar Sep 04 '25 12:09 guenterhanke

@guenterhanke - Sorry I am confused. The issue with first character not being spoken should be solved in 2025.3rc1 and alpha. If you are still having other issues, please open a new issue, as this issue is for that problem.

seanbudd avatar Sep 12 '25 05:09 seanbudd

Hi Sean, sorry for confusing you. All is OK now. The problem was not solved in the Beta 3 but is solved in the RC1. now. Thank you all for your great work. Guenter

guenterhanke avatar Sep 12 '25 05:09 guenterhanke