-=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- (c) WidthPadding Industries 1987 0|696|0 -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=-
Socoder -> Art and Sound -> VidGen 2

Fri, 12 Apr 2024, 01:30

VidGen 2

Over the past few days, I've been working on a new version of my music video generator thing.

It's nothing too complicated, right now, but I've been working tirelessly on the quality of the spectrum analysis, and now that it seems to be functioning to a decent enough set of capabilities, I'm now moving on to adding a few generators.

Alongside each generator are a bunch of settings, and also a few presets per generator. This gives MUCH more variety in the output of the effects, and should help my ALChoon videos have a little less monotony when I can't be bothered to make a "proper" animation for that week's choon.

Currently the engine only ever runs at 1920x1080. I'll have to add some settings to the thing to let it generate at lower resolutions for folk with lesser hardware, and it might also be nice to add a couple of different ratios for those YouTube Shorts or TikTok videos, too.

What I also want to do is add some sort of lyric engine into the mix, whereby I can paste all the lyrics into a single box, then tap keys when the words should appear. I think that'll probably be the easiest way to handle that. But that requires GUI work, and who can be bothered with that!?!?

You can Play with VidGen2 here. The site will eventually overwrite the original VidGen, but first I need to bulk it all up a bit more.

How To
1. Load a song using the input box on the top left.
2. Pick a Generator
3. Twiddle the options, or select a preset.

Hold the mouse down on the timeline to see the video from that point, or hit the Capture button to capture the entire video. It definitely needs a play button, though, as the "mouse down" bit isn't working on iOS for some reason. (and, yes, I added touches!!!)

''Load, Next List!''
Mon, 15 Apr 2024, 03:44

Been bulking up Vidgen2 over the weekend, and it now has a bunch more generators, including an isometric dancing cityscape, some nice retro fireworks, a swirling vortex of growing dots, and some lovely spectrum bar things.


''Load, Next List!''
Mon, 22 Apr 2024, 10:17

Flasher gives a few spots that flash, whilst mirroring on both horizontal and vertical axis.

Lightning looks fairly similar, but always emanates from the middle of the screen.

Orbs is one of those ones that only ever really looks good if you have "Feedback" switched on.

and Zoom Geometry can create all manner of crazy patterns.

I also tried adding an all-round Kaleidoscope effect, but couldn't find a quick way to pull it off at such a high resolution.
I'm starting to think I might need a low-res offscreen buffer to do a few extra optical techniques.

You can Play with VidGen2 here.

''Load, Next List!''
Sat, 27 Apr 2024, 03:18

Spent a little time with VidGen yesterday, mostly to take my mind off of the JSE Transpiler for a bit, and managed to make a few nice effects.

I could really do with working out a decent way of adding after-effects, now. Symmetry, mirroring, kaleidoscope, things like that. Those oughta be easy enough with "Draw the canvas onto itself" techniques, but things like warping and such will be incredibly hard with the canvas being 1920x1080.
All that maths just ain't going to be happening in realtime!!

''Load, Next List!''
Sat, 27 Apr 2024, 04:39
Can you make an option for the mountains in "the synth road" to be filled, with different colors for each row ?
It would make a nice parallax effect.

And btw: They kinda remind me of Captain Blood (the amiga/c64 game)...
Sat, 27 Apr 2024, 07:37

Sure thing.
I've also been adding "Symmetry, mirroring, kaleidoscope, things like that", which have turned out pretty nice, though can cause extra chunky slowdown depending on your system..


You can Play with it, here. Be sure to refresh it, in case it doesn't do that.

''Load, Next List!''
Sun, 28 Apr 2024, 06:03

Gave the interface a rejig.
Options are now in the bottom corner, with a new Random button, which is great for experimenting with the different styles.
The presets are now in a HUGE list on the left, with all presets for all styles ready to be clicked at your whim.
The "timeline" is now up at the top. I've reserved a small section underneath the timeline, to account for future timeline additions. I'd like to add lyrics and maybe transitions into there, but we'll see how far we get with that!!!

Other things I'd like to add in the future.
The preset array is a lot neater, now, so I should be able to easily add some kind of Load/Save/Delete preset functionality at some point.. Maybe even a share function, too.
I should also be able to save the current settings, so refreshing the page won't reset everything. You'll still have to load in your song, though! Can't magically redo that.

''Load, Next List!''
Mon, 29 Apr 2024, 23:09
Somehow the capture button does not work.

I have tried an older, sandboxed Chrome version and on my android phone ...
This is on windows (SrWare iron) and it's console log output:

Requesting file
vidgen2.html:564 Loaded music
vidgen2.html:565 Success
vidgen2.html:350 Uncaught (in promise) DOMException: Failed to construct 'MediaRecorder': Failed to initialize native MediaRecorder the type provided (video/mp4) is not supported.
at https://pixelcubes.art/vidgen2.html:350:25
at new Promise (<anonymous> )
at record (https://pixelcubes.art/vidgen2.html:344:12)
at Capture (https://pixelcubes.art/vidgen2.html:402:3)
at HTMLAnchorElement.onclick (https://pixelcubes.art/vidgen2.html:1:1)

Tue, 30 Apr 2024, 01:12
Oh yeah, I haven't yet implemented different output codecs.
Just double-check for me. Does the old version capture work..?
If it does I can rework that version.

''Load, Next List!''
Tue, 30 Apr 2024, 01:54

Did you make that tool yourself? Is it on itch.io? looks like a powerful tool.
Tue, 30 Apr 2024, 02:07
A) Yes
B ) No, maybe once I'm done. I still have Lyrics to add, and maybe transitions, though those will require having two of the effects going at once, which might overwhelm things a bit.
C) Yes!!

''Load, Next List!''
Tue, 30 Apr 2024, 08:16

