Re: Ask developers: Synth Driver: Async or Sync speakText

Tyler Spivey

You can subscribe to nvda-devel here:
Or by sending mail to nvda-devel-request@... with subscribe in the body.

speak (and thus speakText) must be async. When something calls speak (speakText is deprecated), send it off to a background thread.

For say all to work properly, you also have to handle indexes. An index is a marker that the screen reader sends to the synthesizer, and the synth sends back when it gets to that point in the output.

If you still need help, feel free to mail nvda-devel or mail me off-list. I've written a few of these.

On 10/16/2016 6:31 PM, Tuan Le Anh wrote:
Hi there.
My name is Tuan Le Anh. I am developing Vietnamese TTS for NVDA.
I just wanted to ask a question but don't have permission to post in
developer mail group.
So, I am sending to you with hope you will help me.
My problem is that I can't get speakText function to work properly.
If speakText is synchronized function, NVDA freezes while TTS reads some
If speakText is async, Say All feature doesn't work properly: system
caret moves to end of text at once instead of moving along with reading
text, or system caret doesn't move and NVDA reads only few lines of text
(reads around 10 lines then stops).
Please, help me as blind people in Vietnam really need my portable
Thank you and looking forward to your replying,
Tuan Le Anh.

Join { to automatically receive all group messages.