AUDIO DSP HUB

CH-03 · Architecture

Non-destructive effects and edit graphs

A non-destructive session keeps the recorded samples untouched and stores only the instructions that transform them. The recording on disk is the source of truth; everything else is a graph of operations that is evaluated on the way to the output. This article describes that graph and the extension formats that populate it.

The edit graph

In a non-destructive model, a clip references a region of a source file, a track references a sequence of clips, and a chain of effects references a track. Each of those references carries parameters, and the audible result is produced by walking the graph from source to output. Nothing in the model rewrites the source samples, so a change of mind takes no extra work: move a boundary, disable a node, or reorder the chain, and the result is recomputed.

The graph is also where the model earns its keep. Because a node is a separate object, it can be bypassed, copied between tracks, or swapped for another node with the same shape. Automation is stored on the node rather than baked into audio, so a gain ride can be edited as a curve long after the take was recorded. The expense is bookkeeping: a heavy graph must be evaluated in a sensible order, and the engine has to keep intermediate buffers in a number format wide enough that the extra stages add no audible loss.

Nodes, parameters and automation

A node is a unit of processing with declared inputs, outputs and named parameters. Gains, filters and dynamics behave well in this model because their state is small and their parameters change slowly. Time-based effects are harder, because they look backwards and forwards in the stream and their output depends on history. An engine that supports them cleanly must guarantee that a recomputed section sees the same past as the original pass, otherwise a loop that was silent on the first pass will click on the second.

Automation belongs to the graph, not to the samples. A fade drawn on a clip is a curve in the model; a gain move on a node is a curve in the model. Both can be reshaped, copied to another section, or scaled in time without touching audio. That is the practical advantage of the approach: edits are easy to revise, so the engineer spends attention on decisions rather than on undoing them.

Extension formats in the graph

Effect nodes are loaded through a small number of extension formats. The two most relevant to a modern graph are VST3 and LV2. They differ less in what they can process than in how they describe themselves. VST3 defines a rich parameter model and a sample-accurate event lane, which suits hosts that need to place parameter changes between samples. LV2 defines a lighter data model with typed ports and portable metadata, which suits graphs built from small, composable nodes.

What matters for a non-destructive session is that a node declares its shape before it runs: how many channels it expects, whether it adds latency, and what it reports back to the host. A node that adds latency must be compensated so the whole graph stays aligned, and a node that reports its own level can be metered without guessing. When those declarations are absent or wrong, the graph may still sound correct in isolation while drifting out of time against every other track.

Visual pattern of interfering sound waves
Interfering wavefronts: the same physics a graph manipulates, node by node, without altering the source.
Node classes common to non-destructive graphs
ClassStateLatency
Gain and pannonezero
Equaliser and filtersmalllow
Dynamicsdetector historylow, look-ahead
Reverb and delaylong tailsdepends on tail

Design the graph so that the source region is read-only and every change is a parameter. Then a wrong decision is a revision, not a re-record.