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

Latency Classes

Ultra-low (<5ms)
Live monitoring, hearing aids, musical instruments
Low (5-20ms)
Real-time effects, gaming, VR/AR audio
Medium (20-50ms)
Video conferencing, streaming, network audio
High (>50ms)
Batch processing, offline rendering