Switch to full style
Technical research related to the structure of Mass Effect game files.
Topic locked

Re: Current Research: WwiseBanks

04 Feb 2015, 19:18

@JohnP -- This is good info!

Did you edit the FXA in the Face FX Editor, though? You don't state you did (unless I missed it, lol), so that might be part of the problem. There needs to be an entry in there with a matching string ID. The "path" is defined as the new VO_play file. Then, there's a FXA that goes along with it that also has the string in it's name.

For example, in the romance scene LOC_INT, object 547 is the FXA for FemShep. Opening it in the Face FX editor, entry 0 is for string 644492. The path is "norhen_kaid_culm_m_ D.Audio.VO_644492_f_Play." If you expand this node, you can see the corresponding FXA is "FXA_644492_F."

To have FaceFX work for a new line -- which affects whether the line will play at all -- you need to clone an existing entry, then edit all the strings to match the new string. This is what I had to do to add new lines for Huerta.

I don't know if this will completely fix the problem you had, but it's likely involved somehow.

Re: Current Research: WwiseBanks

11 Jul 2015, 17:51

Now that I'm doing more with hex (and investigating an issue for BackOff), I'm looking at the banks again. Here's a diagram of how the hex is organized for SoundFX/SoundVoice entries:

Image

This is the bank that's inside BioD_ProMar_750Finale_LOC_INT.pcc. The hex is for entry 2 in the bank, which is right above it.

I pointed out a while back that the ID Audio/Source links to the wav for the line.

The orange box @ byte 20 (uh, I think... still learning lingo) is something I just located. This links the entry to the ID of the Actor-Mixer who speaks the line. In this case, it's FemShep, who's Actor-mixer ID can be found in entry 8 (the top entry in the diagram). So, all lines spoken by the same actor will have the same hex at this location in a bank.

It doesn't seem like the Actor-Mixer entry has to be in a specific location in the bank; I see entries both before and after their related SoundFX/SoundVoice entries.

Taking a closer look at the hex for entry 8, the Actor-Mixer, next. Will post if I find anything interesting :]

Re: Current Research: WwiseBanks

11 Jul 2015, 18:56

Well, the actor entries were pretty easy to decipher, but there's one thing I can't figure out.

Here's the color-coded hex:

Image

Like last time, the hex in the aqua box is the same among the same types of actors (speaking ones, for example). I don't know what the 320000F6 bytes mean at the beginning, but it's consistent through almost all Actor-Mixer and SoundSFX/SoundVoice entries in the bank.

The hex in the red box is the big mystery. This changes with each actor. In this bank, speaking actors include Joker, BroShep, and FemShep, and they all have different hex at this location. It seems like it could link to FXA, or the actor itself somehow, but I'm not seeing it. The only reason how I *know* the actor is FemShep is because of tracking the lines to the wavs.

The hex in the green box is the most exciting. All the ID for lines spoken by the actor are located here, so obviously this is something that will need to be edited to add new lines to a dialogue. The number in the purple box is a count for the number of IDs that succeed it.

Re: Current Research: WwiseBanks

16 Aug 2015, 01:15

The main addition I can make here is that I believe the main box which starts 32 00 00 00 F6 contains sound settings. The only setting I can confirm is that the first 4 hex bytes are a floating number that adjusts the volume.

So F6 then 00 00 40 C1 (float -3 from memory) adjusts the volume to 3 decibels (-3) 0 is loudest and most of the game has -3 or -6 and occassionally -12. The volume can by adjusted in several places including the Sound SFX and the Actor-Mixer.

The red box has something to do with the actor - that I can confirm. It seems consistent across different pcc banks. All I can say is playing around with it seems to cause problems, and it maybe it links into some master vocal setting - for example the filter giving EDI a more metallic resonance etc. It doesn't seem to
impact who is actually saying the words in terms of dialogue or FXA though.

Re: Current Research: WwiseBanks

16 Aug 2015, 02:11

Kinkojiro wrote:The red box has something to do with the actor - that I can confirm. It seems consistent across different pcc banks. All I can say is playing around with it seems to cause problems, and it maybe it links into some master vocal setting - for example the filter giving EDI a more metallic resonance etc. It doesn't seem to impact who is actually saying the words in terms of dialogue or FXA though.

Oh snap. This could be handy. I wonder if BW uses this to create on the fly SFX to audio. I have a replacement line in Jacob's goodbye holo that's giving me trouble; it's not a typical radio/walkie talkie sound.

Thanks for the input :)

Re: Current Research: WwiseBanks

23 Apr 2016, 04:43

Hey guys, I realize, this is an old thread and maybe someone figured this out long ago but if so, I didn't find it.
Anyway, I finally managed to get a new dialogue line playing in the game. Note: I only tested this for a FaceOnlyVO object, so there is still the potential issue with the FaceFX which may still interfere with other lines. JohnP almost had it in his last post. The only thing missing in his description is that within the HIRC section Soundbank, you will also find an ActorMixer, that -at the very end - contains an array with the IDs of all SoundSFX entries for that dialogue. You need to add your new IDs to that array (just at the end of it. Don't forget that at the beginning of the array is a counter, which you need to adjust for you new entries. It's pretty much what gift showed above (which I just found now, haha).

Once all of this is done, your new sound will play in the game (at least for FaceOnlyVOs). If you call the sound directly from the Interp in the main pcc file (e.g. through an SFXInterpTrackPlayFaceOnlyVO), there is no need to edit the dialogue at all, just adding things to the sound bank is enough (unless you want animations of course). Sorry if this old news but I though it might be interesting for some.

BTW, the red box in gift's post is the parent of that ActorMixer. The whole mass of bytes between the normal starting bytes of the ActorMixer and the array with the children (the SoundSFX objects) is sound structure information (see the reference for it on the xerox page). Kinko is right, it mainly contains setting info. It can be a bit tricky to decipher because it changes quite a bit, depending on whether or not parent settings are getting overwritten. In general though, unless you want to really change effects and stuff, it's nothing we should ever need to change or worry about.

Oh and another btw, you can make all these edits directly in the HIRC tab of WwiseBank Editor (not HxD) these days, which will automatically adjust your headers. Just be aware, that whenever you did a HEX edit (and before switching to another object), you need to click in the menu bar Edit -> HIRC -> Save HEX changes (would be super cool to automatically make this happen whenever the object is changed). Once all your edits are done, click Edit -> Save Bank to PCC. For good measure, also click File -> Save PCC. Then your edits are saved. Also, I think it doesn't change the size value at the second position of each entry, so you will need to adjust this manually, e.g. when adding your new children to the ActorMixer object.
Topic locked