SFSpeechRecognizer is broken on iOS 18

Hello,

I noticed that SFSpeechRecognizer is broken on iOS 18. During a recognition task, it keeps dropping the recognized text on every pause. For example, if you say "how are you <pause> fine", it will drop the "how are you" part and only give you "fine" as the result.

Say "how are you <pause> fine"

// iOS 17 ✅ (perfect final result)
How
How are
How are you
How are you.
How are you. Fine.


// iOS 18 ❌
How
How are
How are you
How are you
Fine

(the text before the pause is dropped, and fail to recognize the punctuations.)

Reproducing the issue:

  1. Download the official sample project.
  2. Run it on an iOS 18 device or simulator.
  3. Say "how are you <pause> fine"
  4. Only "fine" will be displayed.
Answered by jsnbro in 807035022

iOS 18.1 Beta 5 (22B5054e) seems to have resolved this issue and improved U.S. English language recognition & punctuation.

https://developer.apple.com/download/

Here's hoping its Speech framework makes it into the next release.

FB15290642

Hello @Gong, thank you for submitting FB15290642.

I can confirm this behaviour. We need urgent fix for this, because as of now programmers don't know when the recogniser has finished previous segment and is starting a new segment.

Thus a continuous transcription is impossible !!!

Furthermore on some older Macs the recogniser is NOT setting the segment confidences to greater than 0 when a segment is finished. So this is also NOT a solution for knowing when a segment is finished.

This is a severe problem ! Pls fix asap !

Accepted Answer

iOS 18.1 Beta 5 (22B5054e) seems to have resolved this issue and improved U.S. English language recognition & punctuation.

https://developer.apple.com/download/

Here's hoping its Speech framework makes it into the next release.

SFSpeechRecognizer is broken on iOS 18
 
 
Q