Core Architecture
The Processing Graph Abstraction
At its heart, AMLP represents audio processing as a directed acyclic graph (DAG) where computation flows from inputs to outputs through processing nodes connected by typed edges.
Nodes
The fundamental unit of processing. Each node represents a self-contained operation—a filter, a neural network, a gain stage, a mixer, a spatial audio renderer, a network audio interface—with well-defined inputs, outputs, and parameters.
Edges
Represent data flow between nodes. AMLP edges carry strongly-typed signals: audio buffers, control signals, feature vectors, or spatial audio metadata.
Parameters
Externally controllable values that modify node behavior. Parameters support automation and range constraints. The protocol distinguishes between audio-rate, control-rate, and static parameters.
The DAG Constraint
Cycles are prohibited because they create feedback that complicates latency analysis, real-time scheduling, and deterministic execution.
Example Pipeline
Microphone Array Input
↓
[Beamformer (DSP)]
↓
[ML Voice Activity Detection]
↓
[Spatial Scene Analysis (ML)]
↓
[Neural Source Separation]
↓
[IAMF Spatial Renderer]
↓
├─ Binaural HRTF → Headphone
├─ Ambisonics → VR Audio
└─ Speaker Array → Immersive