FSB files, standing for FMOD Sound Bank, are specialized audio containers developed by Firelight Technologies. These files are ubiquitous in the video game industry, found in everything from indie hits to AAA titles like Sekiro: Shadows Die Twice, League of Legends, and World of Tanks. An FSB file acts as a consolidated library, packing hundreds of sound effects, background music tracks, and voice lines into a single archive to optimize memory usage and performance.

However, because FSB is a proprietary container rather than a standard audio format, typical media players cannot open them. If you are looking to extract high-quality raw audio for modding, personal projects, or research, you need a dedicated FSB file extractor. The extraction process varies significantly depending on the version of the FMOD bank (FSB3, FSB4, or FSB5) and whether the game developers implemented custom encryption.

Understanding the FSB Container Structure

Before diving into the tools, it is crucial to understand what is happening inside an FSB file. Unlike a ZIP or RAR file, an FSB file contains a header that defines the audio properties (sample rate, bit depth, number of channels) and the specific codec used for the samples.

The format has evolved through several iterations:

  • FSB3 and FSB4: Older versions often found in games from the late 2000s and early 2010s. These typically use MP3 or ADPCM encoding.
  • FSB5: The modern standard. It introduced more complex metadata and is often used in conjunction with FMOD Studio. FSB5 files frequently utilize the Vorbis or Opus codecs, though they can still contain PCM or ADPCM data.

Identifying the version is the first step in successful extraction. Most tools will display the version number upon loading the file. If one tool fails, it is usually because the internal codec or the bank version is unsupported by that specific software.

FSB Extractor (GUI Tool) for Quick Extraction

For most users who prefer a visual interface, the FSB Extractor developed by Aezay is the most accessible choice. It is a lightweight Windows utility designed specifically to browse and unpack these sound banks without requiring command-line knowledge.

How to Use FSB Extractor

The workflow is streamlined for efficiency. After launching the executable, you can simply drag and drop an FSB file into the main window. The tool parses the header and populates a list of all internal sound samples, showing their names, durations, and formats.

  1. Loading: Drag the .fsb file into the program.
  2. Selection: You can select specific files or use Ctrl + A to select all samples.
  3. Extraction: Right-click and choose "Extract to folder."
  4. Format Handling: The tool will attempt to rebuild the headers. For instance, if the internal data is MPEG-based, it will output .mp3 files. If it is ADPCM, it might output .wav files.

Practical Observations

In testing across various game titles, FSB Extractor excels at handling FSB4 archives. However, with the newer FSB5 format, you might encounter issues where filenames are missing or the audio data fails to play after extraction. This is often due to the way FMOD Studio stores string data in a separate .fev (FMOD Event) file or an .itl (iTunes Library-style) metadata file. If the filenames appear as "unnamed_001," you may need to locate the accompanying metadata file from the game's sound directory.

FSBext: The Power User Choice for Command Line

Created by Luigi Auriemma, fsbext is a robust command-line utility that offers granular control over the extraction process. This tool is particularly valuable for developers or modders who need to automate the extraction of hundreds of files or handle non-standard archives.

Essential Command-Line Flags

The true power of fsbext lies in its parameters. While a simple fsbext.exe input.fsb works for basic files, complex archives require specific flags:

  • -d : Specifies the output folder. Without this, the tool dumps everything into the current working directory, which can be messy.
  • -l: Lists all files inside the archive without extracting them. This is vital for checking if an archive is encrypted or seeing the codec information before committing to an extraction.
  • -m: Handles multichannel MPEG files. By default, some extractors might only dump the first stereo channel of a multichannel file. The -m flag tells the tool to split these into separate mono tracks, ensuring no audio data is lost.
  • -a: Assigns the IMA_ADPCM tag (0x11) instead of the Xbox ADPCM tag (0x69). This is a lifesaver when extracting audio from console-specific game files to ensure they are playable on Windows.
  • -r: Rebuilds the original file. This is a rare feature that allows users to re-inject audio into an archive, though this is primarily supported for older FSB versions.

Handling Multichannel Files

Modern games often use 5.1 or 7.1 surround sound for environmental effects. When using fsbext, it is recommended to use the -m flag. In our experience, extracting a 6-channel background track from a game like Dragon Age without this flag resulted in a single stereo file where the rear-channel cues were completely missing. Splitting them into individual channels allows you to re-mix them in a Digital Audio Workstation (DAW) like Audacity or Reaper.

