Forums

Sega Master System / Mark III / Game Gear
SG-1000 / SC-3000 / SF-7000 / OMV
Home - Forums - Games - Scans - Maps - Cheats - Credits
Music - Videos - Development - Hacks - Translations - Homebrew

View topic - OVGen, SidWiz and similar programs

Reply to topic
Author Message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 12391
  • Location: London
Reply with quote
OVGen, SidWiz and similar programs
Post Posted: Wed Oct 10, 2018 2:39 pm
I'm thinking of generating some YouTube videos from VGM packs. There was a program called OVGen which seems to have been used to make lots of videos, but has apparently disappeared; and there's SidWiz, which seems more active. I was wondering if someone has figured out a nice way to automate the process though:

* Take a VGM pack
* For each file, dump the channels to WAV files - seems possible using VGMPlay but requires some messing with the config file instead of commandline options
* Preferably, check if any channels are silent and exclude them - should be possible by checking for silence
* Render to a YouTube-compatible video file, ideally with the "album art" included somewhere - not sure how best to do that with SidWiz, it seems not to be command line driveable and it seems any album art stage would have to be an extra custom step. Are there other programs that may do better?
* Upload the videos to YouTube, and make a playlist - it seems there are commandline tools to use the API for that, not sure how many uploads I can make before they throttle me though
* Insert that playlist into our VGM pack page - more of a problem for me, but it's just HTTP operations really so curl-able

All of this looks doable, but I wondered if someone else has done if before and can offer some tips...
  View user's profile Send private message Visit poster's website
  • Joined: 15 Sep 2009
  • Posts: 372
Reply with quote
Post Posted: Wed Oct 10, 2018 3:46 pm
For generating the WAV files, you can use kode54's Multidumper.
IIRC someone also wrote a GUI for it.
  View user's profile Send private message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 12391
  • Location: London
Reply with quote
Post Posted: Wed Oct 10, 2018 4:50 pm
I'm not a big fan of game_music_emu which is what multidumper uses - blip_buffer has a filtering effect which I dislike. I'll give it a try though, maybe it's got better in the last 10 years. I'm looking for things I can script, so it can churn through packs without interaction, so GUIs are actually bad for me.
  View user's profile Send private message Visit poster's website
  • Joined: 30 Jun 2016
  • Posts: 112
  • Location: Victoria, Australia
Reply with quote
Post Posted: Fri Oct 12, 2018 5:22 am
I've been interested in this particular sort of stuff for a few years now.

I've used SIDWiz in the past for printouts, and whilst I've not used OVGen, well, I've had contact with the author. He's a nice, chill guy.
Speaking with the OVGen author, he states that he's currently moving the application over to GitLab.

We do have a Discord channel, if you want to contact the people that work on SIDWiz and OVGen, but I won't openly advertise it in this post.

I have also contacted you/Maxim over the SMSPower! Discord channel. I've had a hand on producing videos by the batch for upload onto YouTube over the years, even if most of it was many years ago as former staff of TASVideos.

A lot of this stuff should be manageable, but not a lot of people haven't tried uploading this stuff on an automated industrial scale yet.
With regards to Album Art specifically, I feel that it shouldn't be used in a way that delays the music being played back. Opening bumpers tend to cheese off the audience.

Anyway! We have a Discord. I've poked you over Discord. You get the picture!
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 12391
  • Location: London
Reply with quote
Post Posted: Fri Oct 12, 2018 6:02 am
Well, I spent some time messing with the source to one version of SidWiz and got it running without user interaction, and able to customize the video background. It lacks some functionality I'd like so I'd like to try OVGen next, but that is currently in transition so I can't play with the source yet. I may play with the other parts next instead.
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 12391
  • Location: London
Reply with quote
Post Posted: Sun Oct 14, 2018 10:23 am
So I've hacked on it a bit more, I have made SidWiz drive FFMPEG to mix the audio tracks into the video file and I've added the album art in the background and currently I'm rendering to square videos as a result. I will also add some text with the tag contents and some site branding/link.

It's hard to avoid spending time to speed it up, too, as ultimately it could be so much faster by doing the work on the graphics card, but I don't really want to go into that rabbit hole. Encoding on the fly, it's a sub realtime but that's with only 10% of the time spent on rendering, so optimising it won't make much difference. When OVGen resurfaces I still want to try it, but I may well end up forking off from SidWiz and then pulling in the useful parts from OVGen.

I'm sure I'll need to experiment a bit for FM soundtracks, and multidumper is indeed producing the funny shaped waves from blip_buffer, but again I don't want to go down that rabbit hole if I can avoid it. The perfect being the enemy of the good, and all that.

