Forums > MaxMSP

poly voices + [select]

Mar 01 2013 | 8:44 pm

Hi all,

I’ve gone over all 3 tutorials of poly(~) 19, 20, 21. I understand most of whats going on, but in my case its somewhat different situation (single drum-shots on specific keys) and im really struggling(confused). At the moment im triggering specific groups of samples with specific midi keys using [select] (not funbuff/coll).
I want to have an (on/off) option for each group so that when 1 note/sample is played it gets cut off as soon as the 2nd one is triggered (from another group). I know that using [poly 1 1] should do this, but in my case its not happeneing and i dont really understand why!! Its behaving really strage.
I went and took a day off, — come back, now it seems like ive forgotten everything!!!! aaah
Could somebody be so kind and help with this?

-- Pasted Max Patch, click to expand. --

Mar 02 2013 | 2:29 pm

Im not looking for a ‘hand-holding’. I want to know what im doing wrong. I know [poly 1 1] should cut the next note off but in my case it doesn’t. Why?! (its not a synth-type situation)

Mar 02 2013 | 3:16 pm

At first view I guess that [stripnote] is the culprit. Can you explain why it’s there?

Mar 02 2013 | 3:51 pm

Thanks for responding. Regardless whether [stripnote] is there or not, the samples still wont cut-off(and still sounds twice) / acts strange.
I put the [stripnote] in so it plays the sample all throughout. (sends an off message)

Mar 02 2013 | 8:54 pm

So the problem may be that you are sending the velocity to both groups regardless of pitch. I think you’d need to send

pairs belonging together to each group. This could be done for example with pack/unpack and gate.

Mar 03 2013 | 1:42 pm

I should of mentioned that i did perviously try pack/unpack. It doesn’t seem to make any difference. Have i wired it incorrectly??
And as far as [gate] goes, i imagine you would use it as an on/off switch? (im having trouble seeing where to put it)

-- Pasted Max Patch, click to expand. --

Mar 03 2013 | 5:40 pm

Using [gate] you can control the data flow of

pairs depending on pitch.

Mar 03 2013 | 5:57 pm

Could you please show an example?
Is my patch going in the right direction?

Mar 03 2013 | 8:09 pm

This example shows the usage of [gate] to select a specific note.

-- Pasted Max Patch, click to expand. --

Mar 03 2013 | 9:37 pm

I think i understand the patch but im somewhat puzzled by it. (if thats possible)
As it is, the notes still do not cut-off. Its the same as it was…
Am i missing something? :/

Mar 04 2013 | 1:29 am

There seems to be a design conflict: in general you want to ignore note-off messages for playing a sample, but [poly] sends note-off when a note is cut off by the next, and this message must be used to cut the sample sound.

Mar 04 2013 | 10:13 am

I agree that [poly] doesn’t seem the right tool in this case. Basically [poly 1 1] can be used to enforce monophony, but it’s problematic for handling one-shot samples.

Mar 04 2013 | 2:42 pm

@Nicolas, You are the Man! Thank you so much! (@broc – no offence – you are too!) apologies for taking this thread the wrong way(poly), still quite a noob at heart —– Ok, I have some questions.

1. [zl slice 1] – slice’s the incoming data, taking the first of whats in the list. (which is pitch) Right?
2. [; $1 $2 $3] – is working with [coll]? routing the signal somehow? (cant find any ref. on this] i dont really understand how the list gets passed onto [receive]. [coll] is like an automatic [send]? (also cant find any ref. on this)

3. Main question / query;
I want this whole function (cut-off sample as soon as the next is triggered) to be an optional choice for each group of sounds (on/off toggle). ex. So the kick and snare groups would play WITH cut-off (as is now), whereas the hat and percussion groups would play WITHOUT cut-off.

Now i understand that interrupting/removing the bang between [stripnote] and [flush] does this, BUT, how could i remove this bang for only SPECIFIC groups? I hope that makes sense.

PS- or perhaps theres a different way of going about this?

Mar 04 2013 | 3:57 pm

3. I got it working! I duplicated the main sub-patch. Ending up with (p withCut, p noCut). In the second sub-patch (p noCut) i removed the bang between [stripnote] and [flush]. Then i simply used a gate to switch between the 2 sub-patches. Assuming you understand what im saying; Do you see anything wrong/conflicting with this method?

Regarding question 1 and 2; id still like to get an answer please.

3. Hmm, actually i just realised i havent sorted the problem exactly how i want it. Because each sub-patch [coll] contains all the same items. So my ‘solution’ only works for all the groups or none of them. (getting confused in my own thoughts now)
So #3 still isnt solved and stands as described in the previous post above.

Mar 04 2013 | 4:52 pm


Apologies for 1 and 2. Usually i open the help patch first, this time i opened the Ref. first and didn’t open the help! Its all there. I belive i understand everything thats going on.
However, #3 is still not solved. Could you please help me with it?

Mar 04 2013 | 8:38 pm

Hi Nicolas,

Yup, it works perfect! I understand the patch and what you did, i just couldn’t have thought of it my self. (too early in the learning stage) thats my excuse. :)
Thanks very much again!

Viewing 16 posts - 1 through 16 (of 16 total)

Forums > MaxMSP