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


@protocol SFSpeechRecognitionTaskDelegate


The methods of this protocol give you fine-grained control over the speech recognition process. Specifically, you use this protocol when you want to know the following:

  • When the first utterances of speech occur in the audio.

  • When the speech recognizer stops accepting audio.

  • When the speech recognition process finishes or is canceled.

  • When the speech recognizer generates a potential transcription.

Adopt the methods of this protocol in an object and pass that object in to the delegate parameter of recognitionTaskWithRequest:delegate: when starting your speech recognition task.


Tracking the Task Progress

- speechRecognitionDidDetectSpeech:

Tells the delegate when the task first detects speech in the source audio.

- speechRecognitionTaskFinishedReadingAudio:

Tells the delegate when the task is no longer accepting new audio input, even if final processing is in progress.

Getting Transcriptions

- speechRecognitionTask:didHypothesizeTranscription:

Tells the delegate that a hypothesized transcription is available.

Finishing a Speech Recognition Task

- speechRecognitionTask:didFinishRecognition:

Tells the delegate when the final utterance is recognized.

- speechRecognitionTask:didFinishSuccessfully:

Tells the delegate when the recognition of all requested utterances is finished.

- speechRecognitionTaskWasCancelled:

Tells the delegate that the task has been canceled.


Inherits From

See Also

Performing Speech Recognition on Audio

- recognitionTaskWithRequest:resultHandler:

Executes the speech recognition request and delivers the results to the specified handler block.

- recognitionTaskWithRequest:delegate:

Recognizes speech from the audio source associated with the specified request, using the specified delegate to manage the results.

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software