How do I Replace Game Sounds?

Started by
33 comments, last by Olliepm 11 years, 3 months ago

Recently I was looking through the files and folders of all the PC games I have (downloaded from Steam). I noticed that in some cases I found MP3 files, and presumably all I had to do was take my own sound, rename it to the same name as the original sound I want to replace, and delete the old one. This was generally only the case with basic games though. The Bioshock demo , differently, contained a small number of files with the extension '.fsb'. I briefly Googled this, and it seems these files are something to do with Fmod. Oddworld: Abe's Exodus had what I thought to be a pretty simple sound scheme that would be a good start for me, but the game folder only contained a single file named 'sounds.dat'.

Now, I have Wwise installed and have spent a few hours learning the basics a while back; I knew Batman Arkham City to have used Wwise, so I downloaded the demo in the hope I might have the tools to work with this one, opened up the folders an found a folder entitled 'SFX', which contained extensions '.bnk'.

In any attempt at opening these files, I've been presented with text gibberish. Treat me like a noob/idiot if you must, but I'd really just like some idea of where to start here? I don't know much about how game engines/ audio engines work, or what other files in the game folder may be relevant to the tasks I am trying to carry out.

Any solutions to either of these games' file extensions would be highly, highly appreciated, however I'd be more grateful for a solution to game audio pertaining to Wwise, because if possible, I'd like to be able to edit FX, attenuation curves etc. and Wwise is the only software I have even a clue how do do this in.

And most important of all to keep in mind, I'm finding it very difficult to gauge whether what I'm trying to do is going to be a lot more difficult than I'm making it out to be, but in theory I just don't know how it can be. I have no knowledge of code though...

I've honestly been all over the internet with this one, but all people ever seem to want to know is how to EXTRACT, but not replace a game's audio. So please help =]

Thanks!

Advertisement

Why do you want (or think you need) to do this?

-- Tom Sloper -- sloperama.com

For experience in general in putting audio to game, and developing my skill set. Hopefully someday I may even create something worth demonstrating to a future employer. Who really knows? It still seems more relevant to a portfolio than creating a video reel of my own sounds in a trailer video, to have what is essentially an audio only mod, if such things exist.

You don't add sound to a game that way when developing. Reverse engineering games to find out how to change sounds like this seems pointless if your goal is to study how sound works in game engines.

You don't add sound to a game that way when developing. Reverse engineering games to find out how to change sounds like this seems pointless if your goal is to study how sound works in game engines.

It's not my only goal. This would for example give the opportunity to experience the position of designing sound for huge titles (in a safe, deadline free sort of way) . I thought it seemed a great way to audition ambient music. Do you really think there is no point? What would you recommend doing instead?

Reverse engineering games to find out how to change sounds like this seems pointless if your goal is to study how sound works in game engines.

I strongly disagree, mate. Speaking from personal experience, you can learn a lot from reverse-engineering content from games.

In my opinion there's absolutely no other content that's as uniquely educational as something you extract out of an acclaimed, published game for personal study purposes.

While some students redo the entire soundtrack behind film scenes or trailers as an exercise, placing your own sounds in a game and seeing them work (or not, and learning why not), can also be enriching.

I think there is educational merit to this and I'd like to see the answers that come out of this.

As far as I know, most games use their own sound format. Which they can be composed of their own encoding scheme or probably its just a nice package that contains inside several files of popular formats.

Your best shot is trying to find mod tools to unpack those sounds, or trying to find the developer of such format (often is some 3rd party) and seek an encoder/decoder on their site.

For the fsb files, Google "unpack fmod sample bank format" and see what you can get. Bioshock uses the Unreal Engine right? Maybe the Unreal Development Kit has the necessary tools required for packing/unpacking its files. For example, there are been several new maps for Mirror's Edge since it uses Unreal Engine and the UDK can be used to create levels for it (although no Enlighten middleware to spice up lighting sadly).

"I AM ZE EMPRAH OPENGL 3.3 THE CORE, I DEMAND FROM THEE ZE SHADERZ AND MATRIXEZ"

My journals: dustArtemis ECS framework and Making a Terrain Generator

I guess this is sort of the point where I'm at the forum's mercy, because I'm completely new to mods and mod tools, and I'm not even sure I'd be able to utilize them without some fundamental knowledge of...well, something I don't already know about! I made a little progress with one of my above examples, however things only got more complex from there on:

The file within the Oddworld:Abe's Exodus folder "sounds.dat" contained every sound used in the game (with the possible exception of intro sequence music/SFX), and I managed to extract this in Audacity, by using the function "import raw data". This option prompts the user to choose sample rate, byte order, encoding, channels. I don't know much about how important it is to select the 'correct' settings when importing because what I ended up with was one single track containing every sound from the game, playing sequentially, but sped up, and chimpmonked! I tried importing with different encoding etc which didn't affect this. (I think this was perhaps an old school way of saving memory) I lowered the speed of my extracted audio track by 82% which I think was about right, as the sounds then sounded as they do in game, changed one sound (keeping it the same length), sped it back up by 82%, exported as .wav, changed text extension to . dat, and popped it back in the game folder. NOW in theory, this might have worked, but no. The game sounded completely screwed up, and pitch was way off.

I'm not sure if it makes any difference, but I was only planning on using game demos, rather than full titles, just FYI.

Cheers for the replies so far!

So please help =]
There is not a good blanket answer to give you.

All programs are designed differently. Some programs will have all their files exposed in a bunch of loose folders, in easy to open formats. Others will have all their files inside a type of type of giant archive file. Such as the sounds.dat that you are mentioning.

This is an archive type file. The program will have a way of knowing which files are in there, at which byte offsets. Most likely, it's a header in sounds.dat that lists all the files, and their byte offsets. The only proper way to edit it is to rebuild it from scratch with the files and the new proper byte offset values. This is done as part of the game's build process, and you won't be able to figure out how to do it unless you have advanced programming knowledge, and reverse engineer the file. This can be very time consuming.

It's illegal to modify and distribute someone else's copyrighted work. You aren't going about this in a good way. If you want to demo your own audio in a game environment, do it the proper way. Download the UDK or UNITY3D and learn how to include your audio into one of their example game projects that you can open up at the source level and modify properly.

Unity has tons of demo projects that you can open up and redo the sound for. http://unity3d.com/gallery/demos/demo-projects

This topic is closed to new replies.

Advertisement