Forums > MaxMSP

I have a problem with looping in groove and using the trapezoid~ for clicks???

April 5, 2014 | 11:13 am

Hi there,

I have been searching several days in the forum to find a solution for this but no success. I’d be grateful if anyone can help me with it.

I want to build a sampler with looping function with groove~. But I also want to be able to play the sample from the beginning and when it reaches the loop point, starts looping. For example, it starts from 0 ms and continues until it reaches the loop start at 635 ms and still continues until the loop end at 1241 ms, then again goes back to 635 ms and so on. The problem is to get rid of the click at looping edges I used a trapezoid~ object connecting it to the loop synch output. but the signal output from loop synch remains 0 until the loop minimum so the sound will become silent from 0 to 635 ms and then it sounds.

Can anyone suggest another way to avoid clicking so that I can play the sample from the beginning and then it starts looping at the loop points.

cheers,

Marjan

– Pasted Max Patch, click to expand. –

April 5, 2014 | 12:29 pm

Good old fashioned ‘groove-duck’.

It will fade out/in by an absolute amount (set in ms) inside the [p duck] subpatch. In this case it is set to 20ms. This is better than using fixed values in trapezoid as if you have a very long sample, 0.1 0.9 will give you a super slow fade out/in.

Hope this helps!

– Pasted Max Patch, click to expand. –

April 5, 2014 | 12:30 pm

Make sure you set the value inside the [!/ ?] to a float and not an int, otherwise trapezoid will get mad at you.


April 5, 2014 | 12:49 pm

Thanks a lot for replying. But my problem still exists there. when I click on 0 message ( which tells groove to start playing the sample from the beginning), I hear silence from 0 ms of the sample until 635 ms ( which is the loop minimum point) and only after the loop min point it starts sounding. That is because the loop synch out, outputs a 0 signal during the beginning of the sample until the loop min point.

I want to be able to have a loop min and max and also start playing from the beginning of the sample, then having the loop when it reaches the loop point. Do you know how to fix this?


April 6, 2014 | 4:34 am

you’d have to do something like this for groove~:

– Pasted Max Patch, click to expand. –

But that still doesn’t fix it entirely(then you’d need an additional declick mechanism to cut volume out steady when you trigger the beginning, then cut it back in after letting the trigger through)… gets complicated… better to use play~(if you want to keep working in ms), or wave~, or index~, etc… that way you can drive amp-envelope with the same sample-accurate signal as the playback driver.

(with groove~, you could also use adsr~ instead of trapezoid~, then translate the sync outlet of groove~ into single clicks(‘delta~’ -> ‘<~ 0.’), send that into adsr~(see helpfile for signal control and sustain/release portions), and also use click~ object to send additional click to adsr~ with the beginning trigger…(maybe?))


Viewing 5 posts - 1 through 5 (of 5 total)