v1.0.0 Release, out of Early Access! ISF, ShaderToy and Audio reactive! Smooth!
Version 1.0.0
After over 3 years of development, and nearly 2 years in Early Access, AI VJ v 1.0.0 is here!
Its architecture and basic structure were defined when vibe coding wasn't a thing yet, and when AI videos weren't either. The first visuals I literally hacked together by having a series of Stable Diffusion images where one was used as input for the next, creating motion by slightly moving the input image for each round of image generation in a set pattern. Took me months to build a pipeline for that.
Now we are in a very different world. One that moves faster, and allows for true videos, and even better visuals. And finally our last few releases have added much more options for customization and creativity from the DJ / user, see below for the latest. A thing that early versions lacked.
AI VJ is production ready now, covered by nearly 1500 automated tests, and has been used in several larger venues. But it isn't finished yet. We'll keep adding features, and improving it. Adapting to the AI Singularity as it unfolds, and makes new things possible.
Also, even though out of Early Access, for further development we will still listen to users, and often prioritize features based on requests. So join our our Discord! if you wish to be part of it!
ISF Shader and Shader Toy Support!
Our big feature addition for the v 1.0.0 release, is shader support. This was the last content type commonly used by VJs that we didn't support yet. You can download ISF shaders here, and Shader Toy shaders here, which are easiest to download if you first install the Shader Toy browser plugin for Chrome, FF or Edge
AI VJ supports GLSL shaders (ES 3.0), ISF (v1 and v2), and Bonzomatic shaders, and takes .glsl .frag and .fs files, and zips containing them and their helper files. Zips of these are the format offered for download by most sources, so AI VJ supports these out of the box.
The main difference between ISF shaders and Shader Toy and other plain shaders is that ISF shaders define adjustable parameters. AI VJ now exposes these in the UI! And even better, these, and at least some parameters for every visual type, can now be made audio reactive! We've even gone back to our milkdrop logic, and have exposed their parameters too!
Audio Reactivity!
All parameters, for all visual types can now be made audio reactive! (except parameters that already have to do with audio reactivity). Thus allowing you to make almost any shader audio reactive in an interesting way! And not just shaders, video, milkdrops and 3D model colors too!
And even better, we have also added a randomize button, which automatically selects a likely decent combination of audio reactivity settings and strengths for each roll. Thus allowing you to try out many things, and select the best, without having to manually adjust a lot for each try. Though of course you can always also fine-tune and adjust to perfection.
To manually set the audio reactivity for a parameter, such as what band to tie it to (bass, mid-ranges, loudness, onsets, etc), its strength, and direction, click the little musical note that is displayed to the right of its slider, and a new panel will open up.
The Importance of Being Smooth
Finally, and this one is subtle, but important, and was hard to do. VJ visuals at a show should above all, always be smooth. Some of this depends on hardware, but a lot can be done with clever algorithms too. And we have more of those now!
For videos we already preloaded the next while the previous was playing. For 3D models we already used some more advanced tricks, such as pre-loading in small increments unless a visual swap was imminent, to avoid stuttering. But particularly for milkdrops and shaders more was needed, as they are heavier on GPUs than video.
We now pre-compile milkdrops and shaders when they are added to a bank or deck, as opposed to compiling them just before playing them. And besides this, we now also slowly start the milkdrop player, or the shader back-end once the next visual has been determined to be one that needs it, in addition to pre-loading in increments.
So no more milkdrop stutters when on auto play! - on most hardware. Even when a switch between visual types happens.
Of course there can still be stuttering when manually switching, as those switches only give between one and 2 beats pre-load time, to ensure the UI feels responsive; while normal ones are given close to the length of the previous visual.
Bugs Fixed
Several bugs were fixed, and more small improvements made: - Gamma correction for Milkdrops was incorrect. Fixed now. - Milkdrops are pre-compiled now - The settings panel's Play Time slider no longer loops into itself; fields refresh from the model without re-dispatching change events. - All activity on the main thread is now non-blocking. No more losing something you are dragging because something is being loaded during play - 3D model's images are decoded once at import into a raw texture cache (at most 2048 px on the larger side). - Every can't-load message shows the file's full path where you can read it; for shader compile errors, it now comes before the compiler log. - Removed a spurious extra video swap right after the real one. - A jump-mode video showed the next video early. No more. - An instant play could be swapped out by the replaced item's leftover readiness, making the layer jump to its next item over the visual just asked for. Fixed! - Items left behind by a load, undo or redo leaked their thumbnails, sprites and materials, about 80 MB per reload. Small memory leak fixed! - The Creative Director's "Also added to bank" strip lost track of its items after an undo, redo or load. Fixed! - A destroyed bank kept its items' selectors in memory. Fixed!
If you reported (other) bugs, we're keeping a list and working through them! Please keep reports coming! We won't know if you don't tell us (best place to do so is in our Discord)
Join us on Discord!
Join our community on our Discord! Feature requests & bug reports are welcome.
Posted by the game’s developer or publisher to its Steam community hub and published by Valve through Steam’s public news API. Sifter reproduces it unedited and writes none of it.