trying to succeed in phase locking two groove~ objects

Ctenophore's icon

I've seen in other older posts using delta~ abs~ > 0.5 edge~ as a means of syncing two sounds together. How do I do this with the groove~ object?

I noticed that groove~ has a sync output. I have that plugged into the delta~ abs~ > 0.5 edge~ with a startloop message that goes to another groove~ object's playback increment along with the same sig~ that the original groove~ object uses.

It certainly starts the loop almost when the other loop plays, but not quite. It's never consistent. There should be a way of playing these at the same exact time.

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

the edge example is probably from times when groove could not take signal input at all. for sample accurate synv you´d use the sync output as is.

Ctenophore's icon

Thanks. How do you connect it then? This gives a funny sliding up and down with the speed.

Source Audio's icon

groove sync output 0. - 1. is only usable to drive something else like

for example wave~, set to same loop points.

load same sample into both buffers , they will play sample aligned

Ctenophore's icon

Mine sounds all bendy and weird that way. Here's my patch I tried to copy from yours.

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

did you not see that I used mc.wave ?

Ctenophore's icon

Thank you! I didn't. Got it now.

Ctenophore's icon

I guess the only problem now is that I cannot have loop min and loop max points for the mc.wave~ object. Or maybe I'll have to convert it to milliseconds somehow.

Roman Thilenius's icon

expr 1000./(SR/ms)

if you want 0 = 0 too you have to isolate the 0 from the input

Source Audio's icon

I don't undertand your problem at all.

If you want 2 players, no matter which objects are used

to run in sync then you probably set same loop points

in both players.

Or do you need different length loops ?

Restarting 2nd player from 1st one then makes no sense, or ?

Ronen Shloosh's icon

Try adjusting the delta~ abs~ > 0.5 edge~ values for better consistency. Also, set the same sample rate and load the same audio file.

Ctenophore's icon

I've debated if I want some kind of external number clock that the other players follow, but I just thought it would make more sense to have one player chase off the other, no matter the loop length. I'm playing the same sound in both to hear if they are in sync. My plan is to have sort of this dj player with two different loops and a crossfader.

This is what I've hacked together so far from various tutorials and examples people left online, and some I've figured out myself:

Max Patch
Copy patch and select New From Clipboard in Max.
👽'tW∆s ∆lienz👽's icon

I've debated if I want some kind of external number clock that the other players follow

they did also recently add the 'phasegroove~' object to make this easier/faster to work with... just mentioning to keep on your radar :)