-
-
Notifications
You must be signed in to change notification settings - Fork 20
Separation Providers
Traditionally, Singstar/Ultrastar uses the music video of a song as the audio track. Real karaoke was not possible. This is mostly due to availability: a song having an official vocals-less version is rare. The timing would have to be the exact same to match up with the lyrics/music video.
However, AI makes it possible to "split" an audio file into a vocals and an instrumentals track. From V1.1.0 on, the ultrastar format standardizes tags for a game to find these tracks. At the time of writing, USDX and Ultrastar Play/Melody Mania support this. So all we need to do is actually run the AI separation.
Running AI reliably on a wide array of user machines is tricky. Some users may benefit greatly from using CUDA or other GPU acceleration. Others may prefer a cloud upload to allow separation at all. We have chosen a modular approach that allows for all of these needs to be met.
- You need a separation provider. We have developed a reference provider that utilizes demucs: https://github.com/bohning/usdb_syncer_separation. Follow the steps of your provider to download/build the executable you need. Place the executable in a folder of your choosing.
- Enable the separation checkbox in the Syncer Settings. Select the executable you just downloaded/built. Click "Info" and check that everything is as expected.
- Select the model you wish to use. Consult the documentation of your provider for which model is preferred.
- Select the number of simultaneous splits. Local separation is incredibly taxing, so we recommend starting with a low value.