---
title: AVAudioSourceNode
framework: avfaudio
role: symbol
role_heading: Class
path: avfaudio/avaudiosourcenode
---

# AVAudioSourceNode

An object that supplies audio data.

## Declaration

```swift
class AVAudioSourceNode
```

## Overview

Overview The AVAudioSourceNode class allows for supplying audio data for rendering through AVAudioSourceNodeRenderBlock. It’s a convenient method for delievering audio data instead of setting the input callback on an audio unit with kAudioUnitProperty_SetRenderCallback.

## Topics

### Creating an Audio Source Node

- [AVAudioSourceNodeRenderBlock](avfaudio/avaudiosourcenoderenderblock.md)
- [init(renderBlock:)](avfaudio/avaudiosourcenode/init(renderblock:).md)
- [init(format:renderBlock:)](avfaudio/avaudiosourcenode/init(format:renderblock:).md)

## Relationships

### Inherits From

- [AVAudioNode](avfaudio/avaudionode.md)

### Conforms To

- [AVAudio3DMixing](avfaudio/avaudio3dmixing.md)
- [AVAudioMixing](avfaudio/avaudiomixing.md)
- [AVAudioStereoMixing](avfaudio/avaudiostereomixing.md)
- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Rendering

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