Hacking Easy Nus3bank Editor With GUI

MikauWind

New Member
Newbie
Joined
Jul 12, 2014
Messages
3
Trophies
0
Age
24
XP
100
Country
United States
Note: Windows only though it might work through wineskin
Features:
  • Quick unpacking of .nus3bank files
  • Lists the .idsps (tracks) from the .nus3bank
  • Allows you to select any number of them and replace with any WAV, OGG, BRSTM, BCSTM, or BFSTRM file that is automatically converted to idsp and replaced in the opened nus3bank
  • Easy to use GUI, no need for repetitive command line tasks
  • NOTE: This does not allow you to add music slots.
Future features I am looking into:
  • Looping support (Can be done with a looping BRSTM at the moment)
  • Sound previewing (Can be done with foobar and vgmstream)
  • Other minor features
If you are familiar with the idsp file format or can point me to some documentation that would greatly help. Right now due to the lack of looping this is not very amazing for music but it is very good for SFX. If you want to use a custom idsp with this tool hit replace then select the file type idsp instead of wav.

Usage:
Install Python 2.7 if you don't already have it. Unzip into any directory. Run _NUS3BANK Editor.pyw Hit file > open and select the nus3bank you want to edit. A list of idsp's should pop up. Select as many as you want then hit replace and select the WAV, OGG, BRSTM, BCSTM, BFSTRM or IDSP you want to replace that sound with.

5ff1Lyx.png

N8T3nSI.png

JnMsjJO.png

Functions of things:
  • File > Open NUS3BANK - opens the nus3bank for editing
  • Replace button - replace all selected idsps with a WAV, idsp, ogg, brstm, etc.
  • Open IDSP button - open first selected idsp in default program (suggestion: foobar2000 with vgmstream plugin) if you have not assigned a program it will prompt you to pick one.
  • Export to WAV button - export all selected IDSPs to /nus3bankeditor/<Name of *.nus3bank>/<name of *.idsp>.wav
  • Open as playlist button - opens a playlist of idsps in the .m3u format


Feel free to report any bugs, issues, or suggestions you have here. I just want to make this as useful for you guys as possible.
Thanks to Y.2.K. for helping me out with testing.
Huge thanks to Soneek for the backbone of this tool.
Thanks to BlueDan for adding a lot playlist support and better error handling.

Edit 5/14/2016: Version 1.1 has been uploaded, download link has been updated. Fixed some issues with renamed nus3bank's not properly opening, added the ability to import idsp's and a few smaller bug fixes.
Edit 5/15/2016: Version 1.3 has been uploaded, download link has been updated. Added support for BRSTMs, BCSTMs, BFSTMs and OGGs. Added more debugging related features. Fixed bugs nobody cares about.
Edit 5/18/2016: Version 1.5 has been uploaded, download link has been updated. Added the ability to open idsps from within the tool through the default IDSP opener. To set this up install a something that can listen to idsps (example: foobar2000+vgmstream) and open an idsp in any way, when prompted select open with foobar (or whatever program you want)
Edit 5/21/2016: Version 1.6 has been uploaded, download link has been updated. Added an "Export to WAV" option. Just select the IDSPs to export and hit the button and it will export to /nus3bankeditor/<Name of *.nus3bank>/<name of *.idsp>.wav this does support doing multiple at once.
Edit 5/22/2016: Version 1.7 has been uploaded, download link has been updated. Added playlist support (and open in playlist option) by BlueDan. Also fixed a bug with certain nus3banks not properly opening.
Edit 5/25/2016: Version 1.8 has been uploaded, download link has been updated. Added better error handling by BlueDan.
Edit 5/30/2016: Version 1.96 is the current download.
The Download is gone...
 

BeardlyBeano

Member
Newcomer
Joined
Jan 10, 2016
Messages
11
Trophies
0
Age
33
XP
61
Country
United States
I'm on it, should be good soon, I didn't fix something properly, sorry for that.

EDIT: fix (1.9beta) @FlappyFalco @Relrel @MeowMixSSB @JesuCristoCROW @Roger Reynoso

Changes:
  • fixed opening NUS3BANK files
  • additional warnings
  • fixed multiple file replacement
  • added a confirmation window for file replacement

Any chance we could get the option to use 1.9b? Link is dead and I would prefer to use it at this point..

I've tried using 2.2 pre to export the .idsp files for character voices and over half of them won't export properly. For example, trying to pull Yoshi's vc bank to do some effects and then replace, but all of the appeals come out has empty files with an error message in Foobar that says this:

Code:
Decoding failure at 0:00.000 (Unsupported format or corrupted file):

Exporting to .wav also produces a blank file... I'm really hoping I'm not missing something obvious here.
 

