← Back
Home › Systems › Communication and media

daw

real-time audio engine / DAW

Ableton, Reaper

SystemTechniques · 6Primitives · 25 daw Work-stealing dequeconcurrency · medium: Per-worker deque: the owner pushes and pops at the bottom without contention, idle workers steal from the top; the core of Rayon, Tokio and Go.›Plugin delay compensationmedia · medium: Align parallel audio paths by reported processing latencyTime stretching pitch shiftingmedia · medium: Phase vocoder and WSOLA time/pitch modificationFft convolutionsignal-processing · medium: Overlap-add and uniformly partitioned convolution for long FIR filters and reverbSample rate conversionsignal-processing · medium: Polyphase and windowed-sinc resampling; asynchronous rate conversion for clock driftIncremental computationsystems · medium: Dependency graph of derived values recomputed only when inputs change (reactive cells, spreadsheets)Memory orderingconcurrency · low: What Relaxed, Acquire, Release and SeqCst atomics actually guarantee, what they cost on x86 and ARM, and which one each pattern needs.›SPSC ring bufferdata-structures · low: Bounded wait-free queue for exactly one producer and one consumer thread, built from an array and two indices with acquire/release ordering.›Realtime audio callbackmedia · low: Allocation- and lock-free audio thread design with bounded work per bufferSIMD programminghardware-os · low: Process 4-16 lanes per instruction with AVX2, AVX-512 or NEON via Rust std::arch, with runtime dispatch and a portable fallback.›IIR and FIR filterssignal-processing · low: Two ways to shape a sampled signal's spectrum: FIR (finite taps, always stable, exact linear phase) or IIR (feedback, a few coefficients, cheap but phase-distorting).›Shared memory ipcconcurrency · low: Shared memory rings and futex signalling between processesInterval treedata-structures · low: Index of ranges that answers "which intervals overlap this point or range?" in O(log n + k); static sorted-array form is the compact, cache-friendly choice.›Undo redographics · low: Command or snapshot history with grouping and coalescingmmap and the page cachehardware-os · low: How read() and mmap reach file data through the kernel page cache, what readahead and madvise do, and why databases use their own buffer pool instead.›Midi protocolmedia · low: MIDI 1.0/2.0 messages, timing and sample-accurate event schedulingParameter smoothingmedia · low: Per-sample ramps of control parameters to avoid zipper noiseFloating-point errornumerics · low: How IEEE 754 rounding error accumulates and how to contain it: compensated (Kahan/Neumaier) and pairwise summation, error-free transformations with FMA, ULP comparisons.›Epoch-based reclamationconcurrency · low: Threads announce a global epoch while touching shared lock-free data; garbage retired in epoch e is freed once the epoch reaches e + 2.›Topological sortgraphs · low: Order the vertices of a DAG so every edge points forward; the core of build systems, schedulers and dependency resolution, with cycle detection for free.›Peak detectionsignal-processing · low: Robust peak and event detection in noisy signals with adaptive thresholds and refractory periodsShort-time Fourier transform and sp…signal-processing · low: Slide a window over a signal and FFT each frame to get a time-frequency picture; the front end of audio ML, vibration and radar analysis.›+ 9 more primitives

Similar systems

Share the most building blocks with this one.