🌺🪞🌺 I make (software for) music. I build/maintain https:// social.toplap.org/@facet for live coding with NodeJS, https:// wax.bz for synthesis in the browser, and I build open-ended generative music tools in Max/M4L. Releases on EVEL, 3OP, Active Listeners Club, Tokinogake ++ posts auto-delete after 2 weeks
🌺🪞🌺 I make (software for) music. I build/maintain https:// social.toplap.org/@facet for live coding with NodeJS, https:// wax.bz for synthesis in the browser, and I build open-ended generative music tools in Max/M4L. Releases on EVEL, 3OP, Active Listeners Club, Tokinogake ++ posts auto-delete after 2 weeks
been working on this max for live device that computes the complexity of the input audio signal using an algorithm called "non-sequential recursive pair substitution" written in the gen~ codebox.
in short the algo is measuring how many iterations it takes to compress the input signal buffer (1024 samples), then that's normalized between 0-1.
since feedback contains repeating oscillations which typically are of a lower complexity, this can allow you to persist feedback sweet spots by doing automatic gain control - when the complexity is low, turn gain down, and when complexity is high, turn gain up.
still in early stages but really having fun exploring. i've done some stuff with my loudspeakers but it's even fun just straight out built-in macbook microphone / speakers.
you can also map the complexity measurement onto other params so you can insert fx into the feedback loop and modify those, gets crazy quickly but still possible to tame it.
based on this paper: Shaping the behaviour of feedback instruments with complexity-controlled gain dynamics" by Kiefer, Overholt, & Eldridge