Clicks when looping and skipping around audio
Hello! I've been trying for a couple of months to solve an issue with clicks.
There are three potentially separate issues:
1. Clicks at the loop point
2. Clicks when selecting the waveform with my mouse
3. Clicks when skipping around the audio track randomly with a "hacking" process
Don't worry, I understand what creates clicks, I just can't figure out where/how to build little fade-ins/outs. I couldn't figure out how to implement grooveduck into this patch. When I tried, it just wouldn't move through the audio at all. I can't figure out where to put a line object. Etc!
Any help is greatly appreciated. I'm new to Max and I've spent countless hours reading, trying, failing.
I'm attaching a section of my patch! Thank you so so much!
without looking into patch,
your goal is to run audio file as is till next selection,
being restart, loop or whatever is ready, then apply crossfade between
current selection, play progress, and the next one.
Simplest way is to use 2 players, crossfade them,
and pass all selection actions through mousefilter.
On release, bang fade out + stop at fadeout end for current,
start and fade in for next player.
Hi! Thanks for your suggestion. Mousefilter sounds like a really good tool for this but I'm afraid I can't figure out how to implement it in my patch. :/
If you post a patch that one can look at, not like that chaos from 9 july.
I mean working patch in reasonable sized screen, with all mouse actions that you want to implement allready set and workong, and no leftovers and such,
I'll be willing to look at it and provide some help and suggestions.
@Clare
i cleaned it up further, and added this simple/brute-force abstraction i had at the ready called 'ezduck'(using curve~ to duck audio out, pass a value on, then duck back in), it's a quick fix for slower changes, but for faster changes(less than 100ms or so), it wouldn't be so great since you can end up ducking too frequently(for that, i'd recommend something more advanced like crossfading voices of a poly~)...
also, feel free to take a look at the karma~ object available from the package manager, it doesn't have 'timestretch' but takes care of clicks and pops pretty easily otherwise(can be used at the ready, in case you need something quickly for a performance until you've learned/figured other stuff out).
anyways, this can take care of quite a few of the clicks and then i've cleaned up the patch so it can be easier to fix/read from there:
not like that chaos from 9 july
^haha, that wording cracked me up 😂... i just had to take a look... it's not so bad, but hopefully this can help take some of the load off 😄
RAJA to the rescue ++++
I suffer sometimes from lack of motivation to dive into such
patches, takes me too much time to connects bits and pieces ...
I trust your suggestion to use karma or something similar would be
much better choice with so much strain on the groove player.
Using loop crossfades to perform switching of play chunks
is only way I know of to get smooth and no-gaps audio playback,
but if I see one wants to scratch and make noises
why to bother ? It will sound cracky anyway ...
Ducking the playback during transitions is simpler option,
one should live with loop gaps, or ?
here is simple solution to send waveform selection
on mouse release.

I did once use xsample groove player for that as it has several loop
crossfade modes which worked very well for "normal" loop sections
switchings, not wild jumping arround.
"I just can't figure out where/how to build little fade-ins/outs."
you need to delay the music signal (or your mouse events) a bit, then you can use slide~ as stable lowpass to supress the clicks.
this might be even easier than using crossfade techniques.