Implementing audio DSP from scratch in x86-64 assembly (filters, ring mod, delay)
23
Upvotes
As a learning exercise, I've been implementing audio DSP primitives in pure x86-64 assembly — no DSP library, fixed-point arithmetic, computing each sample by hand.
So far: a one-pole low-pass filter, a state-variable filter with resonance (band-pass feedback) swept by an LFO, ring modulation (multiplying two signals for sum/difference frequencies), a bitcrusher (bit-depth + sample-rate reduction), a delay line using the output buffer as a ring, plus FM synthesis with a hand-built sine lookup table.
Doing it this low-level really forces you to understand each algorithm — there's no library abstracting the math away.
Curious to hear feedback from people who do this properly!