Modifying/Shrinking .SBNK files/Diddy Kong Racing DS Music Restoration

Discussion in 'NDS - ROM Hacking and Translations' started by TheArcadeStriker, Jan 22, 2017.

  1. TheArcadeStriker

    TheArcadeStriker GBAtemp Regular

    Oct 5, 2016
    Today I have been checking around the DKR DS files, and I can find SSEQ and SBNK which are used for music. The SSEQ are the music sequences (Think MIDI) and the SBNK apparently is what points the instruments used for the song (or something like that, or just think Soundfont). I also have found that you can't replace a SBNK file with a bigger one than the original used, or else it will just stay in whatever place said SBNK was intended to be used.

    Now well, I just thought in the idea of restoring the original music for DKRDS, or in other words, put back the original music order/uses from the N64 in the DS version (For example replacing Jungle Falls DS music with the N64 version that is used as DS's credits, or replacing Snowball Valley's music with Everfrost Peak's, since that is how it was in the N64 version), and pretty much what can be or can't be done is here:

    Windmill Plains (Uses Greenwood Village music in N64, has new track in DS)
    Can be restored without problems!

    Spacedust Alley (Uses Spaceport Alpha in DS version, and uses Star City in N64 version)
    Can be restored without problems!

    -Credits theme (Uses N64 Jungle Falls in DS version, N64 version used Darkmoon Caverns or Crescent Island depending if you defeated 1st or 2nd Wizpig)
    Crescent Island can be used because it's soundbank is smaller than N64 JF, but no idea about Darkmoon Caverns (Either way, I would use CI for the credits, since why not, and because the credits are only played AFAIK only after beating 2nd Wizpig and CI was used for the Credits 2)

    -Jungle Falls (DS version is a new track not present in N64, and N64 version is used in credits)
    Seems to have issues, because the SBNK file from the credits is bigger than DS Jungle Falls's, and it can't be used (currently, there should be a way to workaround the filesize, like removing a instrument or something to lower size). It sounds weird with DS Jungle Falls soundfont.

    -Snowball Valley (Uses new track in DS, uses Everfrost Peak in N64 version)
    ...same as above, Everfrost Peak soundfont is bigger than the new soundfont (and that means cannot be just replaced)

    -Spaceport Alpha (Uses new track in DS version, and N64 version was moved to Spacedust Alley in DS)
    Apparently would have the same problems, since Spaceport's soundfont is bigger than the DS Spaceport's.

    -Darkmoon Caverns
    While most of it is actually the same as N64 (like the melody), it does have a futuristic spin/addition, and the tempo is a little different IIRC, so I guess it would be just plain recomposing this one with the DS soundfont if you want to bother.

    -Pirate Lagoon/Treasure Caves (Uses separate new tracks in DS, a single one in N64 that is not present in DS)
    This one will be a bit tougher, since because the original composition is absent in the DS version, it would require to recompose the song to a MIDI that uses the soundbank from Pirate Lagoon soundbank (Since Treasure Caves's is bigger than PL, and because of that it would require to make one for PL and one for TC, and that could be bypassed by composing one with PL's and using that same one with soundbank at all in Treasure Caves)
    [And what's more, Pirate Lagoon has two identical sequences: BEACH_02 and BEACH_02a. I can guess that the former is the used one since the latter was actually the internal name of the
    unused song in the original N64 version)

    -Everything else
    If you want to try recomposing the music with the NDS soundfont to make it sound better or more faithful to N64, feel free to try yourself.

    So yeah, there is the deal that some SBNKs are bigger than others, and that impedes just swapping them (And you can't just only change the SSEQ, N64/credits jungle falls with DS version soundfont doesn't sound well). The solution for these (and others like Pirate Lagoon/Treasure Caves, which their N64 versions are absent in DS) could be that someone composed/recomposed the songs using the DS version soundbanks (You can get them with VGMTrans, and essentially you would try composing the original Pirate Lagoon N64 version for DS Pirate Lagoon's soundfont) and put them in the game. Also, for those SBNK files that are smaller than the original versions and can't be simply swapped, there should be a way to make the filesize smaller or something.

    Thanks for all the help!