DeepYouTube

In the end of August I introduced a new SID handler in DeepSID. But not just another emulator – this one allows you to play YouTube videos. This was something I added after I recently discovered that YouTube actually has an IFrame API that allows you to control YouTube videos using my own controls.

I made sure to make a full package out of it in the first release. Each SID row has support for up to five tabs, each with their own YouTube video, and a context menu option makes it possible to edit these tabs and even set one as the default. Even the individual subtunes of a SID row can have their own set of tabs.

Later I also added support for the ?t=123 time switch.

One of the final touches I added before releasing it was to make sure all SID rows were disabled until one or more YouTube videos were present. This instantly spawned a dark ocean of silent SID rows everywhere. Time to start adding YouTube videos. I eagerly flexed my fingers – and then it dawned upon me.

There are tens of thousands of SID rows, and I have to add this manually. 🙄

Other features for DeepSID have had logical connections to automate the task, like the SID pages in CSDb or the Remix64 API, both of which have HVSC paths to link all of the tunes. However, there is just no such luck connecting to the YouTube videos. Even the largest collection of SID videos, the Unepic SID Channel, doesn’t list any obvious paths to HVSC, even though most of it have been recorded from there.

To approach this the right way, I decided to start adding videos to the most prominent composers first, e.g. Rob Hubbard, Martin Galway and Jeroen Tel, perhaps also a few of the most renowned demo composers as well. To help make the process easier, I made sure the dialog box always suggests a handful of the most common YouTube sources, ready for clicking their search buttons to open new web browser tabs.

YouTube Channels

It didn’t take long before I became aware of the features of the YouTube landscape.

Unepic SID Channel

As mentioned before, the Unepic SID Channel by Mr. Mouse is by far the biggest collection of SID videos, and they’re all recordings from real C64 hardware. But it does have its issues too.

Probably the most obvious one is that the videos are not animated at all.

That a tune I’m searching for might not be in the collection is fair enough. At the time of typing this, There are more than 54000 tunes to cover in HVSC alone, and the channel also covers the tidbits outside of it. It’s a lot of ground to cover and I’m already impressed about the amount of videos recorded so far.

But even so, there are odd exceptions that I have been wondering about. Take Rimrunner, for example. As I scroll down the list it appears quite complete. All the subtunes are there. But wait. Where’s the title tune? The title tune is the first one and also the one you’d really want to hear from that game.

Yet, it is conspicuously missing.

Never mind if only this had been the odd one out – but the thing is, I have noticed this happen in subtune lists for several games. All the subtunes are there, except the title tune.

I wonder if those title tunes were hit with YouTube’s copyright bat?

Most of the recordings of digi tunes from legendary game composer such as Rob Hubbard and Martin Galway had problems. It was as if they had been recorded on a 8580 SID chip, lowering the volume of the digi part to be almost inaudible. For this reason I skipped most of them and relied on alternative videos. However, this problem seems to have been rectified in the recordings for newer SID tunes.

But by far the most annoying problem that pops up from time to time is how some of the videos just never bother to start. Like, never. It’s almost as if YouTube has acknowledged that this particular tune has not been played for a certain period of time, and since the channel has thousands of videos, they decided to bury it in a vault beneath the Gobi Desert. I bet Mr. Mouse have been wondering about this too.

UPDATE: It seems the above is a hack by Google. Some videos refuse to start in Firefox but start instantaneously in Chrome. In fact, starting videos generally seem conspicuously faster in Chrome.

Most of the time the videos have subtune numbers, making it easy to match the subtunes in DeepSID, but sometimes these are missing only to show a list of videos with the same names. If there was a really large number of subtunes, this could sometimes make me disqualify the channel completely for that SID row, only relying on other channel videos. I’m here to add video links, not play a guessing game.

The Oscilloscope videos

This is a popular type of SID video where an oscilloscope generator has been used to animate the voices of the SID chip, sometimes even digi channels. Probably the most common is acrouzet, with a few good hits on the side by e.g. Rolf R Bakke, psc and suzuki liana ddis.

But there are many contributors – it’s like colored LEGO bricks spread out among each other.

This visualizer technique is probably the most interesting one to look at, and for that reason I always tend to prioritize an oscilloscope video as the default tab, whenever one is present for any subtune.

