How Audio Fingerprinting Works
emysound.com
emysound.com
That book plus this article’s excellent explanations really helped things click for me and I’m very grateful to both authors!
In any case, I suggest flipping through the IEEE Signal Processing Magazine [1] and reevaluating your learning path.
[1] https://signalprocessingsociety.org/publications-resources/i...
I recommend the IEEE Signal Processing Magazine as it is the flagship magazine from the IEEE Signal Processing Society. IEEE magazine articles are written “to appeal to non-experts as well as experts in the field” [1] and therefore target a broad engineering audience while remaining current and being peer-reviewed.
[1] https://magazines.ieeeauthorcenter.ieee.org/get-started-with...
I imagine there are many people who're great at picking apart an equation and deriving things from first principles; but for me, I find it more manageable to get the big picture first, visualize what's going on, and then finally learn the math behind it. So far the DSP Guide book is doing a great job of presenting things that way.
Another good example of this kind of style is https://betterexplained.com/ (some of their articles are great companions to these DSP topics actually!)
I did encounter this book, but it still couldn't help me figure it out. I bookmarked it to try again.
[1]: https://www.youtube.com/watch?v=ebBqP2PteAQ (be sure to watch from 15min+ onwards but the entire thing is a treat)
Recurrent filters don't have closed form solutions, and their implementation is a bit of an art. Plugin maker Urs Heckmann (from u-he.com) did a (rather successful) attempt at modeling the filter from an old synth with various implementations, and let people test them in the wild. He blogged about it, but I can't find all relevant posts. This might be a starting point: https://urs.silvrback.com/zero-delay-feedback
This course (https://www.staff.ncl.ac.uk/oliver.hinton/eee305/) is based on a book and links to the chapters, but there's a lot more (check the websites of MIT or Stanford's EE department for online courses).
https://webaudio.github.io/Audio-EQ-Cookbook/Audio-EQ-Cookbo...
They are the classic IIR biquads. If you want steeper filters, just run multiple equal filters in series (high-order IIRs are prone to numeric instability).
A more modern formatted version exists at e.g. https://www.w3.org/TR/audio-eq-cookbook/ .
It was fascinating: the curve plotted was matching nearly exactly the power curve given by the car manufacturer.
I think it's the first Java program I wrote. I copy/pasted some discrete FFT code I found somewhere.
It was a nice little project for it's way simpler than trying to fingerprint audio using FFT like Shazam does: yet I got to learn a bit about harmonics, FFT / amplitude over time vs amplitude over frequency, car drag coefficient, etc.
As I never throw anything I probably still have that crappy code somewhere!