Step 1: Getting a DLC Template and files needed - despairoharmony/TaikoVDLCBuilder GitHub Wiki
What do you need:
- A Decrypted DLC dump from Taiko no Tatsujin V Version (to decrypt a DLC, see this)
- If you are going to import songs from other Taiko games: You need to have the decrypted games files first.
- If you are going to add a custom song from a TJA: You may need a TJA -> Fumen converter (download here, join the discord for more info | or use Okku)
- Fumen endianess converter (needs python, available here)
- vgmstream (available here)
In this tutorial, we are going to convert the song "Kaikai Kitan", avaible on Switch Drum'n'fun.
Creating the folders to work
After extracting the DLC Builder, you need to create some folders, first make a "Data" folder.
Then inside this "Data" folder create a "Songs" folder
Here in "Songs" folder we are going to paste our DLC Template that we got, just a reminder: if you song has Ura dificulty, get a DLC with Ura dificulty, the same goes with custaom dancers (like Miku)
Now we rename it, usually I use the song name as the name of the folder, but it's up to you
Grabbing the files needed
Now we are getting the files needed to make our DLC, but first we need to know what is the songID of the song we are converting, it usually contais 6 or less characters, in this case the songID we are looking for is "evekai". If you are making a song from TJA conversion, then it's up to you decide the songID.
Fumen
In most games we can find the fumen (chart) files inside the "fumen" folder, followed by a folder with the songID name
We are going to see the fumen files
Now we select only "solo" fumens, which are the ones without _1 and _2 on their names
Copy them to some location, we are going to work more with these files on the next steps.
If you are getting your fumen files from Wii U games, or from the 3rd Generation Arcade (Namco 357), you may need to convert their endianess, because V Version only supports Little Endianess fumen. So we are going to use a python script to convert their endianess to the right one:
py taiko_endianess_script.py bl [input].bin [output].bin
Also if you are curious how dificulties is sorted, here are some definitions:
File Name | Difficulty |
---|---|
[songid]_e.bin | Easy / Kantan |
[songid]_n.bin | Normal / Futsuu |
[songid]_h.bin | Hard / Muzukashii |
[songid]_m.bin | Extreme / Oni |
[songid]_x.bin or ex_[songid]_m.bin | Extreme Ura / Ura Oni |
If your song has Ura difficulty and has this name template: "[songid]_x.bin", you must rename with this template: "ex_[songid]_m.bin"
Audio file
In most games, audio sources are located under "sound" folder, and they inside a .nus3bank container (or .nub in Wii and 3rd Gen Arcade cases, and .naac in 3ds cases)
We are going to copy the file from the song we want
And paste it into vgmstream folder, then to extract the raw file by just running this command (or drag and drop into vgmstream executable):
vgmstream.exe SONG_[songid].nus3bank
In most encodings you are fine to go with the .wav file provided, but there are some exeptions that need some editing:
If you get the sound from PS4 or Nijiro, then it's a BNSF sound format and have a 20ms positive delay
If you get the sound from 3DS, then it's a AAC sound format and have a 30ms negative delay
Also if you are curoius about the songs encodings by each game, here it's a table:
Source | Format | Sample Rate | Bitrate | Delay |
---|---|---|---|---|
Wii U | IDSP | 44,1khz | 403kbps | |
PS4 / Namco BNA1 | BNSF | 48khz | 256kbps | +20ms |
Namco 357 | AT3 | 44,1khz | 256kbps | |
PS Vita | AT9 | 48khz | 192kbps | |
Switch (Drum'n'fun) | OPUS | 48khz | 166kbps | |
iOS | M4A | 44,1khz | 131kbps | |
Switch (Rhythmic Adventure) | OPUS | 48khz | 99kbps | |
3DS | AAC | 32khz | 96kbps | -30ms |