ROM Hack RELEASE Add your own Songs to Let's Sing 2019

Dh4rry

Member
OP
Newcomer
Joined
Dec 1, 2018
Messages
6
Trophies
0
Age
36
XP
146
Country
Germany
I found a way to add my/your favorite song to Let's Sing 2019.

You just need to replace the (correct encoded) video file, autio file (in ogg format), cover image (png), a metadata file (in xml) and a vxla File (containing text and notes with timing) via LayeredFS. I replaced the Song "Nothing Compares 2 U" from DLC Content "90s Song pack" for "Let's Sing 2019 mit deutschen Hits" (title id 0100f5c009f83006) successful.

The resulting file structure looks like this:
0100f5c009f83006
└── romfs
├── NothingCompares2U_meta.xml
└── Songs
├── audio
│ └── NothingCompares2U.ogg
├── audio_preview
│ └── NothingCompares2U_preview.ogg
├── covers
│ └── NothingCompares2U.png
├── videos
│ └── NothingCompares2U.mp4
└── vxla
└── NothingCompares2U.vxla

The hard part ist to create the vxla file with all the notes and timings. For that I've scripted a small converter. This script takes a text song file (containing notes, text and timings) from ultrastar (ultrastar is a open source let's sing / sing star clone with tons of songs in the internet) and convert it to the vxla file, needed for let's sing.