vgmstream: The Versatile Decoder and Player

If your goal is simply to listen to the audio or convert it to a pristine format without worrying about the underlying FMOD architecture, vgmstream is the industry standard. It is not just an extractor; it is a comprehensive library that supports hundreds of video game audio formats.

Using vgmstream with foobar2000

The most user-friendly way to utilize vgmstream is as a plugin for the foobar2000 media player.

  1. Install the foo_input_vgmstream component.
  2. Once installed, you can simply drag any .fsb file into foobar2000.
  3. The player will treat the FSB file as a playlist, displaying every track inside.
  4. To extract, right-click the tracks in the playlist, select "Convert," and choose your desired output (WAV is recommended for maximum fidelity).

The CLI Version for Bulk Conversion

For those who prefer scripts, the vgmstream-cli.exe offers a direct path from FSB to WAV. The syntax is simple: test.exe -o output.wav input.fsb One significant advantage of vgmstream is its ability to handle the "Loop Points" metadata. Many game tracks are designed to loop seamlessly. vgmstream can read these loop points and allow you to export a version of the track that repeats a specific number of times or ends at the loop tail.

Dealing with Encrypted FSB Files

Game developers often encrypt their sound banks to prevent players from accessing voice lines or music before a game's release. When you try to open an encrypted FSB file, standard extractors will either throw a "Header Corrupt" error or produce files that consist of nothing but static.

The Decryption Key Method

To extract audio from an encrypted bank, you must provide the tool with the correct hexadecimal or string-based key. For example, in the community-driven modding scene for Sekiro, it was discovered that the audio files required a specific decryption key to be processed by fsbext.

The command for an encrypted file looks like this: fsbext.exe -e <your_hex_key> -d output_folder input.fsb

If the key is provided in a string format rather than hex, the tool may require a different prefix. Finding these keys often involves reverse-engineering the game's executable (.exe) to see how it calls the FMOD API. Communities like ZenHAX or various game-specific modding Discords are the primary sources for these keys.

Common Signs of Encryption

  • Zero-byte files: The extractor creates filenames but the file size is 0 KB.
  • Static/White Noise: The extraction completes, but the resulting WAV files are unplayable noise.
  • Unknown Codec: The tool reports a codec ID that doesn't match known FMOD standards (like 0 instead of 7 for Vorbis).

Troubleshooting Common FSB Extraction Issues

Even with the best tools, you will likely encounter errors. Here are the most frequent problems and how to solve them.

Missing DLLs (fmodex.dll / fmodl.dll)

Many GUI extractors are built on top of the actual FMOD API. If you receive an error stating that fmodex.dll is missing, you must locate this file. It is often included in the game's installation folder. Copying the DLL from the game's bin or root directory into the extractor's folder usually resolves the issue. Be aware of the architecture: a 64-bit game will have a 64-bit fmodex64.dll, while the extractor might require the 32-bit version.

Filename Truncation

In older FSB archives, filenames are often truncated to 30 characters. If your extracted files have cut-off names, this is a limitation of the original archive, not the tool. However, newer FSB5 files often store full filenames in a separate section of the header. If fsbext doesn't see them, try vgmstream, as its header parser is often more up-to-date.

The "FSB5 Vorbis" Problem

FSB5 files using the Vorbis codec are notoriously difficult because FMOD uses a custom Vorbis header that isn't compatible with standard OGG players. When you extract these as .ogg files, they might not play.

  • Solution: Use vgmstream to convert them directly to WAV. vgmstream is specifically programmed to reconstruct the standard Vorbis packet structure from FMOD's custom implementation.

Multi-part Archives

Some games split a single large sound bank into multiple files (e.g., sounds.fsb.001, sounds.fsb.002). You cannot extract these individually. You must first join them using a file joiner utility or the command-line copy /b command in Windows to create a single large .fsb file before running the extractor.

Comparison of Extraction Tools

Feature FSB Extractor (GUI) FSBext (CLI) vgmstream
Ease of Use High Medium Medium
Batch Processing Manual Excellent (Scriptable) Good
FSB5 Support Basic Good Excellent
Decryption Support No Yes (via -e flag) Partial
Audio Quality Depends on codec Raw dump High (Re-encoded)
Platform Windows Windows/Linux/macOS Multi-platform

Step-by-Step Scenario: Extracting from a Modern AAA Game

