Play a part of a sample using groove~
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?
Short answer: To play a sound from point A to point B, nothing beats play~. You just tell it, "start ".
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.)
+1 for [play~]
but see here too:
https://cycling74.com/forums/make-play-work-like-groove
Brendan
Also: Example 17: Playing a sample from RAM and subsequent examples might be of interest.
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.
Then you should definitely look here:
Max6/examples/sequencing-looping/modsquad/ModSquad
and also check out the [chucker~] helpfile
Brendan
Take a look at this to get [groove~] to play a selection of a sample just once...