Question Is there a simple way to remove music from XCI?

Discussion in 'Switch - ROM Hacking, Saves, Translations & Tools' started by Elliander, May 27, 2019.

  1. Elliander
    OP

    Elliander GBAtemp Advanced Fan

    Member
    4
    Sep 16, 2011
    United States
    Illinois
    In my setup, I have multiple TVs and sound bars near one another - 2 are even side by side. This is for LAN play of games like Splatoon 2 and Mario Kart, but there's a problem : The music is never synchronized across consoles even though the game is otherwise synchronized and Nintendo does not like sound settings while simultaneously requiring LAN play for local multi-player of Splatoon 2.

    At present, the solution is to turn the audio off on all but one sound bar, but that means only one console gets to experience sound effects.

    The simplest solution would seem to be exploring the contents of the XCI files I dumped myself from my own legit carts and then just delete the music tracks. Then all sound except music will work allowing a single music experience rather than a horribly layered track that drives everyone crazy.

    For reference, attached is my current setup: two 55" 4K TV vesa mounted onto stands to stick over edge, two 36" 2.1 sound bars, and the furniture I designed and built myself to manage wires on the bottom with everything plugged into surge protectors that are plugged into a voltage regulator which has a single power cable in the back that plugs into a UPS in the basement. All ethernet plugged into a network switch, and the back has integrated power and ethernet ports while the front left has USB charging ports I hand carved in. The middle center has HDMI cable management with two HDMI switches for up to 14 consoles all leading to rear HDMI ports for TVs to plug into so everything works in a self contained environment on wheels that can be moved anywhere easily. Planning on adding additional HDMI controls so any device can play on any TV simultaneously, without going too long for 4k, and leave PSVR ports open, but for right now the Nintendo sound issue is what I'm trying to solve. I'll probably build an improved version next year once I get all the issues worked out.

    I'm also planning on building a shelf setup for controller management and charging to free up space for more consoles likely sooner.
    20190526_213253.
     
    Green Mii likes this.
  2. masagrator

    masagrator File digger

    Member
    10
    Oct 14, 2018
    Poland
    Deleting sound files may crash game.
     
    Elliander likes this.
  3. Green Mii

    Green Mii Advanced Member

    Newcomer
    4
    Apr 12, 2015
    United States
    What you could do is instead of deleting files, use LayeredFS to replace the music files with dummy files.
     
    Elliander likes this.
  4. Elliander
    OP

    Elliander GBAtemp Advanced Fan

    Member
    4
    Sep 16, 2011
    United States
    Illinois
    Good point. I wondered about what would happen if the game looked for an audio file that wasn't present.

    Good idea. How would I identify all of the music files in a game, or are all the audio files in the same location? And what would you suggest I replace them with? If they loop the audio, without checking file size, I'm guessing any length empty audio file would do.

    If that works it would take care of XCI games, with the exception of audio files in updates. Then I'd just mark the file with music turned off to mount when playing in LAN giving preference for the unmodified Switch to have the music.
     
  5. CosmoCortney

    CosmoCortney Chemtrail Pilot

    Member
    11
    Apr 18, 2013
    New Zealand
    on the cool side of the pillow
    You can always mute music with cheats. hadn't had any time on cheat searching on the switch tho.. but should be def possible
     
    Elliander likes this.
  6. FAST6191

    FAST6191 Techromancer

    pip Reporter
    23
    Nov 21, 2005
    United Kingdom
    I have not explored the Switch sound formats yet but most game console formats since... probably the GBA have had an internal volume level in the track itself or the setup for it. If you can find this then set it to zero then you have your silence patch, even if technically it is still playing in the background of the game.
    If it is just LAN play or something it disables it in but it still has it for single player then you might be able to make a cheat using said single player and have the location transfer across.

    After that then yeah deleting the track and hoping it does not crash things, making a track of silence and going that, or adding a section of silence right at the start (if there is not already one) and find the loop command (for games it usually exists for both the wave and the sequenced/tracker formats) before looping that 9999999....9999 times. If necessary you can combine both and find a suitable donor track and overwrite the others with that.

    There is a third way we occasionally use for ripping audio tracks wherein sound is ripped, inverted and then used to cancel out whatever tracks or effects are playing that you can't otherwise work around or be bothered to work around. Not hard in theory at all here (rip track using headphone cable and something like audacity, press invert in said same, play back inverted track matching the start of the track in the game) but would be awfully tedious to do it for every time you want to play the game*, not to mention I don't know how accurate the Switch sound engine timer is to see if it drops a fraction of a note here and there (the DS one does, as do many other things) in a bid to speed things up.

    *I suppose you could have it go into the laptop, have a program that takes the timing from the first few bars and then syncs it back into the speaker.

    Of course this all assumes "get a set of headphones" is not an option.
     
    Elliander likes this.
  7. Elliander
    OP

    Elliander GBAtemp Advanced Fan

    Member
    4
    Sep 16, 2011
    United States
    Illinois
    Huh. That would be way easier if available. I hadn't considered that since I haven't messed with cheats or even game mods personally.

    If anyone knows of any I'll check it out, otherwise this weekend I'll see if I can remove the music tracks from the XCI files.

    I have more than one physical copy of each game, and therefore more than one header. Does anyone knows if it matters if I use the same header on more than one Switch in offline LAN, or should I inject the headers?
     
  8. Green Mii

    Green Mii Advanced Member

    Newcomer
    4
    Apr 12, 2015
    United States
    The location of music varies by game. I know that Mario Kart 8 Deluxe's is in Audio\Resource\Stream. As for what to replace it with, you could probably just replace it with an empty audio file. But if the game does check the size of the audio files, you could lower the volume of each song to 0 through Audacity and replace them like that, but that would also be rather tedious.
     
Quick Reply
Draft saved Draft deleted
Loading...