Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UNZPP - ZIMO ZPP File Extractor

A CLI program in Go for extracting WAV audio files from ZIMO ZPP format files (unencrypted).

Description

UNZPP is a command-line tool that parses ZIMO Sound project files (.zpp format) and extracts all contained audio files as WAV files with proper headers.

The program supports:

  • 8-bit and 16-bit PCM files
  • Sample rates: 11025 Hz, 22050 Hz, 44100 Hz
  • Automatic detection of audio parameters from flags in the ZPP file
  • Preservation of original sound file names
  • Sound file type information (if defined)

Usage

./unzpp -i <input_file.zpp> [-o <output_directory>]

Parameters

  • -i - Required. Path to the input ZPP file
  • -o - Optional. Output directory for extracted WAV files (default: output)

Example

# Extract files from BR_194_ZIMO_16-Bit_S02_mfx.zpp to extracted_wav directory
./unzpp -i BR_194_ZIMO_16-Bit_S02_mfx.zpp -o extracted_wav

Output

The program will create WAV files in the output directory with names in the format:

[number]-[name]_[type].wav

Examples:

  • 002-Stand_BR194_typeFF.wav
  • 015-Schaltwer_mix_01-1_type88.wav
  • 037-Schaffnerpfiff_Echo_type08.wav

Each file contains:

  • Valid WAV header (RIFF)
  • Audio data in PCM format
  • Correct sample rate and bit depth

ZPP Format

The program supports unencrypted ZIMO ZPP files. File format:

  1. Header (0x00-0x7F): Magic bytes "SP" + configuration data
  2. File table (0x80-0x47F): 256 entries × 4 bytes:
    • Byte 0: Sound file type
    • Bytes 1-3: 24-bit offset (big-endian)
  3. File data: Each file contains:
    • Flags byte (specifies bit depth and sample rate)
    • 3 × 3-byte offsets (little-endian): data_end, loop_start, loop_end
    • PCM audio data
    • File name (with length)

Technical Details

Audio Flags (flags byte in file header)

  • Bit 7 (0x80): 16-bit PCM (if set), otherwise 8-bit
  • Bit 5 (0x20): 44100 Hz sample rate
  • Bit 2 (0x04): 22050 Hz sample rate
  • Default: 11025 Hz, 8-bit

Sound File Types (examples)

  • 0x01 - Short whistle
  • 0x02 - Long whistle
  • 0x06 - Air pump
  • 0x08 - Conductor's whistle
  • 0x09 - Station announcement
  • 0x0A - Coupling
  • 0x80 - Idle
  • 0x82 - Braking
  • 0x83 - Thyristor
  • 0x86 - Electric motor
  • 0x88 - Switchgear
  • 0x8E - Electric brake
  • 0xFF - Engine

License

This project is for educational purposes and analysis of ZIMO ZPP file format.

About

Extracts WAV files from a ZPP file (ZIMO decoder free sounds - only unencrypted, free for personal use)

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages