pouët.net

Go to bottom

Live Coding Compo Framework

category: code [glöplog]
Quote:
Gargaj: have you thought about adding support for MIDI beat clock? It could facilitate a bit better music sync, in addition to the current frequency band peak level metering thing. The beat clock messages could come from e.g. Ableton Live or Traktor, which are pretty good at syncing to any DJ stuff.

Tbh, most bpm analyzing software struggles with realtime analysis. The offline analysis is problematic at times as well. You can get the sync from an external source, but that information might not be accurate at all. If I don't use Rekordbox to map tracks before playing, the CDJs will just be guessing wildly on what the fuck is going on. Good luck with getting any useful information from an ambient track, or any music produced without a click track (humans drift when playing music).

Anyway, I'm not sure a clocked sync is "better". Se Cupe's work from last year for something that actually reacts to musical content, not just blinking in sync with a kick.

Quote:
I have also been pondering a beat clock as a very useful addition. For full flexibility, this should be a smoothly increasing value which hits an integer on every beat.

Ideally, the beat detection could be built into Bonzomatic so it doesn't depend on external software to deliver the signal. But if it's easy (and reliable) to set up using an external sync generator, that would be fine as well, of course.

Without an external sync (see discussion above) the algorithm will just guess when the next beat will occur anyway.


Beat sync in a realtime competition like this is pretty far from the regular demo scenario. The DJ set will be, and is meant to be, unpredictable. When you choose a soundtrack for a demo it will be, and is meant to be, predictable.
added on the 2018-03-01 15:12:29 by lug00ber lug00ber
Quote:
Will Bonzomatic be used for Revision 2018? That's in a month and if Bonzomatic is to be used again I think it would be a great time to merge the patch-1 branch into master, so that the new features and improvements (including my own) can be seen in next months compo! :)

What patch-1?
added on the 2018-03-01 15:34:40 by Gargaj Gargaj
Hmm sorry. I have no idea what patch-1 is, other than I seem to have this branch on my machine haha. Looks as though my pull request indeed was to master so all is well. I did this ages ago so my memory is hazy and I was just checking it out today and saw patch-1 branch and got confused. All I added was extra syntax highlighting for things like mat2, int, bool.. that werent highlighting before
added on the 2018-03-01 16:13:40 by nightfox nightfox
lug00ber: it would be interesting to see things done with an actual beat/bar sync variable, because it's often and easily used in demos and it looks better than amplitude/power-to-float things, which tend to look like winamp visualisations. With the compo like it is now, I think to myself, "what could this effect look like in an actual 4k intro, which has real beat sync available trivially".

With the DJ providing the sync as sync messages, she could even in some way "play" the visuals, or together with the visuals. Are such DJs hard to find, who are able to provide a sync pulse for visuals? ;)
added on the 2018-03-01 22:32:16 by yzi yzi
yzi, imho the dj should not be made responsible for "driving" the effects on screen in any way. that's not to say that i am not curious to see what results such a co-op could bring but rather that the dj should not be put in a position where he could become a (more or less) deciding factor in a match that was supposed to be between two coders.
added on the 2018-03-01 23:26:39 by havoc havoc
Quote:
lug00ber: it would be interesting to see things done with an actual beat/bar sync variable, because it's often and easily used in demos and it looks better than amplitude/power-to-float things, which tend to look like winamp visualisations. With the compo like it is now, I think to myself, "what could this effect look like in an actual 4k intro, which has real beat sync available trivially".

Watch the 4k compo. It's in the compo block starting at 2300 on Saturday.

Quote:
With the DJ providing the sync as sync messages, she could even in some way "play" the visuals, or together with the visuals. Are such DJs hard to find, who are able to provide a sync pulse for visuals? ;)

Take a minute to consider what it means that the DJ sets are also actually performed live, then read my former post again. Then rephrase your question to "Is such software hard to find, that is able to predict the future?". The next beat hasn't happened yet.

As for playing with the visuals, we do. We can see what's happening on the screen and react to it. Apart from that, what havoc said.
added on the 2018-03-01 23:56:14 by lug00ber lug00ber
Of course software can predict the future. Sometimes the predictions are close to actual events, sometimes even closer. Providing a reasonably music-synced beat clock doesn't feel like impossible rocket science to me. When the music changes and the tempo changes or stops, the virtual flywheel will continue spinning and generating beats, even if it might not coincide with the tempo perceived by a particular listener. But eventually the beat will start again and the sync will catch it. If all else fails, in case of total sync loss and embarrassing visuals, there could be someone (doesn't have to be you, fear not) tapping her foot on a "3-4-one-2" pedal which outputs MIDI beat clock.

I think it's not just I and Blueberry, but many other shader coders would gladly welcome having a float value that resets at every beat or bar. And, if needed, with some help from something like Ableton Live or Traktor, I think such a thing could be added with reasonable quality, without ruining any DJs life or art.

Anyway, I asked if Gargaj had already considered it, and he said "pull requests are welcome", so nobody has to convince anybody about anything, all flowers still bloom and no DJ has been harmed. Maybe some day a MIDI beat clock input appears.
added on the 2018-03-02 18:57:31 by yzi yzi
A friend of mine worked on this:

http://wavesum.net/products.html

Resolume I believe implements Wavetick, and it's the best predictive beatsync thing I've ever seen, designed for the very purpose of automatically adaptive tick prediction.
added on the 2018-03-02 19:01:02 by visy visy
Wow. :O
added on the 2018-03-02 19:09:40 by yzi yzi
With that thing, Photoshop and something, it could be a team compo, create a complete demo live from scratch. :D (just kidding)
added on the 2018-03-02 19:13:03 by yzi yzi
Quote:
there could be someone (doesn't have to be you, fear not) tapping her foot on a "3-4-one-2" pedal which outputs MIDI beat clock.


No, there could not be someone for that. Because it totally screws up the concept of fair competition between 2 individuals, so we won't do it. Of course you're totally free to organize your own competition with less fair rules.
added on the 2018-03-02 20:03:04 by havoc havoc
Thank you for highlighting the single most important thing, the pedal. Actually that was all I was saying, that there has to be a manual sync manager, and a female person too. Yes of course it would totally screw up the pureness of the concept, I completely agree. Objective mechanisms are very important for the purpose of Coder Quality Measurement, or what was it again.

But internet forum tough guy bullshit aside, coders would welcome a float value that resets on beat start.
added on the 2018-03-02 20:23:16 by yzi yzi
I have no objections whatsoever against a float value that resets on beat start, if that's implemented in Bonzomatic, we'll use it for the compo, plain and simple.

However, as the organizer of the compo, I am responsible for providing a level playing field to my competitors. That is not to say that the entire competition will ever be fair because I don't think that any real competition is fair, which begins with the fact that there will always be differences in skill level between competitors, and ends in our case with the audience vote being influenced by intoxicants, friendships, the general mood of the event, and whatnot. So we focus on the part that we can influence, which is creating that level playing field, and in our mind it cannot include any other lifeforms than the coders and the dj who provides the same signal to both competitors. If coders don't like our format, they don't have to volunteer to compete and they're welcome to organize their own alternative events with completely different rulesets. Whether that makes me an internet tough guy is irrelevant, really :)
added on the 2018-03-02 20:55:44 by havoc havoc
Nah. I just can't see the claimed "fairness" argument. Whatever stuff the DJ plays, it's fair, but if there's a glitch in the sync signal (according to some unknown criteria), it's not fair?

Blueberry, do you think your right to a fair competition would be totally screwed, if the beat sync didn't work perfectly all the time?
added on the 2018-03-02 20:56:09 by yzi yzi
Ah, you posted at the same time, sorry.

But maybe I got your point. I wasn't suggesting that the competitors should have some extra tweaking possibilities. I meant that they would both get the same signal, just with this extra value which is commonly used in intros and demos, and allows doing many kinds of sync things that aren't really possible with a "VU meter" value.
added on the 2018-03-02 21:01:51 by yzi yzi
Well, I suppose if you'd put that "beatkeeper" lady in a separated space where she can't see the visuals created by the coders, and give both competitors that same sync signal, then it could be considered a level playing field for both competitors. But you were arguing for playing into the effect that the coder creates, that's obviously never going to match with a level playing field.
added on the 2018-03-02 21:04:05 by havoc havoc
Double posting at the same time, woohoo :)
added on the 2018-03-02 21:05:22 by havoc havoc
...and I couldn't understand why anyone would oppose that, because it would only let the coders create more exciting effects, and particularly those kinds of effects I like the most, tight beat-synced visuals I grew to love in Amiga demos.
added on the 2018-03-02 21:05:34 by yzi yzi
Ah ok, that "the DJ could play the effect" thing was trying to expand the possibilities that adding this relatively simple new type of input in the software would open. But of course, a "panic button" decision would be biased if it's like, "oops, competitor A's visuals look bad now, let's reset the beat", that much even I can understand.

But as far as I'm concerned, I wouldn't mind even having some funny and "unfair" interactions between a referee and the competitors, because it's supposed to be a good fun show anyway, like improvised theater or a jazz concert. Code jazz!
added on the 2018-03-02 21:14:01 by yzi yzi
I'd reckon having Okkie and Moqui shout at you through a massive PA for 25 minutes is worse than any WWE referee could ever dream to be, but that's definitely a personal opinion and not an official one on behalf of the organizing team ;) More seriously, I'm also very interested to see how other variations on the livecoding concept work out in practical terms, and ready to learn from that, but for the Revision event we'll stick to what has worked well so far and for which we're getting better response and more support every year since we started. "Don't fix it if it ain't broken" ;)
added on the 2018-03-02 22:04:05 by havoc havoc
It's great fun and a magnificent event, thanks for organizing it.
added on the 2018-03-02 22:18:52 by yzi yzi
And thank you and everyone else in this thread for the support :)
added on the 2018-03-02 23:13:55 by havoc havoc
The live coding compo is certainly one of the most original ideas yet which has come out of the demoscene; it plays well whether you're in the E-Werk at Saarbrucken or even watching the livestream. Am looking forward personally to seeing the 2018 competition :)
added on the 2018-03-02 23:32:57 by Felice Felice
would it make sense to move the live coding compo discussion from the revision thread to here?

login

Go to top