ROM Hack RELEASE Taiko song inserter

  • Thread starter Thread starter EmEE
  • Start date Start date
  • Views Views 72,820
  • Replies Replies 121
  • Likes Likes 25
When I extract the update I only get exefs contents...

.\hactool -k keys.txt -t nca --baseromfs romfs.bin --titlekey=075E5DF1D08CD6948ED1BD2E0****** --exefsdir=exefs --romfsdir=romfs update.nca

I generated an updated romfs first with --section1 and then extracted romfs from that.

.\hactool.exe --basenca=base.nca --section1=updateromfs.bin .\update.nca

Update on the tool, I've got dlc working, and all the other wiiu games work out of the box with the current script. However this puts the song count above the limit. I am working on a UI to disable or delete songs right now.
 
Last edited by EmEE,
I generated an updated romfs first with --section1 and then extracted romfs from that.

.\hactool.exe --basenca=base.nca --section1=updateromfs.bin .\update.nca

Update on the tool, I've got dlc working, and all the other wiiu games work out of the box with the current script. However this puts the song count above the limit. I am working on a UI to disable or delete songs right now.

Ok, I've got update working, but how about DLC? I get AocData.bin which has txt inside
 
Ok, I've got update working, but how about DLC? I get AocData.bin which has txt inside
Extracting DLC is not necessary. The update contains all the dlc songs and databases. That's why I can enable the unreleased Senbonzakura and Vocaloid songs.
 
  • Like
Reactions: Syaro_c
Sorry this has taken a while. Making a GUI is hard so now the script exports a csv file you can open with Excel and remove lines from to delete songs. I have updated a v2 in the initial post to add support for WiiU1/2 and all the WiiU games DLC. A song in WiiU3 DLC does not work on the switch: MIKUKG or Kagerou Daze because of the nus3bank not working. I have blacklisted that song for now. Please let me know if this happens on any other songs, as I have not tested every single song.

This has also fixed a bug where the Ura difficulty songs were not copied correctly.
 
Sorry this has taken a while. Making a GUI is hard so now the script exports a csv file you can open with Excel and remove lines from to delete songs. I have updated a v2 in the initial post to add support for WiiU1/2 and all the WiiU games DLC. A song in WiiU3 DLC does not work on the switch: MIKUKG or Kagerou Daze because of the nus3bank not working. I have blacklisted that song for now. Please let me know if this happens on any other songs, as I have not tested every single song.

This has also fixed a bug where the Ura difficulty songs were not copied correctly.
The Vocaloid pack was officially released on 9/13, Does the 1.0.3 contain anything else that haven’t been released yet?
 
The Vocaloid pack was officially released on 9/13, Does the 1.0.3 contain anything else that haven’t been released yet?
The script should enable all the dlc songs in all the updates including the exclusive songs. I have not believe there are any other songs.

that sounds really great but do you have a tuto or Something ?

Use hactool to extract the switch game with the newest update and put it into a folder called switch. Use CDecrypt to extract any WiiU game files you own to their respective folder 'wiiu1, wiiu2, wiiu3' and any DLCs to 'wiiu1dlc, wiiu2dlc, wiiu3dlc'. Run the first musicinfo.py script with Python3 to generate a romfs for use with layeredfs on the switch. The script will notify you if you have passed the high limit on the number of songs. In this case, modify the csv file to delete rows of songs you wished to have removed until you are below 196 rows. Then you can run the trimmer script to delete the songs you have marked as remove to remove them from the romfs files for a while romfs to use with layeredfs.
 
  • Like
Reactions: Mambila2001
The script should enable all the dlc songs in all the updates including the exclusive songs. I have not believe there are any other songs.



Use hactool to extract the switch game with the newest update and put it into a folder called switch. Use CDecrypt to extract any WiiU game files you own to their respective folder 'wiiu1, wiiu2, wiiu3' and any DLCs to 'wiiu1dlc, wiiu2dlc, wiiu3dlc'. Run the first musicinfo.py script with Python3 to generate a romfs for use with layeredfs on the switch. The script will notify you if you have passed the high limit on the number of songs. In this case, modify the csv file to delete rows of songs you wished to have removed until you are below 196 rows. Then you can run the trimmer script to delete the songs you have marked as remove to remove them from the romfs files for a while romfs to use with layeredfs.

