Groove~ sync?
How do I get two groove~ objects to sync? I'm a little puzzled by the use of the sync ramp from the right outlet. One thing I tried was dividing the ratios of both buffers. I got this idea from the demonstration for the elastic~ object extensions. I used two info objects and divided their times in miliseconds to adjust the playback of the one that is slaving to the other loop. I guess my question is more directed towards the sync output. I'm intersted in any examples that might involve syncing two groove objects this way.
you could detect the end of the first groove using change~ and edge~ and use this to reset/start the second groove (startloop)
Hello Raja,
I noticed you mentioned a patch example of groove~ syncing another groove~ but there is no attachment....
Is this included in your Raja'sLil'SamplingTutorial? (https://cycling74.com/tools/rajaslilsamplingtutorial/)
I couldnt find it, probably because your tutorial is really extensive.... could you highlight which encapsulation should I look out?
(I am trying to sync two groove objects and change the phase relationship over time...)
Thanks!
Yeah thanks for taking the time mate!
I'll work it out throug the weekend and post my results.
All the best.
Hello again Max community !
Following the advice in this and various other threads I was able to sync three groove objects using groove~s sync output.
My main interest is to avoid discontinuities in a groove-based sampler while making the playback position (start/end loop points) 'jump' backwards, maybe, by switching every bar or whatever between objects… @Rodrigo highlighted this idea properly years ago (https://cycling74.com/forums/how-to-wrap-around-zero-with-minmax-points-in-groove/).
In the attached example there is still the issue already highlighted elsewhere, about getting a phasor~ master clock to match the exact phase of the groove~. I do know (as said by @Peter McCulloch) that "If you want things absolutely locked in, is better to use wave~, rate~ and phasor~ for playback"… however, Id like to use groove~ instead….
Any light on why these two wont sync properly? @Raja, u still there?
Also, does anybody know how could I change continuously the phase relationship that is set by half cycle in-between A & B in the attached example? (as in Reich phase music, for example?) btw, my maths are not so great, and thats probably why I cant figure out this by myself?
Any input on this would be very much appreciatted :D
all the best
hi Raja!
thanks x your input :D
Is this thread the one you mention ?
https://cycling74.com/forums/determining-when-groove-reaches-end-of-loop/
It shows how to bang at the end of the loop in both reverse/forward playback using groove~s sync outlet with delta~ —> abs~ –> >~ 0.5
As I understand, sah~ holds the amplitude signal and changes it only when there is a phase wraparound. In this way amplitude remains constant until there is "a transition from the last sample to the first (if forward), or the first sample to the last (if backward)".
My question regarding this example by @PeterMcCulloch is how would it be possible to obtain bangs at other instances of the phase, maintaning the same accuracy? so for example, you could create out of phase copies of the looping wavetable sampler, and vary the phase difference in between them...?
Any commments very much appreciatted.
All the best!
`
For whoever might be interested in this as well, I found that it is easy to 'wrap' groove~ sync outlet using the modulo operator [%~ 1].... Therefore it is possible to create two looping samplers a half-cycle out of phase from each other via [+~ 0.5] –> [%~ 1] and thence to the window generator.
It is also possible to use Gen~s [wrap] operator which I think functions almost in the same way but is less CPU expensive (not really sure about this)...
:D
Hey folks,
I'm currently playing around with some mc.groove ideas.
Does anyone of you know if its possible to resync each individual channel within the mc.groove object?
right now I'm only able to change each individual playbackspeed via mc.sig~ .
It would be so cool also to jump to a certain position in each buffer.
Is that already possible?
so far I can only control the playback position via one number box for all buffers simultaniously.
I hope my question is clear?
Thanks in advance,
Christian
Oh, just solved it.
mc.targetlist does the magic.
best
c.