Rom editing advice: Delete sounds?

Discussion in 'NDS - ROM Hacking and Translations' started by HelpTheWretched, Aug 17, 2019.

  1. HelpTheWretched
    OP

    HelpTheWretched GBAtemp Regular

    Member
    5
    Feb 4, 2010
    Canada
    Could somebody point me in the right direction for editing (silencing) sound samples in a DS rom?

    I've done this numerous times with 3DS roms by hex-editing the <game>.bcsar file and zeroing-out all the data under a CWAV's DATA subheader. Super simple. But I don't know how DS roms have their audio files structured.

    I checked DeSmuME's Sound State tool, and one such sound I'd like to silence had the source address $21CC40C. Maybe I'm misunderstanding this, but that address in the hex editor doesn't appear to have any distinguishing headers.

    (The rom is Zelda: Spirit Tracks (US) and the samples I want to silence are Link's footsteps. All the samples are rip-able using ndssndext.)
     
  2. FAST6191

    FAST6191 Techromancer

    pip Reporter
    23
    Nov 21, 2005
    United Kingdom
    DS ROMs predominately use the SDAT sound format and Zelda should be no exception (not to mention if ndssndext works it will likely be that). There are better format descriptions out there but for a start http://kiwi.ds.googlepages.com/sdat.html

    Sound effects like steps are most like to the the sound effect type sub format within those (you tend to have three choice -- full wave, sequenced (think midi) and sound effects which also double as the instrument libraries for the sequenced stuff after a fashion). I don't know if here the sound effects will be in a SSAR or just plain SWAR.

    Previously for a slightly non standard one I wanted to mute the sound effects for I just changed the volume part of the sound effect header to 0 so it still played but at volume 0 so did not matter. You could do something similar here.
    Or you could overwrite it with silence, or overwrite a bit with silence and loop it at that point. You might also do the more old school method of find the call to the sound effect upon stepping and disable the sound effect call.

    2?????? is the main memory of the DS ( http://problemkaputt.de/gbatek.htm#dsmemorymaps ) and while there probably is a way of figuring it out then there is no great need to go that way.

    For editing the SDAT itself you will probably have to go manual -- most automated tools are about extraction, and a handful attempt file replacement. None will allow you to have much fun with editing last I checked. If you can generate a SMAP file (not sure which do these days. I would normally get one as aprt of VGMtoolbox's efforts) then that could be helpful as you can count off things more easily with one.

    Tools that might be worth knowing about here

    ndssndext is a bit old but nice to have. If nothing else it will allow you to figure out what file is the offending file (not sure about here but some games have thousands of samples/effects).
    vgmtoolbox, especially if you can find the necessarily files. Make sure to get the more modern fork of it.
    vgmtrans aims more at the SSEQ (sequenced audio) side of things but has some abilities for the rest of it.
    crystaltile2 has some nice stuff
    tinke is not bad for a few things, and one of the few things I would attempt replacement with.
    I think MKDS course modifier got some stuff in the end.
     
    HelpTheWretched likes this.
  3. HelpTheWretched
    OP

    HelpTheWretched GBAtemp Regular

    Member
    5
    Feb 4, 2010
    Canada
    Thanks for the thorough response. That first link in your sig looks pretty valuable too.
     
Quick Reply
Draft saved Draft deleted
Loading...