Search Issue Tracker
Won't Fix
Votes
0
Found in
2018.4
2019.3.4f1
2020.2
Issue ID
1227088
Regression
No
[Windows] Timeout is not triggered when DictationRecognizer stops recognizing words
Reproduction steps:
1. Open the attached project ("DictationError.zip")
2. Open the repro scene ("SampleScene")
3. Point your microphone at a speaker that's playing audio of someone speaking, like a podcast
4. Enter Play Mode
5. Let the dication go for a few minutes
6. Inspect the Console Logs afterward
Expected result: Longest time since last recognition is under 2-3 seconds
Actual result: Longest time since last recognition goes up to 30s and more; in those intervals, speech is happening, but not being dictated
Reproducible with: 2018.4.25f1, 2019.4.4f1, 2020.1.0b16, 2020.2.0a18
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Assigned font's bold/font-weight styles render using Default Font's assets when Default Font has corresponding style assets defined in TMP Settings
- "Modifying the parent of a VisualElement while it’s already being modified is not allowed" error is thrown when entering text and pressing tab in the Search window
- Mesh colliders are not updating their positions of bounds correctly
- Images are missing from the "Open the sprite editor" documentation for 6.0, 6.1 and 6.2
- The previous element in the array is modified when assigning an Asset to a new element of AssetReferenceT
Resolution Note (2020.2.X):
The 30 second delay is coming from the Windows SpeechContinuousRecognition API (https://docs.microsoft.com/en-us/uwp/api/Windows.Media.SpeechRecognition.SpeechContinuousRecognitionSession?view=winrt-19041) and therefore is a Microsoft bug which we can't fix.
Unlike KeywordRecognizer, this API uses a web service to process Speech-to-Text in the "Cloud", and it appears the Microsoft server sometimes doesn't respond appropriately. The best work around is to implement your own timeout: if there's no response during a dictation session after ~10 seconds, then call Stop() on the session and then Start() to being a new session.