An abstract class for an audio generation, processing, or I/O block.


@interface AVAudioNode : NSObject


AVAudioEngine objects contain instances of various AVAudioNode subclasses. This base class provides certain common functionality.

Nodes have input and output busses, which can be thought of as connection points. For example, an effect typically has one input bus and one output bus. A mixer typically has multiple input busses and one output bus.

Busses have formats, expressed in terms of sample rate and channel count. When making connections between nodes, often the format must match exactly. However, there are exceptions such as the AVAudioMixerNode and AVAudioOutputNode classes.

Nodes do not currently provide useful functionality until attached to an engine.


Configuring an Input Format Bus

- inputFormatForBus:

Returns the input format for the specified bus.

- nameForInputBus:

Returns the name of an input bus.


The number of input busses for the node.

Creating and Output Format Bus

- outputFormatForBus:

Returns the output format for the specified bus.

- nameForOutputBus:

Returns the name of the output bus.


The number of output busses for the node.

Installing and Removing An Audio Tap

- installTapOnBus:bufferSize:format:block:

Installs an audio tap on the bus to record, monitor, and observe the output of the node.

- removeTapOnBus:

Removes an audio tap on a bus.

Getting the Audio Engine for the Node


The audio engine of the node.

Getting the Latest Node Render Time


The time for which the node most recently rendered.

Getting Audio Node Properties


An AUAudioUnit object wrapping or underlying the implementation's AudioUnit instance.


The processing latency of the node, in seconds.


The maximum render pipeline latency downstream of the node, in seconds.

Resetting the Audio Node

- reset

Clear a unit's previous processing state.



The block that receives copies of the output of an AVAudioNode.


The index of a bus on an AVAudioNode.


Inherits From

See Also

Multitrack Playback and Recording

Audio Engine Building Blocks

Add audio input, processing, and output to an audio engine instance.

Performing Offline Audio Processing

Add offline audio processing features to your app by enabling offline manual rendering mode.


A group of connected audio node objects used to generate and process audio signals and perform audio input and output.


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