I was gonna wait 'til I had proof of concept, but I'm kinda stuck for progress at the moment. Anyway, I got audio swapping somewhat working. Prepare for a lot of words....
Sound is stored in sbp files. Sbp files can be unpacked with GzsTool. Upon unpacking you will have 3 files. A bnk file, an sab file and an stp file.
The sab and stp files are supposed to be related to 3D models somehow, but oddly enough the stp file contains wwise audio files.
The bnk file is a Wwise audio container file. It also contains wwise sound files. There doesn't seem to be a clear pattern between which files are contained in the bnk file and which are countained in the stp file.
Now we get to the fun part. You'll need
RavioliGameTools.
The first thing you're going to want to do is use the RExtractor to get all of the sound files. Select the bnk file as your input file and select the "Allow scanning of unknown files" option. Allow it to extract all of the files somewhere. You'll end up with a bunch of wwise files.
Keep track of how many of these files were extracted! Once you've got the number of audio files that were extracted memorized or written down, you can delete all of these files.
Next, go to the original sbp file that you unpacked the bnk, sab and stp files from. Rename the extension from sbp to bnk. Select the file you renamed from sbp to bnk file in RExtractor as the input file. This time, choose the "Allow scanning of unknown files" option and the "Convert sounds to Wave" option. Extract these files somewhere other than you extracted the other files. These are all of the sounds in an audible format.
At this point you can rename the renamed bnk file back to sbp. Now you're going to want to open up RScanner and do a new scan on the sbp file. Choose "Extract All" and extract them to somewhere besides the other two folders. Now you have all of the sounds in an audible format (wav) and their original format (wwise)!
Now you're going to need to repeat these last two steps (you don't need to open the sbp with GzsTool to get the wwise files from the unpacked bnk file. You do need to get the wwise files and wav files from the sbp though) to get the sounds that you want to swap in.
Once you've found them, you can swap them in -- but wait! There's a catch (or a few catches...)!
The size of the file you're swapping in MUST be smaller than the file you're replacing! If that doesn't restrict you enough,
you also can't do a straight swap with any of the files that came from the bnk file! The number you wrote down with the amount of files that came from the bnk file can tell you which files came from the bnk file, and which came from the stp file. If you extracted 75 wwise files from the bnk file, that means the files File0001-File0075 came from the bnk file. Don't touch these files yet, there's a way to swap them, but you'll get mixed results at best, and it's much more complicated than doing the files that came from the stp file.
So how do we swap the stp files? This is the simple part. Take the wwise files that you want to inject, and rename it to the wwise file you want to replace. After that, just drag it into the folder that contains the file you want to replace and overwrite it. Done! Repeat for each sound you're replacing.
Now we get to the wwise files that came from the bnk. This is the part I haven't been able to figure out completely. I have a semi-working method. By semi-working, I mean it works with some sounds and doesn't work with others. I haven't figured out why.
Anyway, this is what you need to do. Open up HxD. Now open up both the file you want to inject and the file you're replacing in the HxD.
Look for a series of characters that looks like this: ¢R....X..<....@DDs
Note that the X can be any character. The character that's in place of the X is where you're going to want to start highlighting. Highlight from (including) the X all the way to the bottom of both files. Select to copy from the file you're injecting and paste it over the file you're replacing. Save the file you're replacing. Done! You've injected your file. Note that this has mixed results, and even if you've done everything correctly the audio might not play in-game. Now, HxD will have created a bak backup file of the file you just edited in the folder the file was in. Delete the bak file.
Repeat this process for each file from the bnk you want to replace.
Ok. We've now replaced all our audio files, how do we get it back together? Open RScanner and select the sbp file you were injecting to. Select "Combine" and select the folder that contains all of the files from the sbp you were injecting to. It will probably tell you that it needs to add padding to the files you injected to make them the correct size. Allow it to do so. Done! You're file is repacked with your edits.
Now, place the sbp back where you got it from and rebuild whatever chunk it came from. Start the game, and do whatever action that causes the sound to play. If the sound came from the stp file, you should hear your edits! If it came from the bnk file, you might hear your edits!
This is what I've figured out so far. If anybody wants to try to help out with finding a reliable way to swap the audio files stored in bnk files, it would be appreciated.