BeardlyBeano

Member
Newcomer
Joined
Jan 10, 2016
Messages
11
Trophies
0
Age
33
XP
61
Country
United States
Many idsp tracks are indeed empty.
Okay but let's talk about the Yoshi example I used... All of his "appeals", what would be the voice for his taunts, come out empty. Yoshi has voice lines for all 3 taunt variations and this script for some reason is unable to export any of them. What could possibly be causing this? Even when using some more recent voice swaps for Yoshi, I've noticed that despite the .idsp files having sounds on the "appeal" files, some other sound is what actually gets played during taunts.

Hence why my initial question was just looking for a 1.9b download, my understanding is that this build did not had the same issues with exporting character voices, but I could be mistaken. Either way, I'm just trying to narrow down what potential problems could be here, and trying another version seems like a logical step to do that.
 
Last edited by BeardlyBeano,

BDS

Well-Known Member
Member
Joined
Jan 7, 2016
Messages
179
Trophies
0
XP
297
Country
France
Code:
  [0x1] snd_vc_Yoshi_002
  [0x3] snd_vc_Yoshi_004
  [0x6] snd_vc_Yoshi_007
  [0x7] snd_vc_Yoshi_008
  [0x8] snd_vc_Yoshi_009
  [0x9] snd_vc_Yoshi_010
  [0xa] snd_vc_Yoshi_011
  [0xb] snd_vc_Yoshi_046
  [0xc] snd_vc_Yoshi_047
  [0xd] snd_vc_Yoshi_048
  [0xe] snd_vc_Yoshi_049
  [0xf] snd_vc_ouen_Yoshi
  [0x10] snd_vc_Yoshi_Appeal01
  [0x11] snd_vc_Yoshi_Appeal02
  [0x12] snd_vc_Yoshi_Appeal03
All these are the same 17ms mono track.

Code:
  [0x18] snd_vc_Yoshi_Attack06
  [0x2a] snd_vc_Yoshi_Win01
Code:
  [0x14] snd_vc_Yoshi_Attack02
and probably some combination (quick succession) of multiple others are the voice clips used for Yoshi's taunts.

When I grouped multiple titles it means they're literally the same on the unmodded file, and with currently released scripts, I'd advise to edit all tracks of the same group the same way if you don't want surprises.

For Yoshi, the other groups are the following:
Code:
  [0x2] snd_vc_Yoshi_003
  [0x15] snd_vc_Yoshi_Attack03
  [0x2b] snd_vc_Yoshi_Win02
Code:
  [0x13] snd_vc_Yoshi_Attack01
  [0x2c] snd_vc_Yoshi_Win03
Code:
  [0x1c] snd_vc_Yoshi_Damage01
  [0x1f] snd_vc_Yoshi_DamageFly02
All other tracks are Independent from one another.

(This group thing might get clearer when the rewrite gets released)
 

BeardlyBeano

Member
Newcomer
Joined
Jan 10, 2016
Messages
11
Trophies
0
Age
33
XP
61
Country
United States
I'm having some issues injecting .wav files into it... Looks like it isn't even attempting to convert the file, something strange is happening that's interrupting the process.

Code:
Python2 imports
Attempt 1: no decoding
Attempt 1: no decoding
Workspace: C:\Users\xxx\Desktop\Sm4sh Mods\NUS3BANK-Editor-master\tmpspace
Workspace: C:\Users\xxx\Desktop\Sm4sh Mods\NUS3BANK-Editor-master\tmpspace\636
Workspace cleared
Unknown content type GRP
475:0x1db:"snd_bgm_Z01_F_Mario"
        0x0:Z01_F_Mario
0
nus3bank extraction: success
Attempt 1: no decoding
C:/Users/xxx/Desktop/Victory Final/0x0-Z01_F_Mario.wav copied to local file tmp.wav
failed opening C:\Users\xxx\Desktop\Sm4sh Mods\NUS3BANK-Editor-master\tmpspace\636\tmp.wav
Replace: cancelled
 

BDS

Well-Known Member
Member
Joined
Jan 7, 2016
Messages
179
Trophies
0
XP
297
Country
France
Code:
Attempt 1: no decoding
This isn't about audio encoding, but character encoding for the path to files.
Code:
failed opening C:\Users\xxx\Desktop\Sm4sh Mods\NUS3BANK-Editor-master\tmpspace\636\tmp.wav
When the error happens, does tmp.wav actually exist?
Can you try entering the command:
Code:
"path to vgmstream.exe" -b -l1 -d0 -f0 - o "path to output.wav" "path to input .wav"
replacing "path to stuff" by full path to wanted file (ex: "C:\Users\xxx\Desktop\Sm4sh Mods\NUS3BANK-Editor-master\exeLib\vgmstream.exe")? There could be chars in "xxx" that vgmstream doesn't support, so depending on results you might need to move the Nus3Bank Editor folder somewhere outside of C:\Users\xxx.
 

