66a7413021dbb.jpg

This tutorial has been long overdue, but hopefully so far with everything I've documented, this guide will help to future proof for every single music/SFX modding scenario in this game. I'll also update this guide accordingly when new developments happen in the S3 music/SFX modding scene, which if I do, you'll know.

Prerequisites

  • A fresh dump of Splatoon 3. Google is your best friend because I'm not showing you how to do it for legal reasons.
  • Audacity. Easiest audio tool to use for creating multi-channel tracks.
  • BARS Custom Music Updater. This is your ticket to patching the .bars files for almost every song/SFX in the game.
  • BARSReaderGUI. Helpful for looking at a .bars file's file structure to find out what you want to replace.
  • Citric Composer (more specifically Isabelle Sound Editor). General tool for creating/listening to .bwav files.
  • HxD. A Hex Editor for specific .bwav files that don't loop in-game like the music does. You shouldn't have to use this as much, but I'd recommend getting this anyways in the advent you might.
  • Kuriimu. A text editor for .msbt files in this game. Useful for changing text in the jukebox/in-game or just in general.
  • Looping Audio Converter. A tool to convert .wavs into .bfstm files first before making .bwav files. Basically helping to make it be playable in game with mininal issue.
  • message.txt. Used for finding song locations in the Splatoon 3 romFS data structure. This was created back in Splatoon 3 Version 7.2.0, but this should be future proofed as barring Grand Festival as of the time of making this guide, no more new songs should be added to the game.
  • Switch Toolbox. This version I linked has proper .msbt editing support as future versions make the text glitchy in game. But this pretty much is your swiss army knife of modding in this game.
  • TOTK Bars Tool. This is helpful for replacing sound effects like the Clam Blitz basket jingles, for example.
  • VGMStream. Converting .bwav to .wav.
  • Windows. Sorry, Mac & Linux users. Maybe you can use Wine, though? Not sure. Let me know in the comments.


General Music Creation

