PerformVR

PerformVR

 This topic has been pinned, so it's probably important
phr00t  [developer] Feb 7, 2022 @ 7:25pm
Autogeneration: Tips & FAQ
What is so special about the autogeneration?

PerformVR uses something called "VAMP Plugins"[vamp-plugins.org] that provide tools for advanced musical analysis. University researchers developed tools to learn all sorts of nifty things automatically given an audio track, and I've turned that into making cool dances & karaoke maps for your favorite songs in VR. This means PerformVR knows more about your song than your typical rhythm game, and can make something much more interestingly tied to the music.

I don't like how it worked on a certain song!

Musical analysis isn't an exact science, and beatmaps designed by humans are always best. However, finding a human to do your song at the difficulty you want can take a long time (if ever). So, automatically done gets results, but does have some marginal limitations.

When PerformVR gets something wrong, it usually is measure detection which is the trickiest to detect. This usually goes 1 - 2 - 3 - 4 - 1 - 2 - 3 - 4.... and PerformVR wants to know when the "1" beats are hitting. Pausing a game by pressing the "B" button can let you manually set this "1st" beat, which you press the Grip when you hear it.

If that doesn't help, maybe the beat offset is off. Try doing "Fix Offset by Half Beat".

Finally, you can try changing the BPM too, but this is almost always accurate.

Songs that change tempo, change their beat offset or measures mid-song are not supported, as they are far too difficult to get right. Fortunately the vast majority of songs do not do these things.

Why does it take so long to start a song?

All that heavy musical analysis takes time! I use about 7 different "VAMP" Plugins to look over a song and generate a profile which is used for beatmapping and karaoke. Fortunately you only need to do this once for each song, as results are saved. Even if you change Difficulty or Game Modes, full analysis doesn't need to happen again.

Long songs can take much longer to process. A typical 3 minute song, depending on your hardware, takes around 20 seconds to process.

Karaoke vocals are messed up!

This one really depends on the song and what kinds of instruments are used. I use a combination of Spleeter and VAMP Plugins to extract vocals, which do their best. Unfortunately, some instruments can trick these tools into thinking they are vocals. If you have a song that has this happening, I recommend humming to those parts to get that part scored. Rarely, quick vocals will be missed, but these won't affect your score.

Pitch extraction and pitch detection from your microphone is generally spot-on, though. Fortunately, vocal extraction does work well for most songs.