You can find the script in my github repo (user dh4rry, repo ultrastar2singIt-Converter). (I can't post hyperlinks)

Optional this script also takes a youtube url as an argument (-yt) and generates the needed media files (audio, video and cover).

Todos:
  • test/support for Windows (actual quick-n-dirty '/' as filesystem seperator)
  • generation of metadata file *_meta.xml
  • find a way to add songs instead of replacing
 
Last edited by Dh4rry,

Dh4rry

Member
OP
Newcomer
Joined
Dec 1, 2018
Messages
6
Trophies
0
Age
36
XP
146
Country
Germany
feedback welcome.

I've added a generation of the Metadata File *_meta.xml. You just need to adjust <Uid>-tag with the Uid from your replaced song. And it seems that there is also something other wrong with this metadata file (maybe the encoding/codepage). So you still need to change a metafile from the game.
Update: Problem was encoding and linefeed and is now fixed. You can use the generated metafile.

In "Let's Sing 2019 mit deutschen Hits" (title id 0100f5c009f83006) there are following songs/song-keys:
  • FridayImInLove (Uid 162)
  • BarbieGirl (Uid 164)
  • Ironic (Uid 166)
  • NothingCompares2U (Uid 161)
  • NeverEver (Uid 160)
Let me know if you used the script with other packs or the base game and which ids/uids for songs are in there.
 
Last edited by Dh4rry,

shabbypenguin

Well-Known Member
Newcomer
Joined
Apr 29, 2015
Messages
84
Trophies
0
Age
36
XP
403
Country
United States
Thank you for your work, here is the link to your repo - https://github.com/dh4rry/ultrastar2singIt-Converter

Let's Sing 2019 (UK) - 0100953009DF8000 - DLC song list

144 AllNightLong
116 AThousandMiles
96 BadRomance
111 BlueMonday
113 BoysDontCry
142 ComeOnEileen
136 CrazyLittleThingCalledLove
133 EverybodyWantsToRuleTheWorld
131 FallingInLoveWithYou
109 HeartOfGlass
115 IWillSurvive
108 MadWorld
145 NoMoney
132 OurHouse
146 PerfectStrangers
143 Reality
135 Sacrifice
141 SweetLovin
138 TaintedLove
80 TakeOnMe
140 Tears
114 TheFear
139 UpsideDown
95 WeWillRockYou
137 Zombie


your file dir tree got messed up by forum's text formatting so i did a quick one based on the base games file locations as an image so it should show. the file setup is different on the DLC's which was the only place I was able to swap out a song previously as well. I hope with some more work and exposure we can get songs added and really enjoy customs.
upload_2019-5-15_10-15-19.png


here is the DLC folder structure. if you wanted to replace wake me up before you go girl in 0100953009df9007 (80's hits pack 2) you would need to alter all these files.

upload_2019-5-15_10-44-32.png
 
Last edited by shabbypenguin,

Dh4rry

Member
OP
Newcomer
Joined
Dec 1, 2018
Messages
6
Trophies
0
Age
36
XP
146
Country
Germany
In the main game is a file called resource.assets. This is a unity asset file containing diffrent assets. These files are editable with AssetBundleExtractor (from github)
This file also contains some databases contianing lists of songs (GameSongDatabase) and also dlc packs (DLCPackDatabase). Till now i don't know how the file structure is or if this is a way to add songs instead of replaceing songs
 

hvdaedalus

Member
Newcomer
Joined
Oct 26, 2009
Messages
5
Trophies
0
XP
28
Country
Gambia, The
you might have found out already, but just to point you in the right direction: GameSongDatabase and DLCPackDatabase are classes used by the game.
 

TheCam

New Member
Newbie
Joined
Oct 2, 2019
Messages
1
Trophies
0
Age
52
XP
44
Country
United Kingdom
I've been looking at ultrastar and vocaluxe, etc, trying to find a decent PC replacement for my old PS3 SingStar.

If Let's Sing can be changed to include any songs like ultrastar, then this might be the one.

However, what is the mic latency like? Windows 10 is notoriously awful for mic latency and both ultrastar and vocaluxe are basically unplayable on my pc. Does Let's Sing suffer from the same issue?
 

LiborNX

Well-Known Member
Newcomer
Joined
Aug 31, 2021
Messages
56
Trophies
0
Age
44
XP
333
Country
Czech Republic
Does this work with recent versions?
Has anyone found a way to add new songs on top of the initial list?
 

naitsa

Well-Known Member
Newcomer
Joined
Oct 29, 2015
Messages
68
Trophies
0
Age
38
XP
330
Country
Gambia, The
Does this work with recent versions?
Has anyone found a way to add new songs on top of the initial list?
I Would be VERY interested in the answers to these questions, too.

On top of that: How do i download/use this script? Sorry im a bit noobish here, but i thought about downloading a zip file from the github page where some sort of startable programm lies. But this seems more difficult. Am I overseeing the "Download Button" or do i have to paste the Code into a textfile in order to run it afterwards? And if so: how do i run this file via windows then? I cant figure this out, but would absolutely LOVE to use this converter

edit: i googled myself into using python scripts now, but i just get error messages nonetheless. Can somebody explain how to use this script please? I absolutely would love to create my own singt it collection from ultrastar.
 
Last edited by naitsa,

LiborNX

Well-Known Member
Newcomer
Joined
Aug 31, 2021
Messages
56
Trophies
0
Age
44
XP
333
Country
Czech Republic
On Windows:
- install the latest Python 3 release
- download the OP's py script to your working folder
- launch Windows PowerShell
- CD to your working folder. Type "python" (no need for "python3" unless you have both python 2 and 3 on your computer)then the arguments as per inscructed in OP's github page
- in case of missing dependencies (missing packages), install them. Still in PowerShell: pip install <package_name>. Then try again with the previous step
 

Omnia

Member
Newcomer
Joined
Nov 15, 2021
Messages
6
Trophies
0
Age
34
XP
41
Country
Brazil
Does this work with recent versions?
Has anyone found a way to add new songs on top of the initial list?
Last time I tried it works with newer versions, all the file formats and structure remains the same.

I actually just looked up this thread again to see if someone made any progress lol I never got to find out how to add extra songs, so what I did was get all DLCs and just replace any lame songs with the ones I made from usdb eu or ultrastar es files.

You can choose to replace files from the DLCs (which is easier) or from the base game, but it gets a little trickier. You can use the same method, putting the Songs folder inside StreamingAssets, but you NEED to have the "resources.assets" file in the Data folder for it to read the swapped files. For some reason image/background files aren't replaced that way, so I used Unity Assets Bundle Extractor to replace album covers, loading and results backgrounds. The thing that bothers me the most with this is that I was not able to change the song name becauses there's no XML files with this info like for the DLCs. I believe the GameSongDatabase inside the resources can be edited to change the names and maybe add new ones, but when I tried to edit this, the game just freezes on loading screen.

Looks like @hvdaedalus managed to edit the file, but doesn't seem to be active anymore.

It's a shame there isn't a modding community around this game like there's for Just Dance.
 

naitsa

Well-Known Member
Newcomer
Joined
Oct 29, 2015
Messages
68
Trophies
0
Age
38
XP
330
Country
Gambia, The
Thanks for your answers. I actually managed to get the Python Script to run. At least i think so. I couldnt test it out, because i don`t know where to "give" the script the needed informations. Where do i put the Youtube-Link and how do i tell the scipt the location of the ultrastar file, that should be converted by it? I`m sorry to ask here again, but i cant find any instructions on that at the github page. There are no instructions in the readme and the instructional Youtube-Video that is linked doesn`t exist anymore.

So i have the working (at least i think that) python script here and i am able to start it using Windows Powershell. I also have a ultrastar file with the notes and stuff to convert. But how do i get the script to convert a file and to get the audio and video out of a youtube video for me now? I guess i have to type the youtube url and the direction of the ultrastar file somewhere? But where? I really would appreciate help, cause i would die for customizing my singstar.
 
Last edited by naitsa,

LiborNX

Well-Known Member
Newcomer
Joined
Aug 31, 2021
Messages
56
Trophies
0
Age
44
XP
333
Country
Czech Republic
Thanks for your answers. I actually managed to get the Python Script to run. At least i think so. I couldnt test it out, because i don`t know where to "give" the script the needed informations. Where do i put the Youtube-Link and how do i tell the scipt the location of the ultrastar file, that should be converted by it? I`m sorry to ask here again, but i cant find any instructions on that at the github page. There are no instructions in the readme and the instructional Youtube-Video that is linked doesn`t exist anymore.

So i have the working (at least i think that) python script here and i am able to start it using Windows Powershell. I also have a ultrastar file with the notes and stuff to convert. But how do i get the script to convert a file and to get the audio and video out of a youtube video for me now? I guess i have to type the youtube url and the direction of the ultrastar file somewhere? But where? I really would appreciate help, cause i would die for customizing my singstar.
https://github.com/dh4rry/ultrastar2singIt-Converter
Instructions: Scroll down and and check out README.md. Look at the line that starts with "Usage:", that's basically the example to follow to type your command in MS PowerShell. As I mentioned earlier, "python" might work for you instead of "python3".
 

naitsa

Well-Known Member
Newcomer
Joined
Oct 29, 2015
Messages
68
Trophies
0
Age
38
XP
330
Country
Gambia, The
https://github.com/dh4rry/ultrastar2singIt-Converter
Instructions: Scroll down and and check out README.md. Look at the line that starts with "Usage:", that's basically the example to follow to type your command in MS PowerShell. As I mentioned earlier, "python" might work for you instead of "python3".

Ah okay. Thank you very much. I tried that and i got the following error message in Powershell:

Traceback (most recent call last):
File "C:\Users\mails\ultrastar2singit.py", line 9, in <module>
from PIL import Image
ModuleNotFoundError: No module named 'PIL'

What does that mean?
 

LiborNX

Well-Known Member
Newcomer
Joined
Aug 31, 2021
Messages
56
Trophies
0
Age
44
XP
333
Country
Czech Republic
Yes, as mentioned earlier you might have to install some packages (pip install <package_name>) especially if you have never used python before. Packages are librairies with reusable pieces of programming that developers use to build their scripts faster... Good news is next time you use a python script that needs the same package, you won't have to install it again.
 

naitsa

Well-Known Member
Newcomer
Joined
Oct 29, 2015
Messages
68
Trophies
0
Age
38
XP
330
Country
Gambia, The
Yes, as mentioned earlier you might have to install some packages (pip install <package_name>) especially if you have never used python before. Packages are librairies with reusable pieces of programming that developers use to build their scripts faster... Good news is next time you use a python script that needs the same package, you won't have to install it again.
Thank you very much. I think i managed to figure everything out theoretically with your help and the help of DH4rry (who helped my via PM great thanks for this) BUT i couldnt manage to install youtube-dl correctly for some reason. I tried everything from extracting the corresponding files from here: https://youtube-dl.org/

I also used the Windows exe from that site and installed Microsoft Visual C++ 2010 Service Pack 1 Redistributable Package (x86) before. I also used: "pip install --upgrade youtube_dl" which worked and now shows that the requirements are already there. But when i type "youtube-dl" in Powershell i still get:

PS C:\Users\mails> youtube-dl
youtube-dl : Die Benennung "youtube-dl" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder
eines ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern
enthalten), und wiederholen Sie den Vorgang.
In Zeile:1 Zeichen:1
+ youtube-dl
+ ~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (youtube-dl:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Suggestion [3,General]: Der Befehl youtube-dl wurde nicht gefunden. Er ist jedoch am aktuellen Ort vorhanden. Windows PowerShell lädt Befehle nicht standardmäßig vom aktuellen Ort. Wenn Sie diesem Befehl vertrauen, geben Sie stattdessen ".\youtube-dl" ein. Weitere Informationen erhalten Sie unter "get-help about_Command_Precedence".

Sorry for the german parts. Thats because my Windows is german. But it translates to: "youtube-dl" wasnt found although it is present at the current directory. Windows Powershell doesnt load Commands usually from this Directory. If you trust this Command type ".\youtube-dl".

When i type this youtube-dl seems to work. But everytime i try to use it as part of the OPs script it gets me this error message again. Does Anyone know how to fix this? Im getting the feeling that im close to getting it running but this youtube package is the last endboss.
 

LiborNX

Well-Known Member
Newcomer
Joined
Aug 31, 2021
Messages
56
Trophies
0
Age
44
XP
333
Country
Czech Republic
Thank you very much. I think i managed to figure everything out theoretically with your help and the help of DH4rry (who helped my via PM great thanks for this) BUT i couldnt manage to install youtube-dl correctly for some reason. I tried everything from extracting the corresponding files from here: https://youtube-dl.org/

I also used the Windows exe from that site and installed Microsoft Visual C++ 2010 Service Pack 1 Redistributable Package (x86) before. I also used: "pip install --upgrade youtube_dl" which worked and now shows that the requirements are already there. But when i type "youtube-dl" in Powershell i still get:

PS C:\Users\mails> youtube-dl
youtube-dl : Die Benennung "youtube-dl" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder
eines ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern
enthalten), und wiederholen Sie den Vorgang.
In Zeile:1 Zeichen:1
+ youtube-dl
+ ~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (youtube-dl:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Suggestion [3,General]: Der Befehl youtube-dl wurde nicht gefunden. Er ist jedoch am aktuellen Ort vorhanden. Windows PowerShell lädt Befehle nicht standardmäßig vom aktuellen Ort. Wenn Sie diesem Befehl vertrauen, geben Sie stattdessen ".\youtube-dl" ein. Weitere Informationen erhalten Sie unter "get-help about_Command_Precedence".

Sorry for the german parts. Thats because my Windows is german. But it translates to: "youtube-dl" wasnt found although it is present at the current directory. Windows Powershell doesnt load Commands usually from this Directory. If you trust this Command type ".\youtube-dl".

When i type this youtube-dl seems to work. But everytime i try to use it as part of the OPs script it gets me this error message again. Does Anyone know how to fix this? Im getting the feeling that im close to getting it running but this youtube package is the last endboss.

You're almost there.

The problem is youtube-dl is not recognized as a command without context (path) which is what happens when called from the py script.

Solution: add youtube-dl.exe to environment variables so that it can be called as just "youtube-dl" by (python) scripts:
Click on the Windows button, type "environment variables" (Umgebungsvariablen), then click on "Edit the system environment variables", "Environment variables", double click on "Path". You should see there several folders that were added by installation programs including Python (allowing you to type just "python" from anywhere to call it in PowerShell)... Click on new and add the path to the folder where you saved youtube-dl, it doesn't have to be the folder where your py script is, it could for instance be "C:\PortableApps\Ytdl\" then OK, OK, OK again.
Now in PowerShell type just "youtube-dl" and see if that works. If not, close all windows of PowerShell and launch PowerShell again that should give you access to refreshed env variables.

Now ytdl should be callable from any script moving forward.
 

naitsa

Well-Known Member
Newcomer
Joined
Oct 29, 2015
Messages
68
Trophies
0
Age
38
XP
330
Country
Gambia, The
Thank you SO much! Now the youtube-dl is working. I even tried it out and was able to download a video with it. But unfortunately the scripts still gets me an error. It says:

PS C:\Users\mails> python ultrastar2singit.py sido.txt -s NothingCompares2U -yt HERE WAS THE YOUTUBE LINK BUT I HAD TO CUT IT HERE BECAUSE THE FORUM EMBEDS THE VIDEO AUTOMAICALLY IN THIS POST OTHERWISE
Usage: youtube-dl [OPTIONS] URL [URL...]

youtube-dl: error: no such option: -:
ffmpeg version N-104583-ge5367b481b-20211118 Copyright (c) 2000-2021 the FFmpeg developers
built with gcc 10-win32 (GCC) 20210610
configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --disable-w32threads --enable-pthreads --enable-iconv --enable-libxml2 --enable-zlib --enable-libfreetype --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-libvorbis --enable-opencl --enable-libvmaf --disable-libxcb --disable-xlib --enable-amf --enable-libaom --enable-avisynth --enable-libdav1d --enable-libdavs2 --disable-libfdk-aac --enable-ffnvcodec --enable-cuda-llvm --enable-frei0r --enable-libgme --enable-libass --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvpx --enable-libwebp --enable-lv2 --enable-libmfx --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-librav1e --enable-librubberband --enable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libsvtav1 --enable-libtwolame --enable-libuavs3d --disable-libdrm --disable-vaapi --enable-libvidstab --enable-vulkan --enable-libglslang --enable-libplacebo --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libzimg --enable-libzvbi --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-ldexeflags= --extra-libs=-lgomp --extra-version=20211118
libavutil 57. 9.100 / 57. 9.100
libavcodec 59. 13.100 / 59. 13.100
libavformat 59. 9.101 / 59. 9.101
libavdevice 59. 0.101 / 59. 0.101
libavfilter 8. 17.100 / 8. 17.100
libswscale 6. 1.100 / 6. 1.100
libswresample 4. 0.100 / 4. 0.100
libpostproc 56. 0.100 / 56. 0.100
tmp/NothingCompares2U.mp4: No such file or directory
ffmpeg version N-104583-ge5367b481b-20211118 Copyright (c) 2000-2021 the FFmpeg developers
built with gcc 10-win32 (GCC) 20210610
configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --disable-w32threads --enable-pthreads --enable-iconv --enable-libxml2 --enable-zlib --enable-libfreetype --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-libvorbis --enable-opencl --enable-libvmaf --disable-libxcb --disable-xlib --enable-amf --enable-libaom --enable-avisynth --enable-libdav1d --enable-libdavs2 --disable-libfdk-aac --enable-ffnvcodec --enable-cuda-llvm --enable-frei0r --enable-libgme --enable-libass --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvpx --enable-libwebp --enable-lv2 --enable-libmfx --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-librav1e --enable-librubberband --enable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libsvtav1 --enable-libtwolame --enable-libuavs3d --disable-libdrm --disable-vaapi --enable-libvidstab --enable-vulkan --enable-libglslang --enable-libplacebo --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libzimg --enable-libzvbi --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-ldexeflags= --extra-libs=-lgomp --extra-version=20211118
libavutil 57. 9.100 / 57. 9.100
libavcodec 59. 13.100 / 59. 13.100
libavformat 59. 9.101 / 59. 9.101
libavdevice 59. 0.101 / 59. 0.101
libavfilter 8. 17.100 / 8. 17.100
libswscale 6. 1.100 / 6. 1.100
libswresample 4. 0.100 / 4. 0.100
libpostproc 56. 0.100 / 56. 0.100
tmp/NothingCompares2U.mp4: No such file or directory
Traceback (most recent call last):
File "C:\Users\mails\ultrastar2singit.py", line 182, in <module>
load_from_youtube(args.yt, output_file)
File "C:\Users\mails\ultrastar2singit.py", line 135, in load_from_youtube
os.rename("tmp/" + name + "no_audio.mp4",
FileNotFoundError: [WinError 3] Das System kann den angegebenen Pfad nicht finden: 'tmp/NothingCompares2Uno_audio.mp4' -> 'titleid/romfs/Songs/videos/NothingCompares2U.mp4'

Now i came this far, i dont want to quit. Any ideas what is wrong here?
 
Last edited by naitsa,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    OctoAori20 @ OctoAori20: Nice nice-