a silly n00b question about buffer playback
hi everyone-
i'm trying to get either wave~ or play~ to allow me to play back various samples with a phasor~, preserving a relative speed. ("1" would ideally always plays the "normal" speed, despite the overall length)
i know this is a frequent topic on here - but i've been through about 20 pages of results, so maybe i'm having trouble coming up with the right query.
can anyone recall a quick way to get to this answer?
groove~ takes a signal value in it's left inlet to define playback speed (1 equals normal speed .5 equals half speed, -1 equals reverse etc.)
Have you checked that out?
wave~ operates with a phase input, so it is driven by a phasor.
play~ is mostly driven by a line~ object to provide location.
Seems that groove~ is the best option in your case.
Well, the hope was to apply it to a granular synthesis situation - where I would have more control over the starting and stopping points. I could just use some sort of amplitude envelope thing to deal with it, if you think groove~ is definitely the way to go.
You can define start/stop points for groove and use it to play back grains that way quite easily.
if you want to use wave~, i reckon you could load a sample to your buffer, use a command to output the length of the sample (in ms) - if you run that value through a translate object (translate ms to hz) the resulting frequency should give you 'normal' playback speed? It wouldnt take much to make an abstraction that has trigger objects that will load/ output length/ translate/ set phasor~ every time you load/ reload.
Alternately, as others suggested, groove~ is more geared towards playback at original speeds with no extra tomfoolery involved.
great, thanks everyone!
Just to clarify, though - you can only use the stop points for a groove~ if it is in Loop Mode, correct?
I can definitely use the sync out or the envelope duration to modify this, but the actual object doesn't handle single-play grains, right?
Just have loop turned off and start playback from where you need, you can just envelope the audio so you don't need to "stop" it.
I use this super simple grain playback poly (courtesy of Alex Harker) for a bunch of my patches when I need something simple.