---
title: Sound Event Nodes
framework: phase
role: collectionGroup
role_heading: API Collection
path: phase/sound-event-nodes
---

# Sound Event Nodes

Objects that connect to form a hierarchical tree of audio actions.

## Overview

Overview To play sound, your app assembles a hieararchical structure of audio nodes that determine which sound to play at the moment. A tree with two sampler nodes branching from a switch node plays only one sampler, depending on your app’s state. You set the control logic in advance that specifies the conditions upon which the switch node toggles. To play the same audio consistently, create a tree with a single sampler node. To invoke the tree, create a sound event that references the tree and call start(completion:) on the sound event.

## Topics

### Audio-Providing Nodes

- [PHASESamplerNodeDefinition](phase/phasesamplernodedefinition.md)
- [PHASEPlaybackMode](phase/phaseplaybackmode.md)
- [PHASEPushStreamNodeDefinition](phase/phasepushstreamnodedefinition.md)
- [PHASEPushStreamNode](phase/phasepushstreamnode.md)
- [PHASEPushStreamBufferOptions](phase/phasepushstreambufferoptions.md)
- [PHASECalibrationMode](phase/phasecalibrationmode.md)
- [PHASEGeneratorNodeDefinition](phase/phasegeneratornodedefinition.md)

### Control Nodes

- [PHASESwitchNodeDefinition](phase/phaseswitchnodedefinition.md)
- [PHASERandomNodeDefinition](phase/phaserandomnodedefinition.md)
- [PHASEBlendNodeDefinition](phase/phaseblendnodedefinition.md)
- [PHASEContainerNodeDefinition](phase/phasecontainernodedefinition.md)

## See Also

### Audio Selection and Playback

- [PHASESoundAsset](phase/phasesoundasset.md)
- [PHASESoundEvent](phase/phasesoundevent.md)
- [PHASESoundEvent.RenderingState](phase/phasesoundevent/renderingstate-swift.enum.md)
- [PHASESoundEventNodeDefinition](phase/phasesoundeventnodedefinition.md)
- [PHASESoundEventNodeAsset](phase/phasesoundeventnodeasset.md)
- [PHASEAsset](phase/phaseasset.md)
