Removing channels from New Super Mario Bros. Wii streams? by SSGotenksUFO at 10:31 PM EDT on May 27, 2010
Hi. Some of the streams in New Super Mario Bros. Wii contain the drums for when you're on Yoshi. I was wondering if it's possible to somehow remove those drums so the song can be heard as it would when you're not on Yoshi. I assume the game can add that channel on the fly for when you get on Yoshi, though I don't know too, too much about this subject.
I was thinking you could extract the individual channels with revb --extract, then rebuild the brstm only with the non-drum version, but when I looked at the NSMB Wii files it looks like they're all just two channels, which should mean that there's no way to strip that stuff out. Could you mention a particular file?
Just to name a few. Those are the only streams of those main themes.
EDIT: I just noticed that when I play these kinds of .brstm's in WinAmp, WinAmp shows them as "(SURROUND)" instead of "CD STEREO". They probably add a third channel just for Yoshi in those specific songs. I don't know if that helps. :)
Your idea worked hcs! Those files I mentioned were 4 channels: 2 for the song, and 2 for Yoshi. I just rebuilt them without the Yoshi. Great idea and great program!
If you don't mind, I have another question. For these songs, would it be possible to build them in a way so that those drums can start on the second loop?
Yes, though it would be a somewhat complicated operation, and revb doesn't support building 4-channel streams right now. It'd work like: 1) extract with revb 2) make the normal files loop twice 2a) concatenate another copy of the loop body to the end of the file 2b) update the header (total samples, total nibbles, loop end) 3) make a version of the yoshi track that only plays on the last half of the loop 3a) make a version of the yoshi loop body that fades in and out at each end (fades can be avoided if you can cut cleanly between drumbeats 3b) append it to a silent pre-loop and loop body 3c) create appropriate header (should be same loop and length values as the normal version) 4) recombine with revb