Share via


Speech Namespace

The Speech namespace provides access to speech-recognition services.

Classes

Name Description
SFAcousticFeature
SFAnalysisContextTag
SFSpeechAudioBufferRecognitionRequest

An SFSpeechRecognitionRequest that takes its input from an audio buffer.

SFSpeechErrorCodeExtensions

Extension methods for the SFSpeechErrorCode enumeration.

SFSpeechLanguageModel
SFSpeechLanguageModelConfiguration
SFSpeechRecognitionMetadata
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
SFVoiceAnalytics

Interfaces

Name Description
ISFSpeechRecognitionTaskDelegate

Delegate object whose members are called in reaction to speech-recognition events.

ISFSpeechRecognizerDelegate

Delegate object for SFSpeechRecognizer.

Enums

Name Description
SFSpeechErrorCode
SFSpeechRecognitionTaskHint
SFSpeechRecognitionTaskState

Enumerates the states of a SFSpeechRecognitionTask.

SFSpeechRecognizerAuthorizationStatus

Enumeration of the permission status of speech recognition.

Delegates

Name Description
SFSpeechLanguageModelPrepareCustomModelHandler

Remarks

The Speech namespace provides developers the ability to use speech recognition in their apps 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 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.