Web Speech API bugs in iOS 15.1 and macOS Monterey

Hi, I've been working on a project that utilizes the Web Speech API: https://developer.mozilla.org/en-US/docs/Web/API/Web_Speech_API. However, I've noticed some strange behavior in the newest versions of Safari on iOS, iPadOS, and macOS.

One issue that occurs regularly is that the text input will repeat after voice input has ended. This can be seen on this demo provided by Google: https://www.google.com/intl/en/chrome/demos/speech.html

This was not happening when I tested on 14.1 (the version I upgraded from). Upon debugging, it appears the doubling of text is included in transcriptions that are not flagged as isFinal, as well as transcriptions that are, which makes me think that something isn't working properly in the implementation of the API.

Anecdotally, the speech synthesis appears to be much less accurate now as well, and I've noticed some odd behavior when I set the continuous flag to false as well. The API delegates the actual speech synthesis work to Siri, so I'm wondering why there would be a different here compared to using dictation in other apps.

My main question is: has anyone else run into problems like this? If so, how are you working around them?

I am also facing the same issue (though I have no idea if it used to work properly, since this is the first time I try the API on Safari). Apart from the fact that the interim results get duplicated over time (after voice input stops), the isFinal property is always false in my case, which causes a never-ending recognition process. Needless to say that the exact same code works properly and has been in production for quite a while in both Chrome and Edge.

Same exact problem; When using javascript speech recognition in the safari browser, the transcript contains the short phrase that was spoken, TWICE; Same exact code works correctly in the chrome browser on the same MacBook. Also, the speech to text takes significantly longer to return a transcript in Safari, than in Chrome

I am also getting the same behaviour. On my case the transcript result is also super bad. I noticed that the events triggered by the speech recognition are just the start and onaudiostart. I've asked a question on stack overflow regarding this issue. Still looking for a solution to this bug.

Still same issue on iOS 16.0.2!

It is really annoying that  is not able to get a stable Web Speech API for so long now. In Chrome this is working properly for about 10 years now :-|.

Did someone create an official WebKit bug report for this?

One additional info: I noticed this behavior sometimes only happens when I play an audio file in in between the recognition events.

Web Speech API bugs in iOS 15.1 and macOS Monterey
 
 
Q