Shuffling about again.
Put things back as they were..
The timeline's down at the bottom again, and now resizes to whatever width is available.
The timeline cursor position has been tweaked, and should now be much more accurate.
The left panel now has presets, with a separate tab for the settings, wherein the random button lies.

There's now play/rewind/record buttons above the timeline. Think I might swap that record button out for a video camera or something? It'll do for now.

Oh yeah, and the timeline now has play/restart lines, though they aren't always aligned correctly for some odd reason.

''Load, Next List!''
Tue, 30 Apr 2024, 14:45

Does the old version capture work..?

Yes, it saves in the .webm format !
Tue, 30 Apr 2024, 14:49
Gudgud! (Don't ask me to try to save it to AVI.. That way, madness lies!)

...And does the latest version of VidGen2 now work?!

''Load, Next List!''
Tue, 30 Apr 2024, 15:55
Yes it does now.

FFmpeg is able to convert it to avi or mp4 ... its all good !
Tue, 30 Apr 2024, 17:14
Can't seem to get it to capture in Firefox.. Not sure why.. :/

''Load, Next List!''
Fri, 03 May 2024, 07:16
Sorry i do not use firefox ...

On this page: https://stackoverflow.com/questions/41739837/all-mime-types-supported-by-mediarecorder-in-firefox-and-chrome
they have a runable snippet which displays the available mime types.
Maybe it can help ?
Fri, 03 May 2024, 09:10
Yeah, I should probably add some kind of option for output formats..
Just seems really bloody awkward to do, though.
I'm also going to have to add a Font option, too, though. And..
I don't *think* I can do that in Javascript..

.. Bing/CoPilot suggests not, but did give me a "Is This Font Available" function.. If I want to scan through a whole myriad of fonts, I guess I could kinda scrape a list together...!? Hmmm..

Today's work has been on the Lyrics side of things.
It's going to be kinda awkward with all the effects going on, as I'd end up blurring the text and making it unreadable, so I might have to add a layering function into the mix, too. Gah!!! Second canvas.

But the basis of how the lyrics "should" function is in. I think.
In my head, it's working.. On screen it isn't, but only because I've not written any display code yet!! (Ignore the fact that you can see lyrics on the above screenshot.. That's the input, not the output..)

I also need a quick way to erase the lyrics, too, and I'm not sure how to go about doing that, just yet.

But, yeah, it's "more than likely" going to work!!!

''Load, Next List!''
Sat, 04 May 2024, 08:13

View on YouTube

VidGen's been posted over to itch.io, for shitz 'n' gigglez. Let's see if that makes any kind of impact!

''Load, Next List!''
Mon, 06 May 2024, 07:44
OK, Now to add a font selector..
... Oh no..

OK, first off, there's no way to get a "Fonts on my system" list.
BUT.. You can ask the browser if the font is available.
Me : Hey, Safari, is 'JSE_AmstradCPC' font available?
Safari : Sure thing!
Me : OK, Cool. Load it, and write with it!
Safari : Write with what?
Me : The JSE_AmstradCPC font.
Safari : I don't know what that is.

So, that's not happening, then!!

''Load, Next List!''
Sat, 11 May 2024, 13:49
Upgraded a bunch of stuff, over the past week, but still haven't got those darned Lyrics up and running.

But I've uploaded all the new effects, tonight, so they are as follows..

1. Generic Rings - Those generic rings that everyone seems to use on their videos lately.
2. Hairy Canyon - Looks a bit like hair!!
3. Classic VU Meters - With or without the background.
4. Raster Bars - They float up and down
5. Loading Bars - They flicker like you loved to load
6. Swirl - Looks great with added Mirroring.

There's a bunch of new presets in there, too, as well as a new "Replication" effect on top.

The whole thing might, however, now be a teensy (quite a bit) slower in the highest resolution, because of the way I've tweaked the output. It had to be rejigged so that the Lyrics can be added as a separate layer, as opposed to blurring the fuck up, every time there's any text on the screen, because the "Feedback" is causing it to go insane!!!!!
.. But you can't see the lyrics yet. Because they're still not quite ready to go.

You can Play with VidGed2 here. Might need to hit Refresh for the new stuff to show up.

''Load, Next List!''
Mon, 13 May 2024, 01:25
I've now got the lyric tapping up to the stage where it at least shows the word "tap" onscreen!!!
Now I need to do the bit where it counts all the taps to work out which word should be showing up, and handles the "line of lyrics" enough that the words won't fade away before the single line is displayed.

''Load, Next List!''
Sun, 19 May 2024, 08:07

View on YouTube

Got the Lyrics engine up to .. about 50%, I'd say..

The methodology is as follows.

1. Type lyrics into the box at the top. Add "-" to split syllables when necessary.
2. Hit start.
3. Tap right cursor button (or onscreen "word") button when a word is sung. (Like Parappa!!)
4. Rinse until finished. There's an easy button if need be.
5. Repeat until perfect.
6. Hit Capture.

It makes it piss easy to do onscreen lyrics, and you can set position/colour/style/font for each individual line. (And any settings will filter down to each line of lyrics below)
You can also set up different groups, so you can have, say, verse lyrics looking different to chorus lyrics, and so forth.
Honestly, though it's taken me about 2 and a half weeks to get this working right, the result so far is really quite nice. I sat here tapping the above set of lyrics in next to no time at all.

It's going to be SUPER useful for future ALChoons.

Still not uploaded the latest version yet, though, as I have the other 50% to work through. Things like "How long should the line of lyrics stay onscreen after they're done", and "How should they disappear", and if I can work out how to do it, "How should they appear", though that requires a look-ahead, and that might upset all my numbers

But, yeah, it's coming along.


''Load, Next List!''