<!--
{
  "availability" : [
    "iOS: 9.0.0 -",
    "iPadOS: 9.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.11.0 -",
    "tvOS: 9.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AudioToolbox",
  "identifier" : "/documentation/AudioToolbox/AUParameterNode",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "Audio Toolbox"
    ],
    "preciseIdentifier" : "c:objc(cs)AUParameterNode"
  },
  "title" : "AUParameterNode"
}
-->

# AUParameterNode

An object that represents a node in an audio unit’s parameter tree.

```
class AUParameterNode
```

## Overview

Nodes are instances of either an [`AUParameter`](/documentation/AudioToolbox/AUParameter) or [`AUParameterGroup`](/documentation/AudioToolbox/AUParameterGroup) class.

## Topics

### Identifiers

[`identifier`](/documentation/AudioToolbox/AUParameterNode/identifier)

A non-localized, permanent name for the parameter node.

[`keyPath`](/documentation/AudioToolbox/AUParameterNode/keyPath)

A key path generated by concatenating the identifiers of the parameter and its parents.

[`displayName`](/documentation/AudioToolbox/AUParameterNode/displayName)

A localized display name for the parameter node.

[`-  displayNameWithLength:`](/documentation/AudioToolbox/AUParameterNode/displayName(withLength:))

Another version of the display name, possibly truncated to a desired length.

### Observers

[`-  tokenByAddingParameterObserver:`](/documentation/AudioToolbox/AUParameterNode/token(byAddingParameterObserver:))

Adds an observer for a single parameter or all parameters in a group.

[`-  tokenByAddingParameterRecordingObserver:`](/documentation/AudioToolbox/AUParameterNode/token(byAddingParameterRecordingObserver:))

Adds a recording observer for a single parameter or all parameters in a group.

[`-  tokenByAddingParameterAutomationObserver:`](/documentation/AudioToolbox/AUParameterNode/token(byAddingParameterAutomationObserver:))

[`-  removeParameterObserver:`](/documentation/AudioToolbox/AUParameterNode/removeParameterObserver(_:))

Remove a specific parameter observer.

### Audio Unit Implementations

These properties are only of interest to audio unit subclasses.

[`implementorValueObserver`](/documentation/AudioToolbox/AUParameterNode/implementorValueObserver)

The callback for parameter value changes.

[`implementorValueProvider`](/documentation/AudioToolbox/AUParameterNode/implementorValueProvider)

The callback for refreshing known stale values in a parameter tree.

[`implementorStringFromValueCallback`](/documentation/AudioToolbox/AUParameterNode/implementorStringFromValueCallback)

The callback for providing a string representation of a parameter value.

[`implementorValueFromStringCallback`](/documentation/AudioToolbox/AUParameterNode/implementorValueFromStringCallback)

The callback for converting a string to a parameter value.

[`implementorDisplayNameWithLengthCallback`](/documentation/AudioToolbox/AUParameterNode/implementorDisplayNameWithLengthCallback)

The callback for obtaining an abbreviated version of a parameter node display name.

### Constants

[`AUParameterObserver`](/documentation/AudioToolbox/AUParameterObserver)

A block called after the value of a parameter changes.

[`AUParameterRecordingObserver`](/documentation/AudioToolbox/AUParameterRecordingObserver)

A block called to record parameter changes as automation events.

[`AUImplementorValueObserver`](/documentation/AudioToolbox/AUImplementorValueObserver)

A block called to notify the audio unit implementation of changes to a parameter value.

[`AUImplementorValueProvider`](/documentation/AudioToolbox/AUImplementorValueProvider)

A block called to fetch a parameter’s current value from the audio unit implementation.

[`AUImplementorStringFromValueCallback`](/documentation/AudioToolbox/AUImplementorStringFromValueCallback)

A block called to convert a parameter value to a string representation.

[`AUImplementorValueFromStringCallback`](/documentation/AudioToolbox/AUImplementorValueFromStringCallback)

A block called to convert a string to a parameter value.

[`AUImplementorDisplayNameWithLengthCallback`](/documentation/AudioToolbox/AUImplementorDisplayNameWithLengthCallback)

A block called to obtain a parameter node’s display name, possibly truncated to a desired length.

## Relationships

### Conforms To

[`Equatable`](/documentation/Swift/Equatable)

[`Hashable`](/documentation/Swift/Hashable)

[`CVarArg`](/documentation/Swift/CVarArg)

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

### Inherited By

[`AUParameterGroup`](/documentation/AudioToolbox/AUParameterGroup)

[`AUParameter`](/documentation/AudioToolbox/AUParameter)

### Inherits From

[`NSObject-swift.class`](/documentation/ObjectiveC/NSObject-swift.class)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)