<!--
{
  "documentType" : "article",
  "framework" : "AVFAudio",
  "identifier" : "/documentation/AVFAudio/audio-units",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Audio Units"
}
-->

# Audio Units

The data type for a plug-in component that provides audio processing or audio data generation.

## Topics

### Essentials

[Creating an audio unit extension](/documentation/AVFAudio/creating-an-audio-unit-extension)

Build an extension by using an Xcode template.

[Using voice processing](/documentation/AVFAudio/using-voice-processing)

Add voice-processing capabilities to your app by using audio engine.

[`AVAudioUnit`](/documentation/AVFAudio/AVAudioUnit)

A subclass of the audio node class that, processes audio either in real time or nonreal time, depending on the type of the audio unit.

### Component management

[`AVAudioUnitComponent`](/documentation/AVFAudio/AVAudioUnitComponent)

An object that provides details about an audio unit.

[`AVAudioUnitComponentManager`](/documentation/AVFAudio/AVAudioUnitComponentManager)

An object that provides a way to search and query audio components that the system registers.

### Audio effects

[`AVAudioUnitEffect`](/documentation/AVFAudio/AVAudioUnitEffect)

An object that processes audio in real time.

[`AVAudioUnitEQ`](/documentation/AVFAudio/AVAudioUnitEQ)

An object that implements a multiband equalizer.

[`AVAudioUnitDistortion`](/documentation/AVFAudio/AVAudioUnitDistortion)

An object that implements a multistage distortion effect.

[`AVAudioUnitDelay`](/documentation/AVFAudio/AVAudioUnitDelay)

An object that implements a delay effect.

[`AVAudioUnitReverb`](/documentation/AVFAudio/AVAudioUnitReverb)

An object that implements a reverb effect.

### Time effects

[`AVAudioUnitTimeEffect`](/documentation/AVFAudio/AVAudioUnitTimeEffect)

An object that processes audio in nonreal time.

[`AVAudioUnitTimePitch`](/documentation/AVFAudio/AVAudioUnitTimePitch)

An object that provides a good-quality playback rate and pitch shifting independently of each other.

[`AVAudioUnitVarispeed`](/documentation/AVFAudio/AVAudioUnitVarispeed)

An object that allows control of the playback rate.

### Audio generation

[`AVAudioUnitGenerator`](/documentation/AVFAudio/AVAudioUnitGenerator)

An object that generates audio output.

### Speech synthesis

[Creating a custom speech synthesizer](/documentation/AVFAudio/creating-a-custom-speech-synthesizer)

Use your custom voices to synthesize speech by building a speech synthesis provider.

[`AVSpeechSynthesisProviderAudioUnit`](/documentation/AVFAudio/AVSpeechSynthesisProviderAudioUnit)

An object that generates speech from text.

### MIDI

[`AVAudioUnitMIDIInstrument`](/documentation/AVFAudio/AVAudioUnitMIDIInstrument)

An object that represents music devices or remote instruments.



---

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)