---
title: AVSpeechSynthesizer
framework: avfaudio
role: symbol
role_heading: Class
path: avfaudio/avspeechsynthesizer
---

# AVSpeechSynthesizer

An object that produces synthesized speech from text utterances and enables monitoring or controlling of ongoing speech.

## Declaration

```swift
class AVSpeechSynthesizer
```

## Overview

Overview To speak some text, create an AVSpeechUtterance instance that contains the text and pass it to speak(_:) on a speech synthesizer instance. You can optionally also retrieve an AVSpeechSynthesisVoice and set it on the utterance’s voice property to have the speech synthesizer use that voice when speaking the utterance’s text. The speech synthesizer maintains a queue of utterances that it speaks. If the synthesizer isn’t speaking, calling speak(_:) begins speaking that utterance either immediately or after pausing for its preUtteranceDelay, if necessary. If the synthesizer is speaking, the synthesizer adds utterances to a queue and speaks them in the order it receives them. After speech begins, you can use the synthesizer object to pause or stop speech. After pausing, you can resume the speech from its paused point or stop the speech entirely and remove all remaining utterances in the queue. You can monitor the speech synthesizer by examining its isSpeaking and isPaused properties, or by setting a delegate that conforms to AVSpeechSynthesizerDelegate. The delegate receives significant events as they occur during speech synthesis. An AVSpeechSynthesizer also controls the route where the speech plays. For more information, see Directing speech output. note: The system doesn’t automatically retain the speech synthesizer, so you need to manually retain it until speech concludes.

## Topics

### Controlling speech

- [speak(_:)](avfaudio/avspeechsynthesizer/speak(_:).md)
- [continueSpeaking()](avfaudio/avspeechsynthesizer/continuespeaking().md)
- [pauseSpeaking(at:)](avfaudio/avspeechsynthesizer/pausespeaking(at:).md)
- [stopSpeaking(at:)](avfaudio/avspeechsynthesizer/stopspeaking(at:).md)
- [AVSpeechBoundary](avfaudio/avspeechboundary.md)

### Inspecting a speech synthesizer

- [isSpeaking](avfaudio/avspeechsynthesizer/isspeaking.md)
- [isPaused](avfaudio/avspeechsynthesizer/ispaused.md)

### Managing the delegate

- [delegate](avfaudio/avspeechsynthesizer/delegate.md)
- [AVSpeechSynthesizerDelegate](avfaudio/avspeechsynthesizerdelegate.md)

### Directing speech output

- [usesApplicationAudioSession](avfaudio/avspeechsynthesizer/usesapplicationaudiosession.md)
- [mixToTelephonyUplink](avfaudio/avspeechsynthesizer/mixtotelephonyuplink.md)
- [outputChannels](avfaudio/avspeechsynthesizer/outputchannels.md)
- [write(_:toBufferCallback:)](avfaudio/avspeechsynthesizer/write(_:tobuffercallback:).md)
- [AVSpeechSynthesizer.BufferCallback](avfaudio/avspeechsynthesizer/buffercallback.md)
- [write(_:toBufferCallback:toMarkerCallback:)](avfaudio/avspeechsynthesizer/write(_:tobuffercallback:tomarkercallback:).md)
- [AVSpeechSynthesizer.MarkerCallback](avfaudio/avspeechsynthesizer/markercallback.md)

### Enabling personal voices

- [personalVoiceAuthorizationStatus](avfaudio/avspeechsynthesizer/personalvoiceauthorizationstatus-swift.type.property.md)
- [availableVoicesDidChangeNotification](avfaudio/avspeechsynthesizer/availablevoicesdidchangenotification.md)
- [requestPersonalVoiceAuthorization(completionHandler:)](avfaudio/avspeechsynthesizer/requestpersonalvoiceauthorization(completionhandler:).md)
- [AVSpeechSynthesizer.PersonalVoiceAuthorizationStatus](avfaudio/avspeechsynthesizer/personalvoiceauthorizationstatus-swift.enum.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
