brailcom / brailcom/speechd

Voxin randomly drops to default values

Open
#845 6 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
C
Stars
331
Forks
92
Avg merge
2d 10h
Merged PRs (30d)
9

Description

### Steps to reproduce

As the title says, it's difficult to predict when the problem occurs. It appears to occur when the user presses lots of keys in a short period, so that many utterances are sent to the synth in a short time span. In any case, please see my proposed solution below, along with the atteched logs.

### Obtained behavior

The Voxin voice suddenly resets to default values including speed, pitch and volume, then it may go back to my customized values at the next utterance, or it may stay at the defaults during many more utterances and seconds. See this thread at the Orca mailing list, where other users also complain:
https://www.freelists.org/post/orca/Voxin-or-speechdispatcher

### Expected behavior

Values should respect customizations at full time. Here is my suggestion for a solution:

First, I'm mostly sure that this is a synthesiser bug, because it also occurs when not using speech-dispatcher, for example when using voxin with speakup + voxinup. In addition, the problem occurs in the Windows compilation too. Users of the NVDA screen reader for Windows noticed the problem, and the developer of the NVDA driver for the synth came with a partial solution: he implemented a setting called "Always Send Current Speech Settings", which when checked, send the current customized values before any utterance that the synth will output. Below is a direct link to the Python source file where the setting appears to be implemented for NVDA, see for example lines 213, 267 and 268. Perhaps you could implement a similar workaround for speech-dispatcher:
https://github.com/davidacm/NVDA-IBMTTS-Driver/blob/master/addon/synthDrivers/ibmeci.py

### Behavior information

I'm attaching speech-dispatcher.log, and an Orca debug file in case it can be useful. As for voxin.log, it is empty.

### Distribution

Gentoo Linux, up to date.

### Version of Speech-dispatcher

0.11.4-r2
[debug-2023-07-21-09_16_30.log](https://github.com/brailcom/speechd/files/12129990/debug-2023-07-21-09_16_30.log)
[speech-dispatcher.log](https://github.com/brailcom/speechd/files/12129991/speech-dispatcher.log)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the attached speech-dispatcher.log and debug log, then compare the proposed behavior in NVDA's addon/synthDrivers/ibmeci.py, especially lines 213, 267, and 268. Trace how speech-dispatcher sends successive Voxin utterances and verify that customized speed, pitch, and volume remain in effect during rapid input and across subsequent utterances.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
audio-video-rtc
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.