poly~ can read your mind?

Apr 30, 2012 at 8:08pm

poly~ can read your mind?

Hi
I am quite familiar with the (target 0), or (target $1) method of accessing specific instances inside a [poly~]; having built a neato l’il (li’l?) granulator I decided to access groups of voices, rather than all voices always (target 0).

I have duplicated a bunch of parameters, but assigned them all to voice groups 1-4, 5-8 and 9-12 as in the patch below; but what fiddles my tiddles is that, even though each unique voice-group is sending it’s own (target $1) messages continuously, changing voice1 parms does NOT affect all instances, it only targets the voices 1-4; similarly changing voiceTwo stuff doesn’t go to all instances (and neither do I want them to) – just to voices 5-8. Strange

– Pasted Max Patch, click to expand. –

Brendan

#63323
Apr 30, 2012 at 8:53pm

Not strange really. From the reference page:

“Target … Specifies the poly~ instance that will receive subsequent messages …”

In your example, when changing voice1 parms, only voices 1-4 actually receive a subsequent message.

#228406
Apr 30, 2012 at 9:05pm

Yes, but in my example all voices are still being sent a target message…..just in groups of 4. When changing any “voiceGroup” parameter, the other two are still firing their own respective target messages. THAT’S what’s strange, to me anyway

Yes I know; it works so I should just shuttup

#228407
Apr 30, 2012 at 9:19pm

l’ill

#228408
Apr 30, 2012 at 9:20pm

l’ol

#228409
Apr 30, 2012 at 9:21pm

Ok.

#228410
Apr 30, 2012 at 11:12pm

Each ‘target’ message is being immediately followed by the list of parameters you intend for that voice, because the ‘target’ message and the instructions that follow it are both triggered by the same message, namely the list coming out of the pak object. So even though you’re bombarding your poly~ with lots of ‘target’ messages, the desired list always goes out immediately after the correct ‘target’ message, so it gets to the correct voice of the poly~. Is that what you’re wondering?

#228411
May 1, 2012 at 1:01pm

Thanks for revealing the mystery Christopher; had I been joining the relevant parameter-voicenumber as a list, this would have been obvious, but it just appeared that [poly~] was ‘assuming’ which parameters were going to which group, especially as the pitch parameter sources are a signal – ie continuously firing all voice numbers. Still, the way poly is doing this is pretty damn tight timing:

“Any sufficiently advanced technology is indistinguishable from magic [particularly to n00bs]“

Brendan

#228412
May 1, 2012 at 1:38pm

Not sure if this is the case, but if you’re doing pitch with a multiplicative scale (1 = original, 0.5 = -1 octave, etc.), you can also use the transratio object so you can specify pitch in halfsteps.

#228413
May 1, 2012 at 2:00pm

Cheers Peter; I actually have quite a cool user-defined glissando parameter, from half-step leaps to full sinusoid gliss….i will get this online, PhD IP notwithstanding, but i don’t think there’s anything ground-breakingly innovative in it, just some unique combinations of existing approaches.

Thanks again
Brendan

#228414

You must be logged in to reply to this topic.