TaikoPythonTools/TaikoNus3bankMake
2024-06-25 15:35:15 +01:00
..
bin Overhaul nus3bank tool 2024-05-06 00:14:36 +01:00
templates Overhaul nus3bank tool 2024-05-06 00:14:36 +01:00
nus3bank.py Consolidate all code into one main script 2024-06-25 15:35:15 +01:00
README.md Update README.md 2024-05-06 00:26:02 +01:00

Taiko no Tatsujin - Nus3bank Creation Tool

Python 3 scripts that converts audio to a Taiko no Tatsujin compatable .nus3bank file.
Accepted file types: .mp3, .wav, .flac and whatever else pydub supports.

usage: conv.py [-h] [input_audio] [audio_type] [game] [preview_point] [song_id]

Convert audio to nus3bank

positional arguments:
  input_audio    Input audio file path.
  audio_type     Type of input audio (e.g., bnsf, at9, idsp, lopus).
  game           Game type (e.g., nijiiro, ns1, ps4).
  preview_point  Audio preview point in ms.
  song_id        Song ID for the nus3bank file.

By default includes support for Taiko no Tatsujin Wii U 3, NS1, PS4 and Nijiiro.
Support for other Taiko no Tatsujin games that use .nus3bank can be added in the future.

Prerequisites

Python 3.12.3 or newer installed.
Python 3 Module pydub pip install pydub

Supported Audio Formats

Audio Format NS1 PS4 WIIU3 Nijiiro
WAV (PCM)
BNSF (IS14)
Nintendo OPUS
Nintendo IDSP
Sony AT9

Known Limitations

It seems that if a IS14 BNSF .nus3bank file is too long/too large in size, then it'll fail to play in "Song Select", even if the "Preview Point" is properly set.

Due to the limitations of the format, IS14 only supports MONO audio and a rather low bitrate. As a result, the audio quality is rather low.

When it comes to Song ID:
Nijiiro can have Song IDs ranging from 3 to 8 characters.
Wii U, PS4 and NS1 can only have Song IDs ranging from 3 to 6 characters.
Exceeding this will result in an error.

Tools Used

at9tool - Used to convert audio to the Sony AT9 format.
VGAudioCli - Used to convert audio to Nintendo IDSP and Nintendo OPUS.
G.722.1 Reference Tool - Used to convert audio to Polycom Siren 14

Special Thanks

Steam User descatal for writing this guide on how to create/encode bnsf files.
korenkonder for compiling the G.722.1 tool used in this project.
Kamui/despairoharmony for some of the Nijiiro .nus3bank template research.