The Download is gone...Note: Windows only though it might work through wineskin
Features:
Future features I am looking into:
- 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.
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.
- Looping support (Can be done with a looping BRSTM at the moment)
- Sound previewing (Can be done with foobar and vgmstream)
- Other minor features
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.
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 lotplaylist 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.
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
Decoding failure at 0:00.000 (Unsupported format or corrupted file):
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.Many idsp tracks are indeed empty.
[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
[0x18] snd_vc_Yoshi_Attack06
[0x2a] snd_vc_Yoshi_Win01
[0x14] snd_vc_Yoshi_Attack02
[0x2] snd_vc_Yoshi_003
[0x15] snd_vc_Yoshi_Attack03
[0x2b] snd_vc_Yoshi_Win02
[0x13] snd_vc_Yoshi_Attack01
[0x2c] snd_vc_Yoshi_Win03
[0x1c] snd_vc_Yoshi_Damage01
[0x1f] snd_vc_Yoshi_DamageFly02
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
This isn't about audio encoding, but character encoding for the path to files.Code:Attempt 1: no decoding
When the error happens, does tmp.wav actually exist?Code:failed opening C:\Users\xxx\Desktop\Sm4sh Mods\NUS3BANK-Editor-master\tmpspace\636\tmp.wav
"path to vgmstream.exe" -b -l1 -d0 -f0 - o "path to output.wav" "path to input .wav"
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:
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.Code:"path to vgmstream.exe" -b -l1 -d0 -f0 - o "path to output.wav" "path to input .wav"
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"
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!
Thanks for the info, I guess I'll try to convert files to pcm_s16le with ffmpeg if getting metadata with vgmstream fails.32-bit float and 24-bit .WAV files do not work at all with vgmstream.exe
What messages? Maybe they weren't error messages ^^Still got some error messages about the .idsp conversion, but after saving and everything the file appears to not have any problems
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 ^^
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"
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.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.
Are those results specific to one song or can you replicate the same behavior with all songs?.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
vgmstream -m your_file.brstm