there is no Content folder for wiiu1dlc and wiiu2dlc
only have aoc*****
 
there is no Content folder for wiiu1dlc and wiiu2dlc
only have aoc*****
This is DLC from the first and second WiiU game, not the Switch games. You should are be able to decrypt the titles with CDecrypt_v2.0b.exe .\title.tmd .\title.tik
 
This is DLC from the first and second WiiU game, not the Switch games. You should are be able to decrypt the titles with CDecrypt_v2.0b.exe .\title.tmd .\title.tik

thanks for all your help so far.

your trimmer doesn't seem to work for me?

File "trimmer.py", line 37, in <module>
for row in reader:
UnicodeDecodeError: 'cp932' codec can't decode byte 0x93 in position 49: illegal multibyte sequence

I added UTF-8 and it completed returning "98" (193 line csv) but i'm missing all songs from variety in-game
 
thanks for all your help so far.

your trimmer doesn't seem to work for me?

File "trimmer.py", line 37, in <module>
for row in reader:
UnicodeDecodeError: 'cp932' codec can't decode byte 0x93 in position 49: illegal multibyte sequence

I added UTF-8 and it completed returning "98" (193 line csv) but i'm missing all songs from variety in-game
Are you on Python 3? Please upload your csv for me to try.
 
"File "E:\Switchgames\taikov2\musicinfo.py", line 48, in <module>
import xmltodict
ImportError: No module named 'xmltodict'"

Argh, what am I doing wrong? I extracted the switch game and the wii u games in their own folders. In the switch folder I have romfs.bin and an exefs folder, and in the wiiu1 folder I have code,content and meta folders.

EDIT: I did something else, now I have exefs and romfs folder in the switch folder, but I still get the same error.
 
Last edited by Slushyberry,
"File "E:\Switchgames\taikov2\musicinfo.py", line 48, in <module>
import xmltodict
ImportError: No module named 'xmltodict'"

Argh, what am I doing wrong? I extracted the switch game and the wii u games in their own folders. In the switch folder I have romfs.bin and an exefs folder, and in the wiiu1 folder I have code,content and meta folders.

EDIT: I did something else, now I have exefs and romfs folder in the switch folder, but I still get the same error.

Run in CMD pip install xmltodict
 
  • Like
Reactions: Slushyberry
can any1 here explain/make a video on how to use this tool? i have 0 experience with anything and only JUST installed SX OS on my switch. Also if its possible to install songs from the other consoles without having the game/console (as in download from a website and just upload the song file to my SD card). If you could also link me to the website that would be gr8. PM me on discord: WinJ#3067

Edit: I ended up getting some help from discord but for some reason taikov2 isnt giving me datatables file (taikov1 is though) any ideas?

Edit2: I got this error code:
Code:
  File "musicinfo.py", line 469, in <module>
    parseWiiuMusicInfo(song, game + '/content/wiiu', wiiu23GenreSwap)
  File "musicinfo.py", line 286, in parseWiiuMusicInfo
    shutil.copy(songPath + '/' + song['songFileName'] + ".nus3bank", 'romfs/Data/NX/sound/')
  File "shutil.py", line 241, in copy
    copyfile(src, dst, follow_symlinks=follow_symlinks)
  File "shutil.py", line 120, in copyfile
    with open(src, 'rb') as fsrc:
FileNotFoundError: [Errno 2] No such file or directory: 'wiiu2/content/wiiu/sound/SONG_FPARTY.nus3bank'

Edit3: was missing some files for some reason - I just redownloaded the wiiu2 folder
 
Last edited by winj,
There was a 1.0.4 update released by SUXXORS and since then, I can't use this script anymore. Have tried making some changes but with no success.
 

Site & Scene News