Contextual Strings not working for on-device speech recognition.

I've noticed that contextual strings do not work for on-device speech recognition. I've written a Feedback entry: FB7496068

To reproduce:
  1. Create a basic app that transcribes speech.

  2. Add “Flubbery Dubbery” or a made up couple of words to a strings array and set it equal to the contextualStrings property of SFSpeechAudioBufferRecognitionRequest

  3. For the recognition request being used, set the requiresOnDeviceRecognition Boolean property to true.

  4. Transcribe audio and say the made up couple of words.

  5. See that the device never correctly transcribes the made up couple of words.

  6. Now set the requiresOnDeviceRecognition Boolean to false.

  7. Transcribe audio and say the made up words.

  8. See that the device correctly transcribes the made up words.

Has anyone else run into this problem? I would love a fix.

PS, I noticed that if you add a custom word as a contact in the Contacts app, then on-device recognition picks it up. So it seems it's possible, just not implemented quite right.
I am having the same exact problem here.
Anybody has an idea why this is not working?

I am using the latest of almost everything:
iPhone 12 Pro
iOS 14.2
xcode 12.2

Kind regards,
Wouter Wessels

Did you get any solutions? I want to teach my app to understand phrases like „six-five chord“ „B-flat minor“ or equivalents in other languages. I made a similar app using speech and it does not understand any of those words. I presented it via contextualStrings and it does not make any difference wether the requiresOnDeviceRecognition Boolean property is set true or false. Wolle be very happy Tom Solveig the Problem!!

Contextual Strings not working for on-device speech recognition.
 
 
Q