Ads keep us online. Without them, we wouldn't exist. We don't have paywalls or sell mods - we never will. But every month we have large bills and running ads is our only way to cover them. Please consider unblocking us. Thank you from GameBanana <3

Editing the BFSTP audio format

A Tutorial for The Legend of Zelda: Breath of the Wild (WiiU)

No ads for members. Membership is 100% free. Sign up!


New Method 8mo
  • Addition Added a step in the Hex edit method to improve accuracy of files
  • Addition Added new method involving the bfstp-fixer script by NanobotZ

Fixing original sound playing in music mods

This is a tutorial for editing the .bfstp (Binary caFe STream sound Prefetch) audio format so they will (hopefully) work correctly in game. The bfstp, explained to the best of my knowledge, basically contains the data for how the Stream music (.bfstm) plays. BFSTPs contain about one second of audio as well and since the game reads the bfstp first, that part of audio plays before playing the bfstm. This is why BGM mods have the issue of the original sound playing before the modded one plays.

To ensure the least amount of problems make sure your audio's sample rate matches with the game's original audio and has the same number of tracks.

BfstpFixer Method

This method utilizes by NanobotZ to create bfstp files automatically.
Please Note: This tool has only been tested on the Wii U version of Breath of the Wild. This may not work on the Switch version or other games such as Mario Kart 8 yet.

What you need:
  1. A copy of your custom made .bfstm.
  2. Python 3.7
  3. BCFSTM-BCFWAV-Converter by Aboood40091 (Source code)
  4. by NanobotZ

This tool should be very simple. Place the script in the same directory where BCFSTM-BCFWAV-Converter and your bfstm are stored. Then create a .bat file with the following code

for /r %%i in (*.bfstm) do python -format FSTP -bom 0 "%%i" 
for /r %%i in (*.bfstp) do python "%%i"
Run the bat file and you should get two bfstp files. Take the one with _fixed in the name, remove that part from the file name, and inject the bfstp into a .bars as you would with any bfwav edits.

Hex Editing Method

What you need:
  1. A copy of your custom made .bfstm and the corresponding .bfstp file. (.bfstp’s are stored in bars files which can be found in the Sound folder, or SARC archives in the Pack and Event folders) The bfstm should share the same name as the bfstp.
  2. Python 3.7
  3. BCFSTM-BCFWAV-Converter by Aboood40091 (Source code)
  4. HxD

1. Convert the copy of your custom .bfstm into bfstp format with the BCFSTM-BCFWAV-Converter. Put it in the same folder that is in and use this command for /r %%i in (*.bfstm) do python -format FSTP -bom 0 "%%i" or make a .bat file and run it.

2. Open both your newly made bfstp and the original bfstp in HxD.

(Left: Original , Right: Custom)

3. In your custom bfstp you will see a part that says “SEEK…” Highlight everything from there until “PDAT” and remove it.

4. Copy the INFO section from the custom bfstp to the original.

5. Scroll down to the end of the original bfstp and keep track of the last line number.

6. On your custom bfstp, start 2 lines below where “PDAT” is and highlight everything until you reach the same line as the last line of the original bfstp. Copy everything that was highlighted.

7. Now highlight the same lines on the original bfstp and paste what you copied into the original. Make sure that the lines match up and that the bsftp data stays the same in terms of length.

8. Save the edited bfstp and inject it into a .bars file as you would with any bfwav edits.

Other Notes:
  • If you are doing this with Switch files, make sure you have a bfstm made for the Switch and the Switch version of the bfstp. Use the command for /r %%i in (*.bfstm) do python -format FSTP -bom 1 "%%i" when converting your bfstm.

Sign up to access this!


Share banner
Image URL
HTML embed code
BB embed code
Markdown embed code


Tutorial Writter
notmuhHoriz Joined 1y ago
Tool Devs
NanobotZ Joined 9mo ago
132 points Ranked 62859th
Special Thanks
Yainskofso Joined 2y ago
909 points Ranked 41403rd
7 medals 1 rare
  • Returned 1000 times Medal icon
  • One month a member Medal icon
  • Returned 100 times Medal icon
  • 6 months a member Medal icon
  • Submission featured Medal icon
  • 1 year a member Medal icon
Help for discovering this fix


notmuhHoriz avatar
notmuhHoriz Joined 1y ago
Sign up to access this!
Sign up to access this!
Sign up to access this!


Sign up to access this!



Difficulty Level



  • Share on Reddit
  • Share on Twitter
  • Share on Facebook
  • Today's Pick
    Featured on Jan 21 2019
  • 4
  • 6.9k
  • 3
  • 10mo
  • 5mo
  • 8mo

More Sound Tutorials