poly voices + [select]

m0dit's icon

Hi all,

Max Patch
Copy patch and select New From Clipboard in Max.

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?

m0dit's icon

Someone?
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)

broc's icon

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

m0dit's icon

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)

broc's icon

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.

m0dit's icon
Max Patch
Copy patch and select New From Clipboard in Max.

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)

broc's icon

Using [gate] you can control the data flow of pairs depending on pitch.

m0dit's icon

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

broc's icon
Max Patch
Copy patch and select New From Clipboard in Max.

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

m0dit's icon

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? :/

broc's icon

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.

broc's icon

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.

m0dit's icon

@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?

m0dit's icon

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.

m0dit's icon

Hi,

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?

m0dit's icon

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!