Using poly~ - What are the tricks?

Michael Gary Dean's icon

Hello all,

I'm working on a replica of the Rythmicon. My patch is is lacking polyphony. How I can get the poly~ object operating with polyphony?

When changing the patch i've noticed you need to move the Fundamental Frequency dial to initialize it again after changes.

Thanks,
Mike

1277.voices2~.maxpat
Max Patch
Roth's icon

I've understood from other users that the "poly~" object is a temperamental one

Don't worry, it only seems that way until you figure out how all the features operate; then all you have to do is not forget by the time you work on your next patch! ;)

There are two things you need to check out to get this to work. The voice allocation features of the and messages will send the arguments to the first instace of your poly~ subpatch that is not listed as busy. Max has no way of knowing what counts as busy for your particular patch, so you need to have a [thispoly~] inside your poly~ subpatch and send the appropriate busy or not busy messages to [thispoly~].

Any messages sent to your [poly~] without using or will be sent to the instance of the subpatch that has been most recently selected by the target messsage. If you have never sent a target message to your [poly~] the default is that instance 1 is targeted. Sending would route the inlets to instance 2, sending targets every instance and untargets everything.

So here is what is happening in your patch. Since you never use [thispoly~] to set the busy state of a subpatch instance, Max assumes the first instance is not busy and the note number is always sent to the first instance. Also, even if you were setting a busy state, you would find another bug because without using a target message to [poly~], any input to your middle and right inlets will be always sent to the first instance.

I would recommend getting rid of your middle inlet and instead use the message to send the note and velocity to [poly~]. Also, maybe use a [trigger] to first send to [poly~] before sending the Fundamental Frequency value. Although, I suppose in the case of this particular patch, you could use a [loadmess target 0] instead.

Chris Muir's icon

I have a couple very simple poly~ examples here:
http://xfade.com/max/examples/

And another, more complicated one here:
http://xfade.com/max

Michael Gary Dean's icon

Thank you very much for your responses! Roth, I really appreciate all the details and looking through my patch.

M.

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

heres a way to avoid your clicks-- hope it makes sense

Michael Gary Dean's icon

Thanks for help everyone. Here's the finished Rhythmicon re-creation and its relevant subpatch. Hope it's useful for someone!

Thanks.
M.

(Accidently uploaded two. One opens in presentation mode, one does not.)

1283.RhythmiconV2.maxpat
Max Patch
ritmoloco's icon

HI MIKE,

CAN YOU SEND A JPG OF YOUR RHYTHMICON V2 WITHOUT PRESENTATION MODE, PLEASE? I HAVE SOME
DOUBTS ABOUT THE CONEXIONS IN THEPOLY NOTE GENERATOR2.
THANKS

Michael Gary Dean's icon

Sure, I've also edited some other things...

1289.noteGenerator2.maxpat
Max Patch