Built-in Pipeline Nodes
This reference documents every built-in pipeline node in the Amplitude Audio SDK. Pipeline nodes are the building blocks of the audio processing graph executed by Amplimix each frame.
Node Categories¶
All nodes fall into one of four categories:
| Category | Description |
|---|---|
| Input | Marks the entry point of audio into the pipeline. |
| Output | Marks the exit point of processed audio. |
| Processor | Transforms audio in-place (single input, single output). |
| Mixer | Combines multiple inputs into one output. |
Input / Output¶
InputNode¶
Marks the start of the pipeline. Receives audio from the sound source.
OutputNode¶
Marks the end of the pipeline. Sends audio to the audio device.
Spatial Nodes¶
AttenuationNode¶
Applies distance-based gain attenuation using the sound's assigned attenuation model.
| Parameter | Type | Description |
|---|---|---|
attenuation | float | Output gain after applying the curve (read-only). |
StereoPanningNode¶
Pans mono sources to stereo left/right based on azimuth angle.
AmbisonicPanningNode¶
Encodes a mono source into Ambisonic B-Format channels based on 3D position.
AmbisonicRotatorNode¶
Rotates the Ambisonic sound field to match listener orientation.
AmbisonicBinauralDecoderNode¶
Decodes Ambisonic B-Format to binaural stereo using HRIR convolution.
AmbisonicMixerNode¶
Mixes multiple Ambisonic streams together.
StereoMixerNode¶
Mixes multiple stereo streams together.
Effect Nodes¶
EnvironmentEffectNode¶
Applies the environment's assigned effect to sounds inside the zone.
NearFieldEffectNode¶
Simulates near-field pressure effects for very close sources.
ReflectionsNode¶
Computes early reflections based on room geometry.
ReverbNode¶
Applies late reverberation based on room materials and dimensions.
Occlusion / Obstruction¶
OcclusionNode¶
Applies frequency-dependent low-pass filtering based on the entity's occlusion value.
ObstructionNode¶
Applies low-pass filtering based on the entity's obstruction value.
Dynamics Nodes¶
LimiterNode¶
Prevents clipping by limiting peak amplitude.
| Parameter | Type | Description |
|---|---|---|
threshold | dB | Level above which limiting begins. |
attack | ms | Time to respond to peaks. |
release | ms | Time to return to unity gain. |
ClampNode¶
Hard-clips samples to a maximum amplitude.
HardClipNode¶
Applies aggressive hard clipping (distortion).
RoundoffClipNode¶
Applies softer roundoff clipping.
Default Pipeline¶
The default pipeline shipped with Amplitude combines most of these nodes:
{
"id": 1,
"name": "default",
"nodes": [
{ "id": 1, "name": "Input", "consume": [] },
{ "id": 2, "name": "Attenuation", "consume": [1] },
{ "id": 3, "name": "Occlusion", "consume": [2] },
{ "id": 4, "name": "StereoPanning", "consume": [17] },
{ "id": 5, "name": "AmbisonicPanning", "consume": [3] },
{ "id": 6, "name": "NearFieldEffect", "consume": [3] },
{ "id": 7, "name": "AmbisonicMixer", "consume": [18] },
{ "id": 8, "name": "StereoMixer", "consume": [4, 6, 10, 12, 14] },
{ "id": 10, "name": "AmbisonicBinauralDecoder", "consume": [7] },
{ "id": 11, "name": "Reflections", "consume": [1] },
{ "id": 12, "name": "AmbisonicBinauralDecoder", "consume": [11] },
{ "id": 13, "name": "HardClip", "consume": [8] },
{ "id": 14, "name": "Reverb", "consume": [1] },
{ "id": 15, "name": "Obstruction", "consume": [3] },
{ "id": 16, "name": "EnvironmentEffect", "consume": [3] },
{ "id": 17, "name": "StereoMixer", "consume": [15, 16] },
{ "id": 18, "name": "AmbisonicRotator", "consume": [5] },
{ "id": 9, "name": "Output", "consume": [13] }
]
}
Custom Nodes¶
You can implement custom pipeline nodes by subclassing Node and NodeInstance. See the Custom Pipeline Node Tutorial for details.
Next Steps¶
- Review the Pipeline Reference for DAG architecture and rules.
- Learn how to create custom pipeline nodes.
- Explore the Node API Reference.