Let’s walk through a realistic scenario: extracting the voice lines from a modern title that uses FSB5 with Vorbis encoding.

  1. Locate the Files: Navigate to the game's Sound or Audio folder. Look for .fsb files. Often, there is a voices_en.fsb or similar.
  2. Initial Scan: Run fsbext.exe -l voices_en.fsb. If you see a list of filenames ending in .wav or .ogg, you are in luck. If you see an error, check for encryption.
  3. Extraction Attempt 1 (GUI): Open the file in Aezay’s FSB Extractor. If the audio plays within the tool, extract them. If they sound like garbled noise, proceed to Step 4.
  4. Extraction Attempt 2 (vgmstream): Since it's a modern title, it likely uses a custom Vorbis header. Drag the file into foobar2000 with the vgmstream plugin.
  5. Conversion: Select all tracks in foobar2000 -> Right-click -> Convert -> Quick Convert -> WAV. This will give you the cleanest possible audio files, ready for any player.

Advanced Topics: Understanding Sample Rates and Bit Depth

When extracting, you might notice that some files are 22050Hz while others are 44100Hz. This isn't an error in the extractor. Game developers often downsample incidental sound effects (like footsteps or distant birds) to save space, while keeping music and dialogue at higher sample rates.

When using a tool like fsbext with the -r (raw) flag, you are getting exactly what was stored in the bank. If you find that the extracted audio sounds "sped up" or "slowed down," it means the extractor failed to correctly identify the sample rate from the header. In these cases, you can manually fix the header using a hex editor or by importing the raw data into Audacity and specifying the correct sample rate.

The Role of FMOD Studio in Modern Games

In the past, games used FMOD Designer, which created simpler FSB files. Modern games use FMOD Studio, which focuses on dynamic, interactive audio. This means that a single "sound" in a game might actually be a complex event made up of multiple FSB samples layered on top of each other with real-time effects.

When you extract these samples, you are getting the "building blocks." You won't necessarily get the final sound you hear in the game (which might have reverb or pitch shifting applied by the game engine in real-time). This is an important distinction for modders who want to replace sounds; you need to replace the underlying sample, not the final event.

Summary of Recommendations

Choosing the right tool depends on your specific needs:

  • For Beginners: Use FSB Extractor (GUI). It handles most older games and is very intuitive for one-off extractions.
  • For Modders and Scripting: Use FSBext. The ability to use decryption keys and specific flags for ADPCM tags makes it indispensable for deep game modification.
  • For Highest Fidelity and Compatibility: Use vgmstream. Its ability to interpret custom FMOD Vorbis headers and handle loop points makes it the superior choice for music and voice extraction from modern titles.

Frequently Asked Questions

What is an FSB file? An FSB (FMOD Sound Bank) file is a proprietary container used in video games to store and manage multiple audio samples, including music and sound effects, within a single archive.

How do I convert FSB to MP3? The most effective way is to use the vgmstream plugin in foobar2000. Load the FSB file, select the tracks, and use the "Convert" function to output them as MP3 files. Note that converting to MP3 is a lossy process; converting to WAV is recommended if you plan to edit the audio.

Why does my extracted audio sound like static? This usually indicates that the FSB file is encrypted. You will need to find the specific decryption key for that game and use a tool like fsbext with the -e parameter to unlock the data.

Can I play FSB files in VLC? No, VLC does not natively support the FSB container or many of the custom codecs used inside them. You must extract the contents to a standard format like WAV or OGG first.

Is extracting audio from games legal? Generally, extracting audio for personal use, modding, or educational purposes falls under a gray area of "fair use," but distributing the extracted files (especially copyrighted music) is illegal. Always check the End User License Agreement (EULA) of the game.

Why are the filenames in my FSB file just numbers? Some games strip filenames to save space or hide content. If the filenames aren't in the FSB header, you might find them in a corresponding .fev or .bank metadata file.

What is the difference between FSB4 and FSB5? FSB5 is the newer version used by FMOD Studio. It supports more advanced codecs like Opus and has a more complex header structure compared to the older FSB4 format.

By utilizing the right combination of these tools, you can successfully navigate the complexities of FMOD sound banks and access the hidden audio treasures within your favorite games. Whether you are a modder looking to replace sounds or a fan wanting to listen to a game's soundtrack, these extractors provide the key to unlocking the FSB format.