Jump to content

"Automatically use VoiceOver for speech output" option for "Speak" component not working


Recommended Posts

Hi,

 

I develop a workflow to use OpenAI's text completion API on Alfred.

 

OpenAI Text-Completion Workflow for Alfred

https://github.com/yohasebe/openai-text-completion-workflow

 

A blind user of this workflow has reported that the "speak" feature of the workflow does not work. I have checked this myself and found that when VoiceOver is activated, neither VoiceOver nor the default Voice Synthesizer in MacOS will perform speech synthesis.

 

Could you please take a look at this option and fix the problem? When VoiceOver is not activated, the "speak" feature works as expected.

 

PS: It is great that Alfredo can be a very useful tool for the blind.

 

2023-02-28_19-27-40.png

Edited by yohasebe
better attachment picture
Link to comment

I suspect what is happening here is the speak is actually working, but at the same time, the Alfred window hides, and VoiceOver then switches context to the app which takes focus at this point. This will discard anything in the VoiceOver queue which is now out of context.

 

I created a simple reproducible for this, and really, VoiceOver is being "correct" in its behaviour. When I disable VoiceOver for speech output, then I get the standard Voice Synth speaking over the top of VoiceOver (both speaking at the same time).

 

Alfred does mark the VO output as speaking immediately, so one workaround you could try is add a delay workflow object before the Speak. This will allow the Alfred window to hide, and then when VO receives the speech text, the context will already be on another app, so the text will take precedence.

 

Let me know how you get on :)

Link to comment

@Andrew Thank you for your valuable advice. I have confirmed that adding a delay workflow object works. I'm sorry that I made this topic in the bug category even though it is not!

 

There is one more thing that is not clear to me. VoiceOver reads the following a few times and finally speaks the result text:

 

"Currently you are on a system dialog."

"In system dialog, content is empty."

 

This is another problem I have been told by the blind user of the workflow. Any ideas?

Link to comment

@Andrew It does (or appears to) happen no matter what is on the screen. I am attaching a MP4 of what it looks like. The result text is read out 10 seconds after the start, but the above messages are also read out before and after that.

 

https://user-images.githubusercontent.com/18207/222877765-5a67a1d5-6348-48ce-8bd7-7be084f6c0b5.mp4

 

I tried sleep times of 1.5, 2.0, and 2.5 seconds on my M1 MacBook Air and found that 1.5 seconds was too short. I think I'll go with 2.5 seconds. This also does not seem to matter.

Edited by yohasebe
Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...