---
title: Audio Engine
framework: avfaudio
role: collectionGroup
role_heading: API Collection
path: avfaudio/audio-engine
---

# Audio Engine

Perform advanced real-time and offline audio processing, implement 3D spatialization, and work with MIDI and samplers.

## Overview

Overview The audio engine provides a powerful, feature-rich API to simplify audio generation, processing, and input/output tasks. The engine contains a group of nodes that connect to form an audio signal processing chain. These nodes perform a variety of tasks on a signal before rendering to an output destination. Audio Engine helps you achieve simple, as well as complex, audio processing tasks. With Audio Engine, your apps can: Play audio using files and buffers Capture audio at any point during the processing chain Add built-in effects like reverb, delay, distortion, and your custom effects Perform stereo and 3D mixing Provide MIDI playback and control over sampler instruments

## Topics

### Essentials

- [AVAudioEngine](avfaudio/avaudioengine.md)

### Nodes

- [AVAudioNode](avfaudio/avaudionode.md)
- [AVAudioInputNode](avfaudio/avaudioinputnode.md)
- [AVAudioOutputNode](avfaudio/avaudiooutputnode.md)
- [AVAudioIONode](avfaudio/avaudioionode.md)

### Playback

- [Building an audio sequencer to arrange and play clips](avfaudio/building-an-audio-sequencer-to-arrange-and-play-clips.md)
- [Playing custom audio with your own player](avfaudio/playing-custom-audio-with-your-own-player.md)
- [Using voice processing](avfaudio/using-voice-processing.md)
- [AVAudioPlayerNode](avfaudio/avaudioplayernode.md)

### MIDI

- [AVAudioSequencer](avfaudio/avaudiosequencer.md)
- [AVAudioUnitSampler](avfaudio/avaudiounitsampler.md)
- [AVMIDIEventListBlock](avfaudio/avmidieventlistblock.md)

### Mixing

- [AVAudioMixerNode](avfaudio/avaudiomixernode.md)
- [AVAudioMixing](avfaudio/avaudiomixing.md)

### Effects

- [Creating custom audio effects](avfaudio/creating-custom-audio-effects.md)
- [Audio Units](avfaudio/audio-units.md)

### Rendering

- [Building a signal generator](avfaudio/building-a-signal-generator.md)
- [Performing offline audio processing](avfaudio/performing-offline-audio-processing.md)
- [AVAudioSourceNode](avfaudio/avaudiosourcenode.md)
- [AVAudioSinkNode](avfaudio/avaudiosinknode.md)

### Conversion

- [AVAudioConverter](avfaudio/avaudioconverter.md)

### Spatial audio

- [AVAudioEnvironmentNode](avfaudio/avaudioenvironmentnode.md)
- [AVAudioEnvironmentDistanceAttenuationParameters](avfaudio/avaudioenvironmentdistanceattenuationparameters.md)
- [AVAudioEnvironmentReverbParameters](avfaudio/avaudioenvironmentreverbparameters.md)
- [AVAudio3DMixing](avfaudio/avaudio3dmixing.md)
- [AVAudio3DPoint](avfaudio/avaudio3dpoint.md)
- [AVAudio3DVectorOrientation](avfaudio/avaudio3dvectororientation.md)
- [AVAudio3DAngularOrientation](avfaudio/avaudio3dangularorientation.md)
- [AVAudio3DMixingSourceMode](avfaudio/avaudio3dmixingsourcemode.md)
- [AVAudio3DMixingRenderingAlgorithm](avfaudio/avaudio3dmixingrenderingalgorithm.md)
- [AVAudioEnvironmentOutputType](avfaudio/avaudioenvironmentoutputtype.md)
- [AVAudio3DMixingPointSourceInHeadMode](avfaudio/avaudio3dmixingpointsourceinheadmode.md)
- [AVAudio3DVector](avfaudio/avaudio3dvector.md)

### Supporting data types

- [AVAudioBuffer](avfaudio/avaudiobuffer.md)
- [AVAudioPCMBuffer](avfaudio/avaudiopcmbuffer.md)
- [AVReadOnlyAudioPCMBuffer](avfaudio/avreadonlyaudiopcmbuffer.md)
- [AVAudioFile](avfaudio/avaudiofile.md)
- [AVAudioTime](avfaudio/avaudiotime.md)
- [Audio settings](avfaudio/audio-settings.md)
