Non-linear reverbs

Oct 25, 2013 at 4:47pm

Non-linear reverbs

So I’ve been reminiscing about the Ensoniq DP4 multieffect and its odd odd reverbs, and contemplating how to go about it with max.

It seems to me that I’d either have to employ some sort of gating/envelope following algorithm to choke feedback inside the reverb, or just straight up go with convolution.

What are my options, exactly?
Thanks.

#269158
Oct 26, 2013 at 3:32pm

I like lots of taps on a delay line (64+!) combined with a matrix~. Not the same exactly, but can be combined with other reverberation components to make some very non linear responses.

#269220
Oct 26, 2013 at 5:01pm

i agree, a big set of tapping buffers would be one way to create a verb with a nonlinear “envelope”. eventually one can get somehow satisfying results by adding a “normal” diffusion section afterwards.

#269226
Oct 26, 2013 at 5:05pm

hm, or what about 64+ parallel systems of classic 3-5-firstreflections based on allpasses? all with the same settings, each with 50 samples more input delay~ and just the volume of all the parallel copies is controlled by the envelope?

#269227
Oct 27, 2013 at 3:14pm

@peter: great idea, that. Should be really simple to roll something, too.
…why matrix~, if they’re all coming from the same delay line? Do you mean outputs for the feedback, and outputs for the actual output?

And yeah, it could get quite realistic with some added reflections thrown in there.

@roman: That sounds expensive! :) And oddly specific, do you have something up your sleeve?

#269293
Oct 27, 2013 at 4:09pm

Matrix~ (with three arguments so it can have variable gain) let’s you control the volume and panning of each tap. Check out PM.MatrixVolumePan for this…

If you want to see an implementation of this, my UltraComb M4L device does this, though it only uses 32 taps.

You can get a lot out of this without feedback, though it can be nice with a bit, too.

#269295
Oct 27, 2013 at 5:06pm

Woah, didn’t see PM.MatrixVolumePan in your libs! Nice. Nice, nice.

Yeah, matrix~ has a ton of potential, but it’s always been finnicky and in dire need of auxillary objects. So thanks for this .zip – rifling through it right now.

#269298
Oct 27, 2013 at 5:37pm

Way to bury the lede there, Peter. Your helpfile was like, identical to the patch I was whipping up. Great minds, hehe. I’m really loving the @outlets setting, makes expansion super easy. Great work.

Ah well, I ended up with a really nice diffused delay thing here. Is it bad of me to use two Gigaverbs just for diffusion? Whoops.

#269301
Oct 27, 2013 at 9:36pm

Thanks! Back in the days of Altivec, PM.MatrixVolumePan was way faster than *~ and line~. Matrix~ = multiply + offset, so you can also use it for fun things like additive synthesis with frequency shifting on some partials. Nowadays, I’m more likely to just do it in poly~, since I’d rather have the extra control.

I did make a Hammond organ model with it, using 63 oscillators (?!) and a matrix~ with 9 outs. (scale the output of an outlet and you have a drawbar…) It worked better than poly~, because you couldn’t have phase cancellation.

#269310

You must be logged in to reply to this topic.