BeardlyBeano

Member
Newcomer
Joined
Jan 10, 2016
Messages
11
Trophies
0
Age
33
XP
61
Country
United States
This isn't about audio encoding, but character encoding for the path to files.

When the error happens, does tmp.wav actually exist?
Can you try entering the command:
Code:
"path to vgmstream.exe" -b -l1 -d0 -f0 - o "path to output.wav" "path to input .wav"
replacing "path to stuff" by full path to wanted file (ex: "C:\Users\xxx\Desktop\Sm4sh Mods\NUS3BANK-Editor-master\exeLib\vgmstream.exe")? There could be chars in "xxx" that vgmstream doesn't support, so depending on results you might need to move the Nus3Bank Editor folder somewhere outside of C:\Users\xxx.

The tmp.wav does exist and has the correct file after running the command, not sure how to get cmd to let me enter code while nus3bank editor is up so I just tried moving everything up to avoid any spaces or other potentially problematic characters and ran as an admin, still getting the same problem in troubleshooting and a popup that says the following:
Code:
Couldn't get metadata for
C:/Users/NUS3BANK-Editor-master/VictoryFinal/0x0-Z01_F_Mario.wav
The following command failed
C:\Users\NUS3BANK-Editor-master\exeLib\vgmstream.exe" -b -l1 -d0 -f0 -o
"C:\Users\NUS3BANK-Editor-master\tmpspace\8280\tmp.bak.wav"
"C:\Users\NUS3BANK-Editor-master\tmpspace\8280\tmp.wav"
 
Last edited by BeardlyBeano,

BDS

Well-Known Member
Member
Joined
Jan 7, 2016
Messages
179
Trophies
0
XP
297
Country
France
When the pop-up appears, can you try copying the command, opening a new cmd (fastest way imo = windows+R, type "cmd" with no quotes, hit enter) and pasting the command?
 

BeardlyBeano

Member
Newcomer
Joined
Jan 10, 2016
Messages
11
Trophies
0
Age
33
XP
61
Country
United States
Then I just get "failed opening C:\Users\NUS3BANK-Editor-master\tmpspace\9296\tmp.wav"

Thinking there may be something wrong with the .wav file at this point, but no idea what, pretty sure it's correct sample rate.

Edit: Yea, I'm at a complete loss here. Using just vgmstream.exe lets me pull metadata just fine. Tried using different .nus3banks and different .wavs and still getting the same results.
 
Last edited by BeardlyBeano,

BDS

Well-Known Member
Member
Joined
Jan 7, 2016
Messages
179
Trophies
0
XP
297
Country
France
You're the second person I hear from for whom subprocess (the thing that calls commands) doesn't behave as expected. I'm sorry :(
I'll come back at you with different test codes to check if I can find a way to make it work for everyone.
 

BeardlyBeano

Member
Newcomer
Joined
Jan 10, 2016
Messages
11
Trophies
0
Age
33
XP
61
Country
United States
You're the second person I hear from for whom subprocess (the thing that calls commands) doesn't behave as expected. I'm sorry :(
I'll come back at you with different test codes to check if I can find a way to make it work for everyone.

Just tested it on my friend's computer and got the same error, at this point I'm pretty sure it's something in the .wav file. I'm going to get a variety of different bit/sample rates and test them all out later today and see if I can get any of theme to be recognized properly. I used Logic for Mac OSX for my editing, going to try running these files through Audacity to see if I can fix the problem, will post again later tonight with results for you and hopefully a source of this problem.

Thanks for the help so far!

--------------------- MERGED ---------------------------

Just tested it on my friend's computer and got the same error, at this point I'm pretty sure it's something in the .wav file. I'm going to get a variety of different bit/sample rates and test them all out later today and see if I can get any of theme to be recognized properly. I used Logic for Mac OSX for my editing, going to try running these files through Audacity to see if I can fix the problem, will post again later tonight with results for you and hopefully a source of this problem.

Thanks for the help so far!

And immediately found the problem....

32-bit float and 24-bit .WAV files do not work at all with vgmstream.exe

Ran my file through Audacity, converted to 16-bit, worked right away. Still got some error messages about the .idsp conversion, but after saving and everything the file appears to not have any problems. Will test in game soon!
 

BDS

