Using poly~ – What are the tricks?

Oct 22, 2010 at 11:50pm

Using poly~ – What are the tricks?

Hello all,

I’m seriously frustrated. I’ve understood from other users that the “poly~” object is a temperamental one, but I just cannot get it to work. I’ve read the help file, done the tutorial, even tried to replicate the example patches with minor differences. There must be a concept I am missing.

So, here’s my issue. I’m working on a replica of the first “drum machine”, built by Leon Theremin (see links below, and attached files). Almost everything is how I want it, except it is lacking polyphony. Could someone please take a look at my patch and the subpatch “voices2~” and suggest how I can get the poly~ object operating with polyphony?

Please note, when changing the patch i’ve noticed you need to move the Fundamental Frequency dial to initialize it again after changes.

I appreciate any help! I really want to get this poly~ stuff figured out!

Thanks,
Mike

Links:
http://www.youtube.com/watch?v=HkodVcuPVAo

http://en.wikipedia.org/wiki/Rhythmicon

Attachments:
  1. voices2~.maxpat
#52899
Oct 23, 2010 at 1:49am

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.

#190281
Oct 23, 2010 at 2:02am

I have a couple very simple poly~ examples here:

http://xfade.com/max/examples/

And another, more complicated one here:

http://xfade.com/max

#190282
Oct 23, 2010 at 2:04am

Thank you very much for your responses! Roth, I really appreciate all the details and looking through my patch. I want to have this done over the weekend, so again, THANKS!

M.

#190283
Oct 23, 2010 at 11:45am

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

– Pasted Max Patch, click to expand. –
#190284
Oct 23, 2010 at 8:30pm

#190285
Oct 24, 2010 at 2:52am

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.)

#190286
Oct 24, 2010 at 9:13am

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

#190287
Oct 24, 2010 at 8:58pm

Sure, I've also edited some other things…

[attachment=144367,1287]

#190288

You must be logged in to reply to this topic.