Live data from Hacker News

Let's Write a Reverb (2021)

signalsmith-audio.co.uk

21–30 of 65 posts

Re: Let's Write a Reverb (2021)

#21
Signalsmith Audio always has great posts. Their article on pitch shift is also worth a look! I have also posted before:

https://news.ycombinator.com/item?id=36706588

Speaking of reverb, I implemented a Dattorro reverb (https://ccrma.stanford.edu/~dattorro/EffectDesignPart1.pdf) in Rust before.

https://github.com/chaosprint/dattorro-vst-rs

It's based on Glicol source code here:

https://github.com/chaosprint/glicol/blob/main/rs/synth/src/...

You can play with it here:

https://glicol.org/demo#handmadedattorroreverb

Also you don't want to miss the Tom Erbe's reverb patches in Pure Data. Patches demonstrating several types of reverb (Schroeder, Moorer, Moore, Gerzon, Dattorro):

https://tre.ucsd.edu/wordpress/?p=625

Re: Let's Write a Reverb (2021)

#22
post #15
post #3

Easily the most approachable yet complete writeup I've seen on the topic. I've always noticed an aura of esoteric dark magic around writing good algorithmic reverbs, this makes it seems less daunting. Since the author does a quick comparison between convolution and algorithmic reverbs, I'll mention how I often combine them: a small/medium convolution reverb, plus a long algorithmic reverb. The convolution can perfect…

Take a look at the articles on Valhalla's site. They're another goldmine https://valhalladsp.com/learn/

Came to write this. The guy not only makes the best algorithmic reverb plugins out there and sells them very cheap, he also shares his obsessively deep and broad knowledge on the subject. Big fan.

Re: Let's Write a Reverb (2021)

#23
post #6

Earlier quoted context omitted.

I have tried NAM but with limited success in modeling some time-based effects (e.g. octave shifting). However, I have not tried to model reverb effects.

To handle time-based effects you need a custom architecture. https://www.research.ed.ac.uk/en/publications/neural-modelli... Don’t use NAM. Learn PyTorch.

NAM uses pytorch for its NN implementation?

Re: Let's Write a Reverb (2021)

#25

Fantastic article from start to finish. Great explanation, great audio samples, and from a first skim the C++ example looks very readable. > I haven't found any good resources on this particular diffuser design. I found a couple of forum posts and a paragraph from a book When I read this my first thought was "this is a link to a comment by mystran on KVR, isn't it?" And yep. If you're looking for some obscure DSP kno…

Haha, yeah - although their comment was only considering the 2D case, same as the book.

You can make a (very efficient!) diffuser from 2-channel rotations, but you have to tune it a bit to get it smooth without having a slow attack. With more channels, it's much easier to get right.

Re: Let's Write a Reverb (2021)

#26

Very nice tutorial, and extremally nicely done! It's worth knowing that some of those effects can also be achived (of course much much more simplified) in all modern browsers using the Web Audio API. I created mobbler[0] using that, and I also wrote a small tutorial on how some of the effects can be achieved using simple modules (it might seem too complex at first glance, but you can just look at the pictures)[1]. [0…

Given the number of connections/nodes in my design, I'd be interested to know what the performance is.

For Web Audio, there's an increasing trend of compiling WASM and running it in an AudioWorkletProcessor, which is maybe 2-3x slower than native. It's actually how I do a lot of my prototyping now, because the Emscripten build times are faster than a full plugin, and I can send it to people without them having to install anything.

Re: Let's Write a Reverb (2021)

#27

Whoah - the author (Signalsmith) here! This was a fun way to wake up, and I'm happy to answer any questions.

Nothing to ask, really. Just saying thanks for a fantastic intro to reverb, that I used as one of the sources to implement my own. Hope to see more audio processing educational material.

Re: Let's Write a Reverb (2021)

#28

Whoah - the author (Signalsmith) here! This was a fun way to wake up, and I'm happy to answer any questions.

Thanks for the enjoyable article!

Possibly off-topic, but I am coder with hobbyist interest in the DSP space. I have never really had a "penny drop" moment when it comes to starting from nothing and generating sound.

Even generating simple sine wave seems like either a big chore or a completely abstract concept (depending on the tools/libraries/environment), I have not been able to find a middle-ground where I feel like I am learning but not getting completely lost in trigonometry or calculus. I am not sure if I'm not using the right tools or if I need to start even simpler and build up. GNU Radio comes close to scratching an itch for me of generating signal processing pipelines and a bit of intuition, but ultimately it becomes pretty easy to get lost in that as well (and it seems mostly focused on actual radio use-cases).

Do you have any advice for someone looking to build more familiarity or intuition on this front?

Re: Let's Write a Reverb (2021)

#30

Whoah - the author (Signalsmith) here! This was a fun way to wake up, and I'm happy to answer any questions.

Thanks for writing so many blogs. The adc talk was also great. Have you considered doing some demos with wasm on the web? Also, have you considered porting these packages to rust?
Post reply on HN