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
Brendan
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.
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
l'ill
l'ol
Ok.
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?
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
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.
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