Speech Namespace
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
The Speech namespace provides access to speech-recognition services.
Classes
SFSpeechAudioBufferRecognitionRequest |
An SFSpeechRecognitionRequest that takes its input from an audio buffer. |
SFSpeechRecognitionRequest |
Abstract base class for speech recognition requests (see SFSpeechAudioBufferRecognitionRequest and SFSpeechUrlRecognitionRequest). |
SFSpeechRecognitionResult |
Contains transcriptions of a speech recognition task. |
SFSpeechRecognitionTask |
Object that holds state and provides control of an asynchronous speech recognition task. |
SFSpeechRecognitionTaskDelegate |
Delegate object whose members are called in reaction to speech-recognition events. |
SFSpeechRecognitionTaskDelegate_Extensions |
Extension methods to the ISFSpeechRecognitionTaskDelegate interface to support all the methods from the SFSpeechRecognitionTaskDelegate protocol. |
SFSpeechRecognizer |
Encapsulates the speech recognition facilities. |
SFSpeechRecognizerDelegate |
Delegate object for SFSpeechRecognizer. |
SFSpeechRecognizerDelegate_Extensions |
Extension methods to the ISFSpeechRecognizerDelegate interface to support all the methods from the SFSpeechRecognizerDelegate protocol. |
SFSpeechUrlRecognitionRequest |
A SFSpeechRecognitionRequest whose audio source is specified in a URL |
SFTranscription |
A conversion of speech into text. |
SFTranscriptionSegment |
Interfaces
ISFSpeechRecognitionTaskDelegate |
Interface representing the required methods (if any) of the protocol SFSpeechRecognitionTaskDelegate. |
ISFSpeechRecognizerDelegate |
Interface representing the required methods (if any) of the protocol SFSpeechRecognizerDelegate. |
Enums
SFSpeechRecognitionTaskHint | |
SFSpeechRecognitionTaskState |
Enumerates the states of a SFSpeechRecognitionTask. |
SFSpeechRecognizerAuthorizationStatus |
Enumeration of the permission status of speech recognition. |
Remarks
The Speech namespace, added in iOS 10, provides developers the ability to use speech recognition in their apps above-and-beyond the system-provided keyboard dictation or SiriKit.
Speech recognition is performed by a SFSpeechRecognizer object. A speech request is encapsulated in an SFSpeechRecognitionRequest and an SFSpeechRecognitionTask.
The T:HomeKit.Speech.SFSpeechRecognizer asynchronously processes the SFSpeechRecognitionTask and calls a handler delegate (possibly several times). The result contains the best and alternate matches, as shown in the following example:
var result = speechRecognizer.GetRecognitionTask(recognitionRequest, (recoResult, recoErr) =>
{
if (recoErr != null) { // ... etc ... }
else
{
if (recoResult.BestTranscription != null)
{
textView.Text = recoResult.BestTranscription.FormattedString;
}
//...etc...
}
});
The SFSpeechRecognitionRequest is an abstract base class for SFSpeechAudioBufferRecognitionRequest, which is used with hardware devices and SFSpeechUrlRecognitionRequest, which transcribes audio already stored in a URL-available resource. Developers who use SFSpeechAudioBufferRecognitionRequest objects must add the following keys, with appropriate descriptions, to their applications' info.plist
file:
<key>NSMicrophoneUsageDescription</key>
<string>Your microphone will be used to record your speech when you press the "Start Recording" button.</string>
<key>NSSpeechRecognitionUsageDescription</key>
<string>Speech recognition will be used to determine which words you speak into this device's microphone.</string>
If an application does not have these keys, the operating system will execute a "silent" shutdown at runtime, with no exception or ability to log the mistake.
Speech recognition requires Internet access.