Removing clicks from a time based groove trigger

Evan's icon

Hello All,

I have a M4L patch that captures audio and slices it into 8 divisions to be played on the Push (ala MLR). I've got this thing working pretty flawlessly except for the clicks happening when I trigger different time points in my ~groove object.

I have been debating what the best (and most efficient way) of addressing this would be. Simply have 8 different groove~ objects with different start points and thier own envelope? But then I would have to sequence them Which I would rather not do.
Or could i have 2 identical buffers, and do some type of windowing to fade between them?

Any suggestions?

Evan's icon

Thank you AssWipe!

I implemented the switch & ramp into my patch, and it definitely makes things a bit smoother and less clickity clackity.

I'll have a go over your sampling tutorial as well, looks to be fairly exhaustive.
I appreciate the assistance from a fellow bay are resident (asswipe).

-E

Evan's icon

Yeah there are still some 'clicks' (maybe bumps is a better word?), but this was so fast, and I'd rather start rehearsing/creating with this again rather then go down the rabbit hole of programming something else at the moment.

I will be using this on all types of sources, elec/acoustic guitar, bass, and all types of synths and drums, and to be honest, I don't even mind the small discontinuities. Gives everything a bit of percussive presence when used in practice.

I think the double buffered thing could be interesting, and useful for more than just de-clicking. But now I can see myself peering down the rabbit hole....

jbones1000's icon

How about this? think polyphony.

clicklesstrigger.maxpat
Max Patch
foldh's icon

jbones1000 MASSIVE thanks for that! Tried it with a bunch of different samples and it appears flawless thus far.

+ 1 for the resident asswipe's lil sampling tutorial too. Some great tips/ideas in there

preqwal's icon

Hi guys,

Max Patch
Copy patch and select New From Clipboard in Max.

I wondered if you could help me too. I've made a MLR type chopper like Evan and tried to implement JBONES1000 clicklesstrigger, however, it doesn't seem to have made a difference. I'm a bit of a MAX noob so any help trying to crossfade between the two grooves would be good!

mark williamson's icon

That

tutorial is excellent. Thank you for making it!

Evan's icon

@preqwal

It's hard to see where you're going wrong without a patch to look at. I got that example working pretty well.

Evan's icon

@preqwal

It's hard to see where you're going wrong without a patch to look at. I got that example working pretty well.

@jbones

Thanks for that patch. Nice, quick example, I may have to try and implement this the next time I dig in.

preqwal's icon

LOL. I must've only selected one item when copying that!

Try this one.

Max Patch
Copy patch and select New From Clipboard in Max.

It certainly works, as its triggering each one after one, but I don't think the fades are working well.

Evan's icon

I see a few potential problems in this patch actually.
The way you're reading through the Buffers is changing the loop lengths? I might rethink that, and just tell the groove~ to play from a certain spot, and continue playing. It doesn't seem to me that you need the sample divided into consecutively playing loops of 1/16th the size. I think that might be introducing clicks in the audio as well. I just played the audio loops without redefining loops and the clicks are gone.

Also think about the timing, and when you actually need to crossfade. If you only switch the playhead on user input, you only have to fade on user input, which would make this a lot more efficient, and you could explicitly have the new groove jump to the new play position THEN fade. It seems like you aren't doing any carefully handled timing things in your patch (the trigger object is your friend).

preqwal's icon

Thanks Evan. I can't believe I didn't think of that. That's an old trick I used to use in my MPC and SP404 days, just chopping at the start point!

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

preqwal: I couldn't help it.