<!--
{
  "documentType" : "article",
  "framework" : "Speech",
  "identifier" : "/documentation/Speech/speech-recognition-in-objc",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Speech Recognition in Objective-C"
}
-->

# Speech Recognition in Objective-C

Use these classes to perform speech recognition in Objective-C code.

## Topics

### Essentials

[Asking Permission to Use Speech Recognition](/documentation/Speech/asking-permission-to-use-speech-recognition)

Ask the user’s permission to perform speech recognition using Apple’s servers.

[`SFSpeechRecognizer`](/documentation/Speech/SFSpeechRecognizer)

An object you use to check for the availability of the speech recognition service, and to initiate the speech recognition process.

[`SFSpeechRecognizerDelegate`](/documentation/Speech/SFSpeechRecognizerDelegate)

A protocol that you adopt in your objects to track the availability of a speech recognizer.

[`SFSpeechRecognitionTaskHint`](/documentation/Speech/SFSpeechRecognitionTaskHint)

The type of task for which you are using speech recognition.

[`SFSpeechRecognizerAuthorizationStatus`](/documentation/Speech/SFSpeechRecognizerAuthorizationStatus)

The app’s authorization to perform speech recognition.

### Audio sources

[`SFSpeechURLRecognitionRequest`](/documentation/Speech/SFSpeechURLRecognitionRequest)

A request to recognize speech in a recorded audio file.

[`SFSpeechAudioBufferRecognitionRequest`](/documentation/Speech/SFSpeechAudioBufferRecognitionRequest)

A request to recognize speech from captured audio content, such as audio from the device’s microphone.

[`SFSpeechRecognitionRequest`](/documentation/Speech/SFSpeechRecognitionRequest)

An abstract class that represents a request to recognize speech from an audio source.

### In-progress requests

[`SFSpeechRecognitionTask`](/documentation/Speech/SFSpeechRecognitionTask)

A task object for monitoring the speech recognition progress.

[`SFSpeechRecognitionTaskDelegate`](/documentation/Speech/SFSpeechRecognitionTaskDelegate)

A protocol with methods for managing multi-utterance speech recognition requests.

[`SFSpeechRecognitionTaskState`](/documentation/Speech/SFSpeechRecognitionTaskState)

The state of the task associated with the recognition request.

### Transcription results

[`SFSpeechRecognitionResult`](/documentation/Speech/SFSpeechRecognitionResult)

An object that contains the partial or final results of a speech recognition request.

[`SFSpeechRecognitionMetadata`](/documentation/Speech/SFSpeechRecognitionMetadata)

The metadata of speech in the audio of a speech recognition request.

[`SFTranscription`](/documentation/Speech/SFTranscription)

A textual representation of the specified speech in its entirety, as recognized by the speech recognizer.

[`SFTranscriptionSegment`](/documentation/Speech/SFTranscriptionSegment)

A discrete part of an entire transcription, as identified by the speech recognizer.

### Voice analytics

[`SFVoiceAnalytics`](/documentation/Speech/SFVoiceAnalytics)

A collection of vocal analysis metrics.

[`SFAcousticFeature`](/documentation/Speech/SFAcousticFeature)

The value of a voice analysis metric.

### Errors

[`SFSpeechErrorDomain`](/documentation/Speech/SFSpeechErrorDomain)

[`SFSpeechError`](/documentation/Speech/SFSpeechError)

[`SFSpeechError.Code`](/documentation/Speech/SFSpeechError/Code)

Error codes that can be thrown under the Speech framework’s error domain.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)