Well-Known Member
Member
Joined
Jan 7, 2016
Messages
179
Trophies
0
XP
297
Country
France
32-bit float and 24-bit .WAV files do not work at all with vgmstream.exe
Thanks for the info, I guess I'll try to convert files to pcm_s16le with ffmpeg if getting metadata with vgmstream fails.

Still got some error messages about the .idsp conversion, but after saving and everything the file appears to not have any problems
What messages? Maybe they weren't error messages ^^
 

BeardlyBeano

Member
Newcomer
Joined
Jan 10, 2016
Messages
11
Trophies
0
Age
33
XP
61
Country
United States
Thanks for the info, I guess I'll try to convert files to pcm_s16le with ffmpeg if getting metadata with vgmstream fails.


What messages? Maybe they weren't error messages ^^

The message was
Code:
Conversion of ".wav file" to IDSP ended with an error but an IDSP was created, thus this file (which may be invalid) will be used. 
The following command failed: 
"revb.exe" --build-idsp "new.idsp"
"tmp.0.dsp" "tmp.1.dsp"
 

Dollscythe

Member
Newcomer
Joined
Nov 28, 2016
Messages
6
Trophies
0
Age
29
XP
56
Country
China
Thanks for your tool.I have edited a lots of nus3banks but, a problem still confusing me.
python2.7 and python 3.4 were already installed in my pc. For convenience, I used the troubleshooting-py2 bat to show the error information.
When I trying to replace the idsp to custom music, It usually pop up the warning msgbox, like this.
2.jpg

And in the console:
1.jpg

Even though I export the .WAV from the .idsp in original .nus3bank, and replace it back, the warning msgbox is still going on.
Sometimes, the editor wouldn't pop up any warning messages, and everything were going fine.

The problem is, when I hit the button "yes" after the warning msgbox, it should replace the old idsp to the new.idsp, just like there were no warning msgbox. But when I transfer the new .nus3bank to Wii U, problem happened. The game can play the music, but it would never end. In another word, although the music is play over(no loop), the music player in game didn't know it was ended, and still playing mute endlessly.

Good news is, if there was no warning msgbox about the .idsp conversion, the new .nus3bank in game will works fine. And I found that, during the .idsp conversion, some music always works fine, the other musics always works bad(even though I used audition or audacity and converted it into .WAV, .ogg, or else). So, I'm wondering that the audio files causes the problem.

Until now I found a method to fix the warning--Use brawlbox convert the audio into .brstm with loop, and don't delete the loop when import into the editor. The msgbox goes away. But the problem is not solved, because with the loop music, the music player is still playing the music endlessly, too.

And I tested the music in several cases.
.WAV -(brawlbox)> .brstm with loop -> delete the loop -> warning
.WAV -(brawlbox)> .brstm with loop -> don't delete the loop -> good
.WAV -(brawlbox)> .brstm with no loop -> add a loop -> warning
.WAV -(brawlbox)> .brstm with no loop -> not add a loop -> warning
I have replace the revb.exe to an old version, the editor didn't pop up warning, but the .nus3bank still wrong. It seems like that the music causes the problem. Maybe the audio file needs some fix? I need some help, thanks.
 
Last edited by Dollscythe,

BDS

Well-Known Member
Member
Joined
Jan 7, 2016
Messages
179
Trophies
0
XP
297
Country
France
The problem is, when I hit the button "yes" after the warning msgbox, it should replace the old idsp to the new.idsp, just like there were no warning msgbox. But when I transfer the new .nus3bank to Wii U, problem happened. The game can play the music, but it would never end. In another word, although the music is play over(no loop), the music player in game didn't know it was ended, and still playing mute endlessly.
afaik in game, there's no playlist, it plays one track at a time, if it loops, it will stop whenever some event stops the current track being played (ex: entering some menus, starting a match), if it doesn't, it'll just stop playing. So if your song is not looping then it's normal that the game doesn't play anything else once the song is over. So I don't really see what's wrong with the nus3bank if you're making it not loop and the song does indeed not loop.

.WAV -(brawlbox)> .brstm with loop -> delete the loop -> warning
.WAV -(brawlbox)> .brstm with loop -> don't delete the loop -> good
.WAV -(brawlbox)> .brstm with no loop -> add a loop -> warning
.WAV -(brawlbox)> .brstm with no loop -> not add a loop -> warning
Are those results specific to one song or can you replicate the same behavior with all songs?

Could you please send me the outputs of the command line (open a cmd window from within the exeLib folder):
Code:
vgmstream -m your_file.brstm
for each brstm (and detailing which one is which and causes which behavior)?

Are you saying that adding a loop does not add a loop or that it just issues a warning?
 
Last edited by BDS,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    The Real Jdbye @ The Real Jdbye: @BakerMan needs more expand dong