tldr guide to get it working:
## Step 1: building
you need to build the project (no packages for instance for fedora), but it is easy since build requirements are up to date.
However, i had to use the current master version, since the stable release from 2020 wants a version of ffmpeg which is too old for my fedora.
received some odd warnings, but the game still works
```
Linking ../game/ultrastardx
Warning: "crtbegin.o" not found, this will probably cause a linking failure
Warning: "crtend.o" not found, this will probably cause a linking failure
216888 lines compiled, 10.6 sec
59 warning(s) issued
616 note(s) issued
make[1]: Leaving directory '/home/username/src/USDX/src'
```
## Step 2: starting creative commons songs
For legal reasons, it doesn't contain for instance copyrighted music and similar.
some creative common songs which you can use without much configuration: https://github.com/UltraStar-Deluxe/songs
This is great to understand how real examples work and makes step 3 (the interesting part) easier.
You need to git clone this repository and then start the game with the path to this repo.
```
$ cd ~/src/USDX/game
~/src/USDX/game $ ./ultrastardx -Songpath ~/songs
```
## Step 3: starting with copyrighted music
Basically, ultrastar just loads whatever music file you dropped in the songs folder. So this way, you can also decide if you want to sing based on an instrumential version or if you want to sing along the original song, with the original singer assisting you.
For the text and the notes how high you need to sing, i found this repository which contains both for many popular songs: https://github.com/razzertronic/usdx-songs
but it doesn't work yet, the music file is still missing. Look into the creative commons repository and see which folder structure of the songs are expected (cover, text file and music file is important).
The music file is also referenced in the song.txt file. This file looks for instance like that. `audio.ogg` must exist. MP3 is just the tag name, so the format doesn't matter. the creative commons repositiory also uses some OGG files.
```
#TITLE:Alle nur geklaut
#ARTIST:Die Prinzen
#MP3:audio.ogg
#BPM:159,75
#GAP:12480
: 0 2 64 Ich
```
Also, i found that the music file i downloaded from youtube and the song.txt don't fit perfectly together, the youtube song lags a few seconds behind. TO fix that, i needed to change the GAP value in the song.txt
Another example is: in one Madonna song, i found that one break (short period of silence) was inconsistent to the song.txt.
Anyway, i guess you need to be prepared to spend some time to get each song working. Didn't try it yet, but maybe https://github.com/UltraStar-Deluxe/UltraStar-Creator can help with that.
However, the software itself, and the overall result is **awesome** and very much on the same level as singstar!