fmod-toolkit
What it is and what it does
fmod_toolkit is a Python wrapper around FMOD Engine 2.00.10 that converts FMOD sound bank files (FSB format) into standard WAV audio files. It bundles pre-compiled FMOD libraries for Windows, macOS, and Linux, eliminating the need to manually install FMOD separately. You load FSB binary data, specify output parameters like channel count and sample rate, and iterate over the resulting WAV files to save them to disk.
The package depends on pyfmodex for the underlying FMOD bindings. It supports FSB files but does not yet handle RIFF-based .bank files. You can override the bundled FMOD library by setting the PYFMODEX_DLL_PATH environment variable, which is useful on unsupported platforms. The bundled Linux libraries have their executable stack flag cleared for security.
Use it for:
- Extract audio tracks from game sound banks for analysis, remixing, or archival purposes.
- Batch convert FSB files to WAV for use in audio editing or post-production workflows.
- Integrate FMOD sound asset extraction into game modding or asset management tools.
- Migrate audio from legacy FMOD-based projects to standard WAV format for compatibility.
- Automate sound bank processing in game development pipelines without manual library setup.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Extracts and exports audio from FMOD sound bank files (FSB format) to WAV format, with pre-bundled FMOD Engine 2.00.10 libraries for cross-platform use.
Yes, if you need to extract audio from FSB files and are comfortable with the FSB-only limitation. The MIT license is permissive, install friction is manageable with pre-built wheels, there are no known vulnerabilities, and the package is actively maintained. Not worth installing if you need to work with RIFF-based .bank files or require support for FMOD versions other than 2.00.10.
Install
fmod-toolkit on PyPI
pip
pip install fmod-toolkituv
uv add fmod-toolkitpoetry
poetry add fmod-toolkitInstalling fmod-toolkit
Before you install
Medium install friction due to compiled binary wheels; however, the package provides pre-built wheels for common platforms (Windows, macOS, Linux on x86_64, ARM, and musl systems) and supports Python 3.8+. Repository is active with recent commits.
License in practice
MIT License permits commercial and private use, modification, and distribution with minimal restrictions—only requiring preservation of copyright and license notices. No notable constraints for most use cases.
Quickstart
from fmod_toolkit import raw_to_wav
fsb_data = open('soundbank.fsb', 'rb').read()
for filename, filedata in raw_to_wav(fsb_data, 'soundbank', 2, 44100):
with open(filename, 'wb') as f:
f.write(filedata)
Requires pyfmodex as a runtime dependency; FSB files are supported but RIFF-based .bank files are not currently supported.
Verify before relying
- Whether FMOD Engine 2.00.10 meets licensing or feature requirements for your use case
- Performance characteristics when processing large or numerous FSB files
- Compatibility with FMOD files created by specific game engines or tools
Package facts
| License | MIT License Copyright (c) 2025 K0lb3 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the… (full text in the JSON record) (permissive) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 1 — pyfmodex |
| Maintenance | actively maintained — 315 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 136,587/month — #11,391 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: fmod_toolkit-0.1.3-cp38-abi3.abi3t-macosx_10_9_x86_64.whl; fmod_toolkit-0.1.3-cp38-abi3.abi3t-macosx_11_0_arm64.whl; fmod_toolkit-0.1.3-cp38-abi3.abi3t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; fmod_toolkit-0.1.3-cp38-abi3.abi3t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl; fmod_toolkit-0.1.3-cp38-abi3.abi3t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl; fmod_toolkit-0.1.3-cp38-abi3.abi3t-musllinux_1_2_aarch64.whl; fmod_toolkit-0.1.3-cp38-abi3.abi3t-musllinux_1_2_armv7l.whl; fmod_toolkit-0.1.3-cp38-abi3.abi3t-musllinux_1_2_i686.whl; fmod_toolkit-0.1.3-cp38-abi3.abi3t-musllinux_1_2_x86_64.whl; fmod_toolkit-0.1.3-cp38-abi3.abi3t-win32.whl; fmod_toolkit-0.1.3-cp38-abi3.abi3t-win_amd64.whl; fmod_toolkit-0.1.3-cp38-abi3.abi3t-win_arm64.whl; fmod_toolkit-0.1.3-cp38-abi3-macosx_10_9_x86_64.whl; fmod_toolkit-0.1.3-cp38-abi3-macosx_11_0_arm64.whl; fmod_toolkit-0.1.3-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; fmod_toolkit-0.1.3-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl; fmod_toolkit-0.1.3-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl; fmod_toolkit-0.1.3-cp38-abi3-musllinux_1_2_aarch64.whl; fmod_toolkit-0.1.3-cp38-abi3-musllinux_1_2_armv7l.whl; fmod_toolkit-0.1.3-cp38-abi3-musllinux_1_2_i686.whl
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
pyfmodexPyfmodex provides Python bindings to the FMOD…
permissive · top 15,000 on PyPI
soundfileReads and writes audio files in formats like…
permissive · top 1,000 on PyPI
miniaudioMiniaudio provides Python bindings for…
permissive · top 15,000 on PyPI
audiofileReads and writes audio files across formats…
permissive · top 15,000 on PyPI
SoundCardSoundCard plays and records audio across Linux,…
permissive · top 15,000 on PyPI
playsoundPlays audio files (MP3, WAV) and URLs from…
permissive · top 15,000 on PyPI
SigMFReads and writes Signal Metadata Format (SigMF)…
copyleft · top 15,000 on PyPI
soxPython wrapper that exposes SoX audio…
permissive · top 5,000 on PyPI
tinytagReads metadata (artist, title, duration,…
permissive · top 5,000 on PyPI
PyAudioPyAudio provides Python bindings for PortAudio…
permissive · top 5,000 on PyPI