controlling frequency of filter inside poly w. polyphonic aftertouch

stoersignal's icon

i have a problem and i think the solution isnt too hard, but i cant get my head around it.
i ve got a filter inside a poly and i want to control the cutoff with poly-at.
so when i press some notes each can have it`s own cutoff frequency?
any ideas?
thanks in advance!!

jvkr's icon

You will have to use the midinote message to poly~. The help file explains it (briefly).

Tj Shredder's icon

#jvkr: Its not about the notes, its about polyphonic aftertouch.

So you need to do your own control of polyphony to be able to assign the polyphonic aftertouch to the correct notes. Or you use the poly management of poly~ and send each time a note is playing, the voice number out of a seperate outlet of the poly~ and then send the aftertouch to that voice number, you could keep that info also within a coll...
Or you just create a 88 voice poly~ and assign notes and aftertouch to their corresponding voices directly. As memory is not much of an issue nowadays, this might be the easiest solution...;-) (correct muting assumend)
There is more than one way to skin a cat...

Stefan

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

@ stefantidje
thanks!i already tried it with coll but something is wrong, most of the time it works correctly, but sometimes not and i think it`s way to complicated like i did it.
sending the voice number out of a seperate outlet wouldn`t work, because when i press some notes and then i change the pressure of the first note, thispoly still gives me the voice number of the last note i pressed.
or am i wrong?
sorry for my english i think the best way is to just attach the patch!
i ve used a tap.tools filter inside the poly, but i think that doesn`t matter

Chris Muir's icon

I don't understand why you're using poly outside of poly~? What does poly give you that poly~ doesn't? There's no reason to have two things trying to deal with the voice allocation problem. Use the poly~ midinote message and let poly~ do the voice allocation.

Once this is done just send the poly aftertouch stream to poly~ with target 0 set, and enable the AT value only if the AT key number matches the current note.

stoersignal's icon

thats not very unusual when you use poly together with the target message.
and the problem is more complicated! with your solution i could only control one filter for one voiceat a time, but i`d like to change the cutoff for more voices individually and simultaneously?!?!
one example: i have 4 keys pressed and i change the pressure from all my fingers at the same time i want to change all the cutoffs differently!
again, sorry for my english!
hope its clear now
thanks

Chris Muir's icon

No, with my solution I think that you could control any voice's filter, because the key matching happens inside the poly~. Inside poly~ you know what midi key is associated with what instance. You would only pass the polyphonic aftertouch value when the poly AT key == the current note. This approach doesn't require you to redo your patch to get rid of the external poly, but I think once you adopt this approach you will see that the external poly is redundant.

Also, you should post your voice3 patch so that people can try to run the thing.

stoersignal's icon

but i don`t want to pass the poly-AT value only when the poly-at key == the current note! i want that all polyphonic-AT data get immediatly to the right voice, not just the current!
i have ten fingers and with them i want to be able to control 10 cutoffs simultaneously only with pressure!
(sorry, im not sure if i dont understand you or you dont understand me:-)

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

heres my voice3 patch, just exchange the tap.svf with another filter if you dont have tap.tools!

stoersignal's icon

ok! problem solved!
i did it with the 88 voices poly solution from stefan!
thank you all

Chris Muir's icon
Max Patch
Copy patch and select New From Clipboard in Max.

Just to clarify what I was saying, first save this as voice4:

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

Next, save this as fake_vtimes:

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

And finally, save this top level patcher as whatever: