Every DAW is a user interface wrapped around an audio engine. The engine is where performance, stability, and a surprising amount of sound quality actually live.
Your audio interface asks for a buffer of samples at a fixed interval — at 48kHz with a 256-sample buffer, roughly every 5.3 milliseconds. For each request the engine must:
- Read audio from disk and MIDI from the timeline
- Run instrument plugins to turn MIDI into audio
- Process every track's effects in order
- Apply automation
- Sum tracks through the mixer's buses
- Run master chain processing
- Hand back a finished buffer
All of it, before the deadline. Miss it and you hear a click.
Tracks, buses, and sends form a directed graph. The engine works out a valid processing order — you can't sum a bus before processing what feeds it — and executes it.
Modern engines distribute this across CPU cores. Two tracks with no dependency between them can process in parallel; a track and the bus it feeds cannot. How well a DAW parallelises this is a large part of why CPU load differs between DAWs on identical projects.
Many plugins introduce latency — a linear-phase EQ or a lookahead limiter needs to see ahead. If one track has a 40ms plugin and another has none, they'd drift apart.
Plugin Delay Compensation solves it by delaying every other path to match the longest one. It's essential and invisible when it works. It's also why adding a lookahead limiter to your master can suddenly make live monitoring feel sluggish — the whole project just got delayed to compensate.
The audio thread runs at high priority and must never block. Inside it, these are forbidden:
- Allocating memory
- Reading or writing files
- Waiting on a lock
- Anything with unpredictable duration
Any of them can pause the thread past its deadline, which is a dropout. This is why audio programming is genuinely hard, and why a plugin that behaves badly can destabilise an otherwise fine project.
The same architecture applies. AudioWorklets provide the real-time thread; WebAssembly provides the processing speed. The constraints are identical — no allocation, no blocking, meet the deadline — which is why a well-built browser DAW behaves like a native one, with higher output latency.
Related reading: the Web Audio API explained, buffer size and latency, and CPU vs GPU audio processing.
Start making music in Veena
Free, browser-based, no downloads required.
Try Veena Free