I'll post some test videos some time soon, after I figure out how to use youtube-upload to do the rest.
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 12391
  • Location: London
Reply with quote
Post Posted: Mon Oct 15, 2018 12:16 am
Here's a few test videos:

https://youtu.be/jnZmzUoXsDI
https://youtu.be/InVLqJhTbPs
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 12391
  • Location: London
Reply with quote
Post Posted: Mon Oct 15, 2018 11:00 pm
A little more:

https://youtu.be/e3lbnCKnyBs

This was to test my automatic dropping of unused channels and also to go beyond the 9 channels supported in SidWiz as it was when I started (there are other versions without limits too). I'm close to being able to render and upload a whole pack with one command...
  View user's profile Send private message Visit poster's website
  • Joined: 05 Sep 2013
  • Posts: 2243
Reply with quote
Post Posted: Tue Oct 16, 2018 8:31 am
the last one has a very low volume (or is it a problem on my side?)
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 12391
  • Location: London
Reply with quote
Post Posted: Tue Oct 16, 2018 6:26 pm
And a playlist - which is the real goal, to have a way to listen to a VGM soundtrack on YouTube.

https://www.youtube.com/playlist?list=PLP0Z73pc4fdGOmgPLw-PlGnUohBQvKKcv

Amongst other changes, I've enabled antialiasing on the waveforms, and switched to Arial from Modern TwoSxtn ITC Std Light, which turns out to be pretty ugly when there's a lot of text and also hard to read when placed over an image. I'm facing some issues with the oscilloscope triggering algorithm, which falls down a lot with FM, and I still need to fill out the video titles and descriptions a bit better (populating from the GD3 tag and linking back to us, of course).

The BIOS one is indeed too quiet - it's because it's quite an old VGM, which means it doesn't disambiguate which FM chips it uses, which means the mixed result is extra quiet because it has a large number of silent channels mixed in. I implemented a check for this in the oscilloscope renderer, but I need to do the same for the audio itself. The correct thing to do is to measure the volume over a whole soundtrack, so songs stay the same volume relative to each other. The oscilloscope renderer is currently normalising the volume within one song.

YouTube has a feature where it normalises audio volume between videos - but as I discovered today, that only means reducing volume, never increasing it. So I need to fix it myself. I went through a related issue with the Winamp plugin some time ago, using Replay Gain to normalise volume between soundtracks - some games just are much more quiet, but you need a perceptual model to normalise them to.

Some links for me to pick up later:

https://github.com/karamanolev/NReplayGain for volume analysis
https://github.com/naudio/NAudio for high pass filtering, mixing and amplification
  View user's profile Send private message Visit poster's website
  • Joined: 16 May 2002
  • Posts: 1112
  • Location: italy
Reply with quote
Post Posted: Tue Oct 16, 2018 10:45 pm
Maxim wrote
The BIOS one is indeed too quiet - it's because it's quite an old VGM, which means it doesn't disambiguate which FM chips it uses, which means the mixed result is extra quiet because it has a large number of silent channels mixed in.
I addressed this issue some time ago, feel free to put it in a batch file or something.
  View user's profile Send private message Visit poster's website
  • Joined: 14 Sep 2018
  • Posts: 22
  • Location: Earth
Reply with quote
Post Posted: Wed Oct 17, 2018 12:24 am
I especially like how the sound channels are displayed, gives one ideas on how the music was composed plus its fun to listen to, GG Ristar had some nice tunes. Do you plan to do every game in the future? I ask because I'm thinking about Psychic World's music, would love to see a visual representation of the ice level theme sometime.. ^_^
  View user's profile Send private message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 12391
  • Location: London
Reply with quote
Post Posted: Wed Oct 17, 2018 7:13 am
Yes, the plan is to generate this for all packs. Some will be more interesting to look at than others, but the goal is to make it easy to listen to a pack by playing a YouTube playlist, even if that is ludicrously higher data rates than the VGM pack itself.

Tom, I will give your tool a try and maybe fix up the packs on the site where this is an issue. I'm already processing the audio to remove unused channels, which means the unused chips are dropped, but it will save a little time to avoid them entirely.
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 12391
  • Location: London
Reply with quote
Post Posted: Wed Oct 17, 2018 11:25 pm
Well, I'm getting pulled into this now :) Source is at https://github.com/maxim-zhao/SidWiz
  View user's profile Send private message Visit poster's website
Reply to topic



Back to the top of this page

Back to SMS Power!