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??

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

I have tested this situation. When the user upgrades to 13.2, the online speech recognition time will be very long, which will make the user experience very bad. You can use this code ( SFSpeechAudioBufferRecognitionRequest.Requiresondevicerecognition = YES ) to make speech recognition only request local thesaurus, not online query, which will effectively solve this problem.


Unfortunately, I found that some devices such as 'iPod touch 7' and 'ipad Mini 4' are not supported for this kind of local query.


So if it's these special devices, I don't know how to solve it, because their online query is very slow, and they are not supported locally.


Today, I tested iOS 13.3 beta 3, which has fixed the problem of slow online speech recognition.


Two suggestions:

1. You can wait for 13.3 to release.

2. You can record the voice content as a file, and then identify the file to solve this problem, but this way will be slower.

I got the same problem. in the mean time to wait for Apple fixing, I need a solution for my app

Today Apple released new version for iOS, version 13.2.3 but not mention this issue

I recored the voice content as a file (soundFile) and then transcibe this file, but result is never final. So I have to finish the task with case of result becomes nil. This leads to the program run to slowly:


let recognizer = SFSpeechRecognizer()

let request = SFSpeechURLRecognitionRequest(url: soundFile)

recognizer!.recognitionTask(with: request){

(result, error) in

guard let result = result else{

// handle self.textForRecording here

return

}

self.textForRecording = result.bestTranscription.formattedString

print("result.bestTranscription.formattedString: \(result.bestTranscription.formattedString )")

if (result.isFinal) {

print("isFinal never true")

}

Wondering if Apple acknowledged the issue anywhere? I didn’t get a response to my bug/feedback report.

Same problem here. I'm glad I discovered this thread. My app is due for an update, I think I'll make a note to the users in the app, to notify them of the temporary problem. I hope it won't take too long for 13.3.

Test of the day:

iOS 13.3 developer beta 4 --> OK

Test of the day:


iOS 13.3 release --> OK


Problem solved !

I just downloaded Xcode 11.3 and this is now working for me on the iPhone 11 Pro 13.3 simulator. However, it still doesn't work on my physical iPhone XS with iOS 13.3. Is this happening to anyone else or does anyone know how I can fix it on my physical iPhone? I have tried reinstalling, restarting etc with no luck.

I've tested 13.3 on a physical iPhone 8. It doesn't work unless Siri is activated.


So the user must have Siri activated in order for speech recognition to be available in my app.

SFSpeechRecognizer isn't working properly in IOS 13.2.
 
 
Q