Speech Recognition in Uno
Tip
This article covers Uno-specific information for Windows.Media.SpeechRecognition
. For a full description of the feature and instructions on using it, consult the UWP documentation: https://learn.microsoft.com/en-us/uwp/api/windows.media.speechrecognition
- The
Windows.Media.SpeechRecognition
class allows an application to recognize voice input.
Uno's implementation currently supports basic native speech recognition.
Supported Features
Following features of Windows.Media.SpeechRecognition.SpeechRecognizer
are currently supported:
Feature | iOS | Android | Remarks |
---|---|---|---|
SpeechRecognizer() | X | X | |
SpeechRecognizer(Language) | X | X | |
Constraints | - | - | |
ContinuousRecognitionSession | - | - | |
CurrentLanguage | X | X | |
State | X | X | |
SupportedGrammarLanguages | - | - | |
SupportedTopicLanguages | - | - | |
SystemSpeechLanguage | - | - | |
Timeouts | X | X | |
UIOptions | X | X | Not used |
CompileConstraintsAsync() | X | X | Always return Success (implemented to meet UWP constraint that requires CompileConstraintsAsync() to be called before RecognizeAsync() ) |
Dispose() | X | X | |
RecognizeAsync() | X | X | |
RecognizeWithUIAsync() | - | - | |
StopRecognitionAsync()() | X | X | |
TrySetSystemSpeechLanguageAsync(Language) | - | - | |
HypothesisGenerated | X | X | |
RecognitionQualityDegrading | - | - | |
StateChanged | X | X |
Requirement
iOS
Requires iOS10+ Following lines need to be added to your info.plist
<key>NSSpeechRecognitionUsageDescription</key>
<string>[SpeechRecognition usage description]</string>
<key>NSMicrophoneUsageDescription</key>
<string>[SpeechRecognition usage description]</string>
Android
Following lines need to be added to your AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
Limitation
In Windows.Media.SpeechRecognition.SpeechRecognitionResult
, only Text
, Alternates
and GetAlternates(uint maxAlternates)
are implemented.
In particular, RawConfidence
and Confidence
fields are not currently supported