EverythingSid

The videos from EverythingSid have their own visualizer with a scrolling magenta “tapestry” and a few other graphs. I was impressed by the coverage for the most popular game composers, but as I soon as I turned to demo composers, it didn’t quite live up to its name anymore.

Let’s hope there will be more coverage in the future.

Apart from a slightly lower volume, all of their recordings are pretty much flawless. I have never spotted a digi tune that sounded wrong. I’m not crazy about the overly detailed visualizer, but I guess that’s just a personal opinion. I absolutely prefer the oscilloscope videos for SID tunes.

Demoscenes

The demoscenes channel is managed by Xiny6581 and primarily deliver tunes from e.g. demos, intros and competitions. The videos are mostly big and colorful with just a subtle amount of animation.

Just like Unepic SID Channel, this one also promises to only use real hardware. For that reason I often set it to be the default tab if there are no oscilloscope videos available.

Other contributors

Sometimes the odd channel pops up with a rare tune when the ones above fail to deliver, saving the SID row from remaining disabled. These can be e.g. Demoscene ‘n’ Stuff, C64!, Kuokka77 and many others. Some have their own graphics, some are recordings of the production it is used in.

There was also a topic channel that frequently delivered stereo versions of Rob Hubbard’s tunes. But alas, only for Rob Hubbard’s tunes – nothing else.

Real hardware or emulation

One thing that quickly bothered me was that the video author doesn’t always state whether the recording came from a real C64 or an emulator. I knew that some channels could be trusted to always deliver the real deal, such as Unepic SID Channel and demoscenes, but when it came to almost everyone else…

I had this idea that because DeepSID was already so obtrusive in the emulator department, it could be nice if the YouTube videos could deliver the real thing whenever possible. Maybe it could also make DeepSID interesting to those that never liked emulators to begin with. But sometimes when the top dogs fail to deliver, I have to settle with the scraps I can get. It’s still better than a disabled SID row.

That little something extra

Apart from adding SID videos directly corresponding to the SID rows, I decided to make full use of YouTube as a source of information. For cover songs, I often look up the real thing and add a link to it in an Original Song tab. A theme from a musical or a movie gets an Original Theme tab. Conversions can be the original piece from another console or computer, e.g. Original MOD or just Amiga for that type of computer.

Later, I even starting adding Game tabs too. Whenever possible, I try focusing this on walkthrough videos playing the entire game. It makes a lot of sense to do this. Typically the game starts with the title screen tune making the tab perfect for that spot, and the game player making the video is often patient enough to let it play for quite a while too. It also gives the opportunity to see how the soundtrack fits the game.

Unfortunately, it’s more problematic regarding demos. It only works really well if the SID row plays a tune that is used as the first tune in the demo. If it comes later, there would irrelevant tunes playing before that. Sure, the time switch could then be used to teleport to the spot where the proper tune starts, but would you want to watch a demo video that starts right smack in the middle?

Still, I’m not opposed to using a Demo tab – I just don’t think it always works.

Timing it right

It didn’t take long until I needed the ?t=123 time switch and added support for it. This can be appended to the video ID in the dialog box and the YouTube video then starts from this spot. If you stop and then play it again, it will start from the absolute beginning – but I think that’s okay.

Sometimes that may be exactly what you want.

It turned out the time switch is handy for so many odd situations. The most useful is for those oscilloscope videos from e.g. acrouzet where the full soundtrack for the subtunes of a SID row is chained together. The downside is that it’s a lot more work adding such links. It’s still better to have separate videos.

Also, I stumbled upon an odd sort of a bug regarding the first subtune from the start of the video. Choosing another subtune from a later point then returning to the first subtune again sometimes teleported it to a completely random spot in the video. Luckily, I found a hack to deal with that one. Simply add ?t=0.01 to the video ID and the randomization stops.

Another situation I found it useful for was for those procrastinating videos. For some reason, a few of the videos from the Unepic SID Channel would delay for half a second or more. A switch with a fractional time would make it start immediately. And then there were those videos where you see the entire loading and unpacking performed on a C64 before getting to the action. Another handy place for a time switch.

Leave a Reply