Let's start with the easiest for now as you're going to be doing this process A LOT when making any form of music/SFX in this game. For this section, you'll need:

  • Audacity or any music editor
  • BARS Custom Music Updater
  • Citric Composer
  • Looping Audio Converter
  • message.txt
  • These specific .bars.zs files placed in the same folder as BARS Custom Music Updater (The ### is the game's respective version number, which as of the time of making this guide, is 810. If the game gets updated, so will the .bars.zs files because Nintendo hates fun & wants us to repatch everything manually, apparently.):
  • BgmCoop.Product.###.bars.zs (Salmon Run)
  • BgmLobbyCoop.Product.###.bars.zs (Salmon Run music in the Jukebox)
  • BgmLobbySceneBridge.Product.###.bars.zs (Results Screen Music)
  • BgmLobbyVersus.Product.###.bars.zs (Normal Battle Songs in the Jukebox)
  • BgmPlaza.Product.###.bars.zs (Plaza Music)
  • BgmVersus.Product.###.bars.zs (Normal Battle Songs)
  • BgmVersusFest.Product.###.bars.zs (Splatfest Battle Music)



There are some more important miscellaneous .bars.zs you'll need, but that goes into SFX territory, so I'll explain that later in the guide. For now, this is the general stuff you'll realistically need & be using most of the time. For now, download these files now before you get started & extract it into a unified location on your PC where you know you're going to be returning back to a lot. With that said, here's how to properly make songs:

  1. Get your song of choice into a .wav format. For this example, I'm going to be replacing "Clickbait / C-Side" with "CRASHER (Off-Vocal)" from Dragalia Lost. If you need to edit anything at all (adjusting length, making the song quieter; etc.), do so now as you'll have to repeat this process if you don't like how it sounds in game.
  2. Find where your song is using a combo of your romFS file structure located in:

    /romfs/Sound/Resource/Stream/

    As well as Isabelle Sound Editor to open & play .bwav files in the romfs file structure, & the message.txt. Once you find it in the romfs file structure, go to the message.txt, press Ctrl + F (or whatever find function key combo on your operating system), & look up where it is. In this case, Clickbait is Versus_Thunder_01, so search for that & see if it's under either a single or multiple categories of its respective .bars.zs by scrolling up from where you searched for it. In Clickbait's case, it's found in the "BgmLobbyVersus" & "BgmVersus" .bars.zs files, so make a note of that for later. Now Clickbait in this example has 2 variants: the Turf War version & the Anarchy version (Anarchy being "Gachi" in the file structure; keep this in mind for later), so you'll have to replace both, but as for most other songs in this game, this really isn't a requirement at all, so you can ignore this if you're not replacing Clickbait.
  3. Open Looping Audio Converter. Press "Add" to add your .wav file, go to Output format, & make sure it's set to "[VGAudio] BFSTM", & make sure "Put all channels in one file" is ticked. Everything else can be left as-is, so once you've done all that, hit "Start" & wait until it's done. You should see the .bfstm in the "/output/" folder where you put Looping Audio Converter. Here's a visual example of how your settings should look:

    0oOLRnE.png

  4. Open Citric Composer. We'll be using Isabelle Sound Editor here, which can be found here:

    Screenshot_2024-07-29_055224.png


    Next we'll be importing our .bfstm. Go to "Edit > Import File" & then select the .bfstm you just created. Should appear like such:

    bHbnzAJ.png


    By default, most songs should have 2 channels in this game, so check if your song does by opening the "Channels" tab. You'll know beforehand when you're playing your .bwav files as well as making your songs into .bfstm, so once you confirm that, it's time to then add a track. Right click on "Tracks", click "Add", & then expand the "Tracks" tab. There should be 1 track already there, but for multi-channel tracks that have up to 4 channels, you'll probably have to create 2. You can use this guide I made for songs that are multi-channel.

    Once you've added your track, click on it, & in the channels box, type "1;2" (no quotes), & click "Update Channels" (for a single channel track, you only need to type 1 & update). It won't give a visual confirmation box, but it's been updated. Make sure you do that for every song you replace, otherwise it won't work in-game. You can also change the volume, but I don't recommend it as changing it beforehand is a bit more reliable. You should have something like this now:

    yqbq6zb.png


    Now for the tedious part: making a proper loop point in your song. You'll be using the buttons under "Play" & "Stop" to change the starting loop point (yellow bar on the left) & ending loop point (red bar on the right) respectively. You'll have to play it by ear for your specific song where you want it to loop, but once you're satisfied with how it loops, it's time to export as a .bwav. Go to "File > Export Binary" & name your song exactly how it is in the romfs file structure as well as making sure "Binary Wave (*.bwav)" is ticked in "Save as type:". Make sure to save this separately from the original song so you don't end up overwriting it. Should look something like this:

    Zi7WSbI.png

  5. Now it's time to actually patch the file. For the sake of simplicity, I'll refer you to this guide in the "HOW TO USE UPDATER" section, but after following those steps, you're pretty much done making the song. Just make sure to add the newly created .bars.zs the updater made to "/romfs/Sound/Resource", & your modded song in "/romfs/Sound/Resource/Stream" where you store your mods. If you did all this correctly, the song should be playing without any issues in-game!


"Now Or Never!" Creation


Replacing "Now Or Never!" is mostly the same as creating your standard songs, but it's a bit trickier & requires specific conditions to be met. For this section, you'll only need:

  • Audacity or any sound editor

But afterwards, the steps are mostly the same as the "General Music Creation" section. Let's get started:

  1. Open the song you wish to replace over your respective "Now Or Never!" in your audio editor of choice. Once it's been opened, only 3 requirements need to be met:

    - Your song must be EXACTLY 1 minute & 4 seconds in length.
    - The remaining 4 seconds need to be muted.
    - The 5 seconds before the 1 minute mark need to have a "Fade Out" effect (so it doesn't just abruptly end in-game).


    Once you fulfill all 3 conditions, your song should look something like this:

    ytxRZHx.png


    Once you do that, export your newly created song, & repeat step 3 from the "General Music Creation" section.
  2. Open your .bfstm in Citric Composer. We're mostly going to be following the same steps as before; only this time we'll be making our loop point completely different. Once you've done all the necessary steps before making your loop point in the "General Music Creation" section, find the muted part of your song, & set your starting loop point to where the muted part starts. It should look something like this in Citric Composer:

    y8nUM3P.png

  3. That's it for "Now Or Never!" creation! Simply just repeat the remaining steps like before for patching the song to its .bars.zs file, & if everything works, it should be playing smoothly in-game.


Text Editing Song & Artist Names

This section is for those who like consistency with what they replace. This section is completely optional, but if you'd like to do this, you'll only need:

  • Kuriimu
  • Switch Toolbox


With that said, let's get started:

  1. Open your romfs folder. We'll be looking in "/romfs/Mals/" for our specific language & game version. I speak English & my game language is English, so in this case, I'd be looking for "USen.Product.###.sarc.zs" (### being the game version). Copy this & paste it in another location, preferably the modded workspace folders you're working in to separate it from the original in case you mess anything up.
  2. Open Switch Toolbox & keep it open for now. Open that same file you just copy & pasted, & from here, we're going to be looking for 2 .msbt files. Expand the file's folder, go to "CommonMsg", go to the "Sound" folder, right click on either of (you can also do both) the .msbt files you wish to replace with your respective text, & "Export Raw Data" of either/both "MusicName.msbt" & "ArtistName.msbt" files to your modded environment. Should look something like this in Switch Toolbox:

    YkwFKfF.png

  3. Open Kuriimu. Open whichever .msbt file you want to replace (you can do both if you'd like) with your song's text. By default, Kuriimu will ask you if you want to make a backup, which I would recommend you do in the advent you mess something up. We're only going to be looking at the text field & naming whatever you want the song/artist text to say. Here's my MusicName.msbt file from my "Dragalia Lost: Splatlands Expansion" modpack as an example:

    zwa5zK6.png


    Yours will look completely different from mine, but once you're happy with whatever changes you made, it's time to export & replace the .msbt files you edited.
  4. Go back to Switch Toolbox. Right click on the .msbt file you're looking to replace with your edits, click on "Replace Raw Data" & replace it with the .msbt file you just edited. Should look something like this:

    Screenshot_2024-07-29_074010.png


    Afterwards, save it in Toolbox, & you're pretty much done! Just make sure wherever you store your mods for the game, it's located in the folder "/romfs/Mals/".


Replacing SFX in .bars.zs Files

This section, I'll honestly refer you to this guide to do this, but remember earlier when I said take note of the "Gachi" in the file structure, with Gachi being Anarchy? This refers to every ranked mode except Zones for some reason. Yep, you can replace a TON of the sound effects in ranked modes as well.

  • Gachiasari is Clam Blitz
  • Gachihoko is Tower Control
  • Gachiyagura is Rainmaker

More specifically for this section, we'll be looking at the Clam Blitz basket jingles as an example. Here's an example of what a modded Clam Blitz basket jingle would sound like in-game:



For the sake of not repeating another guide, I'll just leave you with some key bullet points you'll need to know when replacing said sounds in the .bars.zs files:

  • For sound effects that don't loop (such as the "WIPEOUT!" sound effect), you will have to hex edit your modded .bwav file before patching with the TOTK BARS Tool, but it's fairly straightforward. Drag & drop the .bwav file into HxD, & look where "0C" & "40" meet in the hex code's rows & columns. Change all 8 numbers or letters after that point to all F's. It should look something like this:

    3SJ29ZL.png


    Then save it & patch it with the TOTK BARS Tool as normal.
  • For Clam Blitz basket jingles & any other jingles that do loop, you can just create the song like normal using the "General Music Creation" section, & then patch it with the TOTK BARS Tool.

And that's really it! This is all the basics covered on modding music in this game, but if need be, I will add other things I've managed to document. If you're stuck at all on anything, feel free to let me know in the comments & I'll try to help you to the best of my ability. I'd also recommend joining the Splatoon Modding Hub Discord as well for further help if you're stuck on something. Hopefully this helps & happy music modding, everyone!