forwards/backwards looping with groove~?

Dec 18, 2011 at 8:48pm

forwards/backwards looping with groove~?


i’m trying to add the option to switch direction at the end of a loop so that my loops play forwards and then backwards and then forwards again etc., in a groove~-based sample player.

the idea is that this way sounds will sound less obviously “looped”, because you don’t get that obvious repetition once the file starts again at the beginning, in a way faking that the soundfile is twice as long before actually repeating again.

i’ve pasted one of the voices below (hopefully the relevant part on the lower right is isolated well enough from the rest, if this is too confusing let me know. although it looks horrible i find it easier to work on a patch without having the patch cords auto-routed, but now they’re crisscrossing all over the place).

somehow, when i connect it to the main playback speed/pitch control, it doesn’t really work, although when i disconnect it from there the other number box for test purposes does switch from positive to negative reliably at loop ends.

does anyone know how i can solve this?

many thanks in advance!

– Pasted Max Patch, click to expand. –
Dec 18, 2011 at 10:32pm

this works:

– Pasted Max Patch, click to expand. –

although I didn’t look at your example


Dec 18, 2011 at 11:09pm



i’m probably missing something simple here, and it’s stumbling block i need to address for various reasons, but how would i use those “1″ and “-1″ messages to not just select those two values but to modify other values i’ve typed into my speed/pitch number box?
in other words, if i want groove~ to play at 3.333 times the speed or whatever, how do i get it to switch between 3.333 and -3.333 in this case?

i’m attaching number boxes and * objects and various ways but the calculations somehow aren’t triggered right.

thanks again, this is very helpful!

Dec 18, 2011 at 11:27pm

3.3333 is the number you have typed in.

then just toggle between [* 1.] and [* -1.] to flip back and forth.

Dec 19, 2011 at 9:15am

The [sig~] driving [groove~] determines the speed of playback; the (1) and (-1) determines direction. So, change the value of [sig~] to get different speeds. -3 is irrelevant. Have you read the associated helpfile?


Dec 23, 2011 at 6:20am


yeah, i’ve read the helpfiles and understand how groove~ playback works i think, my problem is more with doing simple math in max.

still working out some glitches in the solution. will post the patch once it works as i’d like it to.

thanks again!


You must be logged in to reply to this topic.