Extracts audio from Humongous Entertainment .HE game files and saves them as WAV files.
Note: Only tested with Putt-Putt Saves the Zoo (
PUTTZOO.HE1/HE2/HE4). Other Humongous Entertainment titles may work but are untested.
.HE files use a hierarchical block structure (similar to RIFF/IFF) where all data is XOR-encoded with the key 0x69. The extractor:
- Scans each file for encoded block tags (
SOUN,DIGI,TALK) - Decodes block headers and locates
HSHD(audio metadata) andSDAT(raw PCM data) - Reads the sample rate, bit depth, and channel count from
HSHD - Writes a standard RIFF/WAVE file for each sound found
Place PUTTZOO.HE1, PUTTZOO.HE2, and PUTTZOO.HE4 in the same directory as the script, then run:
python3 extract_sounds.pyExtracted sounds are written to extracted_sounds/ as sound_0000.wav, sound_0001.wav, etc.
To use with a different game, edit the INPUT_FILES list at the top of extract_sounds.py.
Python 3 — no external dependencies.
MIT — see LICENSE.