It's me sitting at a desk, turning away from the two displays in the background to look at the camera. I'm wearing a white shirt. Dรกvid Bรกrdos
© 2025-2026
My Computer
Categories
Network neighborhood
Degoogling
Along the Edge OST
My Everyday Superpower
Date Day
Five Curious Habits of My Poodle
The Z323 said goodbye
My very first blog
A Library Without Walls
Memories Taken by the Heat
EyeSpace
Bombanana!
Blaugust 2026
The fifth grandmother
Replacing Instagram: EyeSpace
Mobile OSes (featuring Fairphone 5)
Daily sparks - May 2026
Who knows that you blog?
How I dash
Wander Navigator
I dream of...
Intersecting interests
Along the Edge
My oldest things
My Phones
Road 96 - My Journey
Custom Font in JetBrains Terminal
Snowfall
Refactoring: Yeelight GUI
Gaming backlog
Clean patching
Company culture
KDE Neon
Blaugust - Summary
About Gridranger
Space Colony
Friendships in my life
Jousting in video games
Helsinki Biennial
Data & Encryption
Intro through traits
Video games that made me learn
Family history
Random facts about me
Along the Edge OST

Along the Edge OST๐Ÿ”—

I really loved the video game Along the Edge. It led me through an internal journey I wrote about in this post. I found only a single piece of the soundtrack on a video-sharing site, and listened to it repeatedly. It brings back the mood of the game and helps me recall the feelings I had while I played the game.

If only I could find more. Then I remembered how I extracted soundtracks of games in my childhood, and challenged myself to see if I'm still capable of doing that.

Step 0 - Locating the music๐Ÿ”—

Since I'm using Linux, the game resides under ~/.steam/steam/steamapps/common/Along\ the\ Edge. After a short time clicking back and forth, I found a candidate file ~/.steam/steam/steamapps/common/Along\ the\ Edge/Along\ the\ Edge_Data/StreamingAssets/Music.bank.

It was rather small, but considering the game's length and the number of themes I remembered, it seemed a realistic match.

Step 1 - Stripping the data๐Ÿ”—

During the search, I noticed a file mentioning Unity engine, so it gave me a direction for which tools to look for.

Many of the tools recommended for asset extraction were Windows-only, and I didn't want to tinker with Wine.

On the other hand, I found a post about another Unity-based game, Subnautica. It said:

open one of the .bank files with a hex editor

make a backup of the files you want to edit!

in the hex editor search for FSB5

remove everything before FSB5

save it as "name".fsb and in a different location than the original

This was quite simple, even without a hex editor. I navigated to the folder ~/.steam/steam/steamapps/common/Along\ the\ Edge/Along\ the\ Edge_Data/StreamingAssets, then executed the following command:

grep -oba "FSB" Music.bank

It printed the text (and only that) and the byte offset while handling the binary file as text. It returned: 40832:FSB. Next, I followed the recommendation to discard everything before and save the result to a new file with this command:

dd if=Music.bank of=Music.fsb bs=1 skip=40832

Step 2 - Finding the tool๐Ÿ”—

I moved the FSB file to a separate folder to work on it and avoid polluting the game's installation folder.

Then I downloaded vgmstream. It wasn't the first tool I tried, but it was the one that worked. I extracted it next to the FSB file.

vgmstream-cli -m Music.fsb

The command returned the metadata:

metadata from: FMOD FSB5 header
bitrate: 96 kbps
stream count: 17

17 tracks! That confirmed that I was searching in the right place.

Step 3 - Getting the loot๐Ÿ”—

I love Python, but it would have been overkill for this, so I used bash.

for i in {1..17}; do                          
    NAME=$(./vgmstream-cli -s "$i" -m Music.fsb | awk -F': ' '/stream name/ { print $2 }')
    WAV_NAME="${NAME}.wav"
    MP3_NAME="${NAME}.mp3"
    echo "Extracting: ${NAME}"
    if ./vgmstream-cli -s "$i" -o "${WAV_NAME}" Music.fsb; then
        if ffmpeg -loglevel error -y -i "${WAV_NAME}" -codec:a libmp3lame -q:a 2 "${MP3_NAME}"; then
            rm "${WAV_NAME}"
        fi
    fi
done

Knowing there were 17 tracks, I iterated from 1 to 17. The script wrote out the track's metadata, then captured its title to construct the WAV and MP3 file names from it. Next, it exported the track, saving it as WAV, and in case of success it converted it to MP3. Once done, it removed the WAV.

My bash scripts usually don't work on the first try, but I was pleased with the result.

Step 4 - Finishing touches๐Ÿ”—

I used the Krusader file manager's multi renamer to polish the file names and Kid3 audio tagger to fill the ID3 info and add cover art.

Bottom line๐Ÿ”—

Enjoy the soundtrack, but please don't share it. There must be a reason it was not released on streaming services. Let's respect the decision of the author and the studio.

Also, it might work for other Unity-based games too. Feel free to comment if it was useful for you.


The original version of this post is part of the Blaugust 2026 series on my blog along with:

๐Ÿ“† Posted:๏ธ 2026-08-12
๐Ÿท๏ธ Tags: Blaugust2026GamingMusic