SFSpeechRecognizer isn't working properly in IOS 13.2.

In IOS 13.1, everything worked just fine. Since 13.2, the SFSpeechRecognizer is giving me a hard time. The speech recognition takes way longer than before and the result.IsFinal bool is never true.


I am not just struggling with these errors in my app but also getting them in the official Sample Code Project ( https://developer.apple.com/documentation/speech/recognizing_speech_in_live_audio ).


Is anyone else facing similar problems??

Replies

Yes


It's also affecting my previous builds (prior to iOS 13) that are running on devices with 13.2.

Yes, I'm having trouble too. Have submitted a sample project and bug report to Apple (FB7423361). If you haven't filed a feedback report, please do so at https://feedbackassistant.apple.com


My sample project works fine on iOS 13.1 but fails on 13.2.


From what I can tell, English recognition is working ok. Some other langauges, e.g. French, result in a timeout. Weird thing is with these languages, recognition will work once - and only once - after a reboot of the device. All subsequent attempts to recognise in French will fail with the timeout until the device is restarted.

I found that the new offline recognition works fine, ie just like online recognition worked prior to 13.2. That’s a poor replacement, though, since the languages are limited and the quality lower. Note also that it’s buggy prior to 13.2. I tried out a couple prominent translation apps that use Apple’s speech recognition. One was pretty broken, while the other seemed to function as normal. Wonder how they managed it.

Yes, I have also submitted a feedback report. But haven't got any response yet.


I think I followed you on twitter now. Would be awesome if we could keep us up to date when one of us gets a response or finds a workaround.

Yes, we have the same issue.

For english we get the final result with delay of 2 seconds and for other languages with delay of 30 seconds. We have a timeout of couple of seconds so we don't get to that 30 seconds, but when I removed it I saw that other languages have a delay of 30 seconds.


The strange thing is that partial results are coming at a normal pace and that final one is delayed. :/


Hopefully there is some 13.2.1 soon so we can see if it is fixed

I just submitted a feedback report for the same regression problem.


I first experienced the problem with a mac catalyst app running under the latest Catalina update (10.15.1).

Then I opened a DTS support ticket and attached a native mac os sample app showing the problem.

Then found the problem also shows with iOS 13.2...


I double-checked that the SFSpeechRecognizer sends the expected final results with iOS 11.3, iOS 12.4.1 and iOS 13.1.3...

I also found that if I reboot the iOS device, or close the macOS session and reopen, I get a correct final result once, then only get partial results until the device is rebooted again.

Good news. I just tested with iOS 13.3 beta 1, and the problem is solved.


Now I have to update all my apps: if iOS 13.2 or macOS 10.15.1 ... sorry but vocal recognition is not available...

I am experiencing same issues with iOS 13.2. Specifically ,German speech recognition works once after reboot, then never again. French doesn't work at all. I am not having this problem with Spanish, Italian or Portguese. Fun 😀

Yes, in ios 13.3 it seems to work again. I think we just need to wait for the update 😀

Just tested with iOS 13.2.2 on a real device, and it still doesn't work.

I hope iOS 13.3 is released soon !

I also confirm iOS v13.3 resolved the issue.

Just tested with iOS 13.3 beta 2, and the SFSpeechRecognizer works fine.

Not solved by 13.2.3?

Unfortunately, it's still not solved under iOS 13.2.3...

Tests of the day:

iOS 13.3 beta 3 --> OK

macOS 10.15.2 beta 3 --> OK