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:
My Computer
Categories
Network neighborhood
Degoogling
My Everyday Superpower
Date Day
Five Curious Habits of My Poodle
The Z323 said goodbye
My very first blog
Memories Taken by the Heat
EyeSpace
Bombanana!
Blaugust 2026
The fifth grandmother
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
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