---
title: PHASEGeneratorNodeDefinition
framework: phase
role: symbol
role_heading: Class
path: phase/phasegeneratornodedefinition
---

# PHASEGeneratorNodeDefinition

A base class for nodes that provide audio data to generate sound.

## Declaration

```swift
class PHASEGeneratorNodeDefinition
```

## Overview

Overview This class encapsulates shared logic for subclasses that provide audio data to a mixer for sound output, namely PHASESamplerNodeDefinition and PHASEPushStreamNodeDefinition.

## Topics

### Calibrating Loudness

- [setCalibrationMode(calibrationMode:level:)](phase/phasegeneratornodedefinition/setcalibrationmode(calibrationmode:level:).md)
- [calibrationMode](phase/phasegeneratornodedefinition/calibrationmode.md)
- [level](phase/phasegeneratornodedefinition/level.md)

### Defining an Output Strategy

- [mixerDefinition](phase/phasegeneratornodedefinition/mixerdefinition.md)

### Joining a Group

- [group](phase/phasegeneratornodedefinition/group.md)

### Controlling Audio Playback

- [rate](phase/phasegeneratornodedefinition/rate.md)
- [rateMetaParameterDefinition](phase/phasegeneratornodedefinition/ratemetaparameterdefinition.md)
- [gainMetaParameterDefinition](phase/phasegeneratornodedefinition/gainmetaparameterdefinition.md)

## Relationships

### Inherits From

- [PHASESoundEventNodeDefinition](phase/phasesoundeventnodedefinition.md)

### Inherited By

- [PHASEPullStreamNodeDefinition](phase/phasepullstreamnodedefinition.md)
- [PHASEPushStreamNodeDefinition](phase/phasepushstreamnodedefinition.md)
- [PHASESamplerNodeDefinition](phase/phasesamplernodedefinition.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### 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)
