Noob: XY to control fft EQ filter help.

Ragz13's icon

Hi can anyone give me some advice on how to create a list of Y values to distribute over X values to be able to control n FFT filter EQ with an XY controller.

Wetterberg's icon

Sounds like this is a school assignment, huh?

Have a look at [pictslider], but there isn't enough space in this thread to explain fft processing in max, I think :-/

I'd suggest going through the MSP tutorials, which do touch upon fft a bit.

Ragz13's icon

Yeap, I have attached the part of the patch I am working on, if you have any advice that would be great.

I am using pictslider and have the fft filter eq, just need to suss the controlling of frequencies with the XY.

Thanks

4894.XYFFT.maxpat
Max Patch
Wetterberg's icon

aaah, so you're trying to control a multislider with an xy input. Got it.

The biggest issue in solving this is that you need to upsample your input, because you have 512 sliders, and only 128 steps of resolution on your midi input.

I solved this by doing extra draws with uzi. There may be more elegant solutions, but this seems to work - just don't do it with the pictslider itself, it doesn't output all its values, it would seem.

Max Patch
Copy patch and select New From Clipboard in Max.

Try this, see if it works:

$Adam's icon

Hi,

here's a modification to Wetterberg's patch where the interpolation works with pictslider, too.

Max Patch
Copy patch and select New From Clipboard in Max.

Cheers,
Ádám

Wetterberg's icon

That's pretty cool, Ádám! I reckon that mode of interpolation is a bit too harsh for xy pad use, though - touch two places and it'll draw a direct line between them, which is a bit radical for some uses.

$Adam's icon

Yeah, it needs some improvement. The original idea was that, since pictslider is probably using qelems to trigger it's output, when you click-and-move the mouse inside the object, you won't get a continuous output. My approach works basically to overcome this problem. Probably a timer+gate combo or something similar should be inserted to turn off the 'direct line interpolation' effect.
Cheers,
Ádám

Ragz13's icon

Thank you very much guys, going to try these now :-)

Ragz13's icon

You guy are legends, all sorted.. Much appreciated :-)