I'm imagining a setup where modules can be set to trigger not just on every transient or frequency detection, but, say, only once every bar (i.e: 4 beats) or more. Is this possible? I'm assuming the tempo would have to be detected automatically or input manually via tap tempo or something.
Hope this makes sense and apologies if it's already been solved, but it's quite hard to search for (and AI is useless when it comes to MMV - it literally just makes stuff up if it doesn't know, as per lots of other subjects )
I've had some AI assisted success with python scripts sending OSC trigger messages to Magic using aubio as a realtime beat detector. Very early days yet, but promising. Beat detection is working fairly well with acceptable latency. Once every bar is relatively easy for 4/4 time, but deciding which beat to choose is challenging!
So this makes me think it’s not trivial to do this in MMV or something that is already solved? Like, it can’t be done with the usual modifiers or modules?
Magic's modules are only for visuals - none offer any audio processing (at least so far). Only frequency filtering of audio is available via modifiers. It needs much more complex analysis and processing to reliably extract a beat.
I think external beat/bar detection will more readily implemented, and I'm confident that an accurate AI solution will eventually be available from somewhere - but I'd be pleasantly surprised if it was a near-term priority for Magic's development.
You could submit a feature request - I don't think it will be the first for BPM/beat detection.
Cool, thanks for the information, much appreciated. My use case is for both DJ stuff, where this would apply, and also live set stuff i.e: running alongside Ableton Live, where you have much more control over what gets triggered when, because you can send MIDI triggers etc and it’s all synced to BPM. Obviously the former is a lot more complex to achieve, but hopefully one day!