"Let's Write A Reverb" || Geraint Luff
HTML-код
- Опубликовано: 11 сен 2024
- Geraint Luff (Signalsmith Audio)
"Let's Write A Reverb"
Abstract:
"Constructing an easy-to-tune design for smooth high-quality reverb, using a variation on the classic feedback-delay network (FDN) structure."
--
Inclusion is at the core of our meetups, and we follow the Berlin Code of Conduct. For more information, please read more here berlincodeofco...
See our past meetups here:
• Dave Rowland - Real-ti...
Support the channel: / theaudioprogrammer
Join the Audio Programmer Discussion Group: theaudioprogra...
Website: www.theaudiopr...
Instagram: / theaudioprogrammer
Facebook: / theaudioprogrammer
Twitter: / audioprogrammer
This is easily THE best presentation i've seen on reverb design.
After quitting my old job, and spending 4 months studying audio programming and applying to job offers, I finally got a job as a Junior Audio Developer. The tutorials on this channel have helped me to reach my goal. Thank you Josh and everyone in the videos!
Brilliant, this makes infinitely more sense than any book I’ve read on the subject.
Really good presentation. Usually the easier the presentation looks, the harder it is to put together. Wonderful job.
This was great. I implemented it in SuperCollider in about half an hour and ended up with a reverb I can actually use. Amazing.
Thank you!
absolutely fantastic! thank you so much for that. Very clear and in language that we can all understand. Very good teacher. cheers for this.
This is a great video. I finally (a year after I first saw it) understand the math on how to implement it. Ye gods DSP is hard.
Amazing - this is a great talk and addresses exactly at the same point where I was struggling with my design. Thank you very much!
one of the best videos ever
that was fun. looking forward to try it myself
Awesome, thanks so much for this explanation
finally understood reverbs!
Really cool, thanks. He mentions a blogpost with some code snippets. Do we have a link for that? Thanks again.
Amazing presentation, thanks
In the diffusion step is the shuffle and invert what the hadamard matrix is used for? I’m just a hair confused.
You could combine the Hadamard and the shuffling/inversion together. But the idea was to have the mixing slightly different for each diffusion.
(Apologies for the late reply)
Did I understand this correctly, even though the Schroeder Allpass has been mentioned, it has NOT been used in the diffusor? This is amazing.
Wonderful!
Excellent presentation. I think the Juce DSP module documentation page is about to get DDOS attacked!
this is amazing
Nice one!!
Sir , Plz Contribute to LMMS development.
LMMS An open source Daw lacking audio recording feature
🔥🔥🔥🔥🔥
Hi ! First of all thanks for this EXCELLENT presentation. I'm trying to implement this algorithm into Max/MSP's gen~ but output of channels 2, 3 and 4 of my Hadamard Matrix attempt become mute when there is audio playing through 4th input. Any idea of what could go wrong ? Here is the genexpr codebox :
out1 = (in1 * 1 + in2 * 1 + in3 * 1 + in4 * 1) * 0.99;
out2 = (in1 * 1 + in2 * -1 + in3 * 1 + in4 * -1) * 0.99;
out3 = (in1 * 1 + in2 * 1 + in3 * -1 + in4 * -1) * 0.99;
out4 = (in1 * 1 + in2 * -1 + in3 * -1 + in4 * 1) * 0.99;
0.99 is just to prevent clipping.
Thank you guys !
So when we make reverbs like this do we call them geraint reverbs?
Can you show us how to create a piano roll / Daw on android studio , please
In the diffusion step, how does one prevent the buildup of feedback without decay? In testing my own implementation of the diffusion step, I've found that inserting the Hadamard matrix in the feed-forward path results in the quick buildup of feedback. Is it a matter of spreading out the delay times? What max delay times should be segmented at the first diffusion step? Thanks for any info.
There shouldn't be any feedback in the diffuser - but if you don't scale the Hadamard results properly, the output can be a lot bigger than the input, which sounds similar.
Hadamard matrices aren't actually full of ±1, they have a scaling factor of 1/sqrt(N). I could have been clearer about that!
@@geraintluff Thanks for the reply!
17:43 "noice"
Now I realise why reverbs are complex! But still what’s bad about just convolving the signal with an impulse response? Clearly this is expensive since tails must be gone by length of impulse response, say a 88K length filter for 2 secs is 88K ops per sample. Why not use a GPU?. Is the issue really about saving computation compared to a full convolution?
Exactly, it's about saving CPU cycles (especially multiplications). 88k operations per sample is quite a lot at 44khz.
There is a clever method called partitioned convolution that only does time domain convolution for the early reflection and does the rest with FFTs. Generally working in the frequency domain is a lot easier on the CPU.
As for GPU I have no idea. Generally latency is the hardest part. Is there an RTOS that allows you to drive a GPU and get low latency IO?
I want to learn coding because I want to make a DAW as I like to produce music...... so can u tell the roadmap to make a DAW ...so that I can make a free DAW and make music....l am ready to give more 10 years for learning and follow your guidance..... love you from "India"
Start small. DAWs are huge complex beasts. I would recommend starting with simple plugins to learn and fully understand how sound is handled. I can also recommend having a look at game development as a place to learn C++. Game development has a similar focus on real-time performance aka there NEEDs to be a frame rendered for DAWs the audio buffer NEEDs to be full. If you learn how to make basic games from scratch without using a game engine or existing framework then you will be infinitely more comfortable making an interactive interface and workflow for a DAW there are truly a lot of overlapping subjects. If you want and are ready to learn the in-depths of a DAW I suggest you look at making extensions (not audio plugins but actual features) for DAWs. some DAWs allow you to do so but might not use C++ so they might require you to learn another language. Another good source for learning is looking at and helping the development of open-source DAWs. Ardour is a good example of this. Look up their code on Github and look at the issues to see if you can pick up and fix some of the bugs.
Again keep it small. A phrase used at my work/university is "Simple Stupid" which refers to the focus on getting things done without using a lot of complexity.
Good luck on your path!
Sincerely Graduate Game Dev and Game technology researcher, Open-source audio plugin dev, hobbyist ambient music creator
@@sainsay thank you so much for your guidance sir....🙏🙏