Play a part of a sample using groove~

Pvdn's icon

Can i play a part of a sample using groove~ (non-looping)? I can set a startposition, but i can't seem to define an endposition (or length to play). Should i use another object?

Christopher Dobrian's icon

Short answer: To play a sound from point A to point B, nothing beats play~. You just tell it, "start ".

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

Long answer: If you must use groove~, you need to provide a stopping command at the right moment somehow. As you have no doubt noticed, the loopend attribute of groove~ causes the sound to loop back to the loopstart point if looping is on, but lets the sound continue if looping is off, so it's not really of that much use to you. You can send groove~ a start time, then send it a "stop" message some amount of time later. Or you can set its rate signal to 0 to stop it. Or you can use the sync signal (the signal coming out of the right outlet of groove~) to tell you when the loopend point has been reached, and use that to stop listening to groove~ (set its amplitude to 0). See the examples below. (The last solution is the worst, since it delays your playback and end time by one signal vector, which may or may not be noticeable.)

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

+1 for [play~]

Brendan

Christopher Dobrian's icon

Also: Example 17: Playing a sample from RAM and subsequent examples might be of interest.

Pvdn's icon

Thanks for the clear insights. I'm making a beat slicer/reshuffler and mainly want to be able to play a specific part of a sample (probably with a speed-control) so it looks like play~ is the object for me in this case.

brendan mccloskey's icon

Then you should definitely look here:

Max6/examples/sequencing-looping/modsquad/ModSquad

and also check out the [chucker~] helpfile

Brendan

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

Take a look at this to get [groove~] to play a selection of a sample just once...