leaonline/easy-speech

Speak when voices won't load but speech synth and utterance are available (Brave shields up issue)

Closed this issue · 7 comments

When brave shields are up, the list of voices is never seen.
Nonetheless, an utterance can speak.
.speak may need some option like "do it anyway!" even when the voices array is empty.

Hey @RandyLoeb can you add the init status and the log from https://jankapunkt.github.io/easy-speech/ since I don't have brave installed. But with the output I should be able to tweak this a bit to get make it possible to speak even without a loaded list.

@RandyLoeb I addressed this issue in https://github.com/jankapunkt/easy-speech/releases/tag/1.2.0 since it is cross-related to #41 Please test, if this works for you.

However, I found that when there are no voices at all avaiable, it might be, that SpeechSynthesis.speak will work with an utterance but since there is no voice it might not speak or throw another related error.

Sorry for delay, I will try to grab and test the fix, is it part of npm package or do I need to get from github?
I have been wrestling with some other safari-on-ipad speak problems that have me quite baffled.

Hey it's released to npm it's 1.20 version. If you have issues with other browsers please open issues (and add browser/version/os Info) thank you

Oh sorry, no the safari issue has nothing to do with your code. But if you're volunteering to be another set of eyes.... ;-)

Yeah why not, if you wanted to see where your code is being used. This is a club that teaches morse code to amateur radio operators, I volunteered to make this site for them: https://longislandcw.github.io/morsebrowser/dev/?voiceEnabled=true its on github or all source-mapped. A bit of a work in progress so excuse the mess...

You should just be able to play, and should hear morse followed by the spoken word. On iPad OS 15.5 Safari 15/Chrome ? one of the users says the voice never speaks. But other sites that use voice api work fine on it. I suspect it has something to do with the time or call stack being too distanced from the user's click....

I installed the latest npm package and the force:true option works like a charm, thanks!