Blog post on the basics. Subtext is me trying to get across what I think about that let's me write this kind of code without looking up any references and doing most of the math in my head
https://graemephi.github.io/posts/audio-visualizers/