3 ms·
My code has these links as comments for reading material: https://www.soundonsound.com/techniques/springs-plates-buckets-physical-modelling https://www.soundon
by Jasper_ 4y ago
My code has these links as comments for reading material:
https://www.soundonsound.com/techniques/springs-plates-buckets-physical-modelling https://www.soundonsound.com/techniques/springs-plates-bucke...
https://www.dsprelated.com/freebooks/pasp/Schroeder_Reverberators.html https://www.dsprelated.com/freebooks/pasp/Schroeder_Reverber...
http://www.music.mcgill.ca/~gary/courses/papers/Moorer-Reverb-CMJ-1979.pdf http://www.music.mcgill.ca/~gary/courses/papers/Moorer-Rever...
https://www.dsprelated.com/freebooks/pasp/Freeverb_Main_Loop.html https://www.dsprelated.com/freebooks/pasp/Freeverb_Main_Loop...
Most reverbs these days are convolutional. I looked at those too! But they require an expensive FFT (usually run in a thread), and the quality sounded "too good" for the audio target I wanted to hit.
After trying a lot of stuff, my main primitive ended up being a delay line hooked up to a low-pass. The output sample is a delay line going through a low-pass. That output is mixed with the incoming sample, and shoved back into the delay. Effectively, this makes a comb filter. I run eight of these in parallel at slightly different delay lengths to comb different frequencies. I was trying to shoot for "digital blur" that had a bit of crunch and aliasing that I wanted, while still sounding like a reverb.
And the track was done by Jake Kaufmann, our composer at Yacht Club Games! I can't take any credit for it.