How to smooth selector changes?

Nick Vann's icon

I'm trying to create a morphing filter, LP>BP>HP... My theory is having one cutoff knob and one Q knob that controls all three filters. I'm then trying to have one slider that will morph between the outputs of the three filters. Right now I'm using a selector that chooses the output, but I'm wondering how I could make the transition a bit smoother than just switching between the three.

Floating Point's icon

instead of switching between the three just use the *~ object for each filter output and some +~ objects to add them together (actually don't even need the +~ objects). The multiplier is just scaled output of the slider (different [scale] for each [*~]). For best results you'd want to also in addition use equal-power scalings for the slider output

Nick Vann's icon

Hmmm... I apologize for possibly being annoying and laboring the point, but I'm not sure I understand. So should I put the *~ object directly after the filtergraph, or after the biquad? Then how would I get the pictslider to control the outputs? Thank you for your help, I'm still learning!

Floating Point's icon

*~ to multiply the output of of each of your biquads by the scaled outputs of the slider, which should be scaled to be between 0 and 1, and you'll probably need to use [clip] to keep the multipliers between 0 and 1. just try wiring it up and post a patch if you need more help

Roman Thilenius's icon

to mix more than two parallel channels against each other it will be a bit more ocmplicated.

but for now start with the output of 2 filters and do 0-1 [*~ ] to the first and 1-0 [*~] to the second.

Floating Point's icon
Max Patch
Copy patch and select New From Clipboard in Max.

actually remapping ranges using sine function is probably easiest:

Mark Durham's icon

That's neat.

If you don't need the divisions in between, then Matrix~ with @ramp works well as a kind of cross-fading Selector~, albeit without the equal power scaling.