Using poly~ - What are the tricks?

    Oct 22 2010 | 11:50 pm
    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

    • Oct 23 2010 | 1:49 am
      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.
    • Oct 23 2010 | 2:02 am
      I have a couple very simple poly~ examples here:
      And another, more complicated one here:
    • Oct 23 2010 | 2:04 am
      Thank you very much for your responses! Roth, I really appreciate all the details and looking through my patch.
    • Oct 23 2010 | 11:45 am
      Max Patcher
      In Max, select New From Clipboard.
      heres a way to avoid your clicks-- hope it makes sense
    • Oct 24 2010 | 2:52 am
      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.)
    • Oct 24 2010 | 9:13 am
      HI MIKE,
    • Oct 24 2010 | 8:58 pm
      Sure, I've also edited some other things...