Hacker News new | past | comments | ask | show | jobs | submit login
Geometric intuition for digital audio filters (karlhiner.com)
116 points by khiner 8 months ago | hide | past | web | favorite | 14 comments

Julius O. Smith's books are excellent, easily ranking up amongst the best text books I've always read. It's always a good sign if I look forwarding to continue reading as if it were a novel...

You can actually read them for free online: https://ccrma.stanford.edu/%7Ejos/Welcome.html I picked up printed copies on Amazon regardless, both because I wanted to support the author after reading almost a full book online, and because I sometimes prefer reading a physical textbook (the "spatiality" somehow helps me remember better).

I'm a Software Engineer without any background in signal processing (or audio), and stumbled upon his books when an FPGA hobby project of mine involved a simple audio pipeline for which I wanted to do some sample rate conversion. Since then DSP has become a hobby on its own.

I actually read the "Digital Filters" book (the second in the series) first, before reading the first book about DFT fundamentals, and it worked pretty well.

Cool! I could see reading this one first for sure, although DFT knowledge definitely helps.

Same here really, a software engineer by trade with a growing interest in audio. I’ve been really impressed with the quality of these books so far. Very meticulous attention to detail with _very_ few errors compared with most other books of its kind.

And to all that said, all the pages and books on his site ain't require JavaScript, unlike link in topic.

Are you refering to my site or JOS’s site? Can you elaborate please?

JOS's site doesn't require JavaScript to read the content. Your site requires JavaScript to read the content.

Yes, gotcha. My whole site is a react app with a lot of MathJax formatting and some posts center around JavaScript animations. But mainly the holdup is that it uses async-loaded code-splitting techniques to keep initial page loads down. It would be a big challenge to make it friendly without a lot of dynamic language help. Apologies. (Although I will think about how to make text-only content available as I agree with the idea that JS-only is unnecessarily restrictive when most of the actual content is text and images.)

Good article, although in reality removing 60Hz hum isn't so simple, because it's never a pure sine wave. You get harmonics too, and the ear is more sensitive to those higher frequencies so they can be a problem even at lower amplitudes.

That is a really good point. “Remove” is a pretty flippant word to use in this context. I’ll update, thanks :)

Changed “remove” to “attenuate”. Thanks again.

The only gripe I always have with digital filtering texts is everything is always around "normalized".

The problem is that my equipment always reports things in "real" time and frequency.

Having to make this jump always confuses students horribly.

Look at all the grief that Monty got about why not 24/192 downloads. He actually had to create a video about it: https://xiph.org/video/vid2.shtml

This is an excellent exposition of the topic with nice animations. I look forward to more of these.

How long does it take to work through the textbooks ?

Thanks, glad you enjoyed it! Lately I’ve had a break from full time work, so I could dedicate all my time to them. This one took a little over three weeks I think, which is pretty typical. His next book, Physical Audio Signal Processig, is a pretty huge tomb of a textbook so I imagine it would take much longer even with full time dedication. I started it but have to put it down for a bit to look for work. Even with this Filters book it was easy to get stuck on a single problem for most of the day.

This is brilliant, thank you!

I see JOS' other texts in the repo, are you aiming to complete those too?

Thanks! I have a similar post for Mathemeatics of the DFT, and I’ve started Physical Audio Signal Processing, but currently distracted by other software projects. I love the books, can’t wait to get back to them.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact