Round Robin Cycling Through Samples

pajama's icon

Hey Fellow Cyclers,
I'm trying to resolve a problem with a sampler I'm building in Max 6. I would like to have the functionality where each time I hit a Midi Note Off Message my play~ object will set to a new buffer, but without cutting of the release of the previous sample being played. This way the next time I hit that particular Midi Note a different sample will play.

Is this the right way to go about this? One problem I'm finding is that If I set a new buffer for the play~ object while it is in playback, the sound is cutoff.

Btw, I'm modeling this functionality off of professional sample-instrument libraries that have multiple samples recorded for the same note. That way the instrument doesn't sound so mechanical. I think the feature is called "round robin" but I could be mistaken.

Thank you so much for any thoughts on this!

Christopher Dobrian's icon

A play~ object can only read from one buffer~ at a time. If you want polyphony (multiple simultaneous notes), you need more than one object.

This example and the ones that follow it (examples 23-30) might be helpful.Example 23: Polyphony requires multiple objects.

pajama's icon

Thank you Christopher,
I was able to solve my problem with the example you sent. There are a bunch of other great examples on that page also!