Control Signal smoothing/interpolation in gen~


    Jun 03 2023 | 3:31 pm
    Hi there,
    I hope it's OK: I'm starting a new post afresh to tackle/study the topic of smoothing control signals in gen~. I'm picking up/consolidating from a couple of posts that have a lot of useful info on this:
    If there are any other useful posts that I've missed please kindly let me know.
    I've gone ahead and compiled the various examples into a patch for easy comparing:
    Max Patcher
    In Max, select New From Clipboard.
    Show Text
    In this patch, you'll find: - Gen example "dynamic smoothing" - 1Pole filtering signal (I think? Or some equivalent thereof) - A couple of 3pole variations - A "line" example - A "slide" example (Thank you everyone who has contributed to this BTW! Super useful stuff!)
    I have a couple of observations/questions then:
    1 - Are there other examples or techniques that I may be overseeing worth including in this study/discussion? 2 - My personal concerns (for finding "the ideal object to use", though I understand that these may be implemented in a plethora of applications) are for real-time, i.e. human-made, sweeps, etc. (I haven't yet delved into what the needs might be for generative applications) -- be it volume changes, filter sweeps, pitch bends, what have you. With that said, my priorities for choosing are: - How "musical" are the changes in sound? - How CPU-demanding is the object? In that context (I hope this is helpful for others), I found the 3-pole to be the more "musical" one (e.g. doing slow, soft fades, thinking of phrasing, etc.); the "slide" example, the 'cheapest/simplest' implementation/compromise (though I wouldn't know how much of a difference there is with the other types, in terms of CPU requirements); the "1pole" and "dynamic" examples were still "zippery", but perhaps one could spend more time tweaking them (especially the "dynamic" one). 3 - Is there a way to test the CPU performance of a particular object/algorithm? I know of "adstatus cpu", but with a current Mac that's kind of a moot point as it just reads "0"; I'm more concerned about developing for other users who might not be able to afford the fastest computers, etc. I guess I should do my search on this topic in the forum, but if anyone has any pointers, it will be much appreciated!
    I think that's it for now. If anything else comes up (questions or new discoveries), I'll see to edit this post. I hope this is helpful!