Skip to main content
The audio converter handles all format conversion needed for audio modding, including specialized support for Wwise WEM format used by Zenless Zone Zero.

What it does

The audio converter provides bidirectional conversion between standard audio formats and game-specific formats:
  • WEM to WAV: Decode Wwise audio files for editing and playback
  • Any format to WAV: Convert MP3, FLAC, OGG, and other formats to WAV
  • WAV to WEM: Encode audio for game compatibility
  • Batch conversion: Process entire folders of audio files at once
  • Automatic normalization: Adjust volume levels to match game standards
  • Format detection: Automatically choose the best conversion method

Supported formats

Input formats

The converter accepts:
  • WEM: Wwise audio (game format)
  • WAV: Waveform audio
  • MP3: MPEG audio
  • FLAC: Free lossless audio codec
  • OGG: Ogg Vorbis
  • M4A: MPEG-4 audio
  • AAC: Advanced audio coding
  • OPUS: Opus audio
  • WMA: Windows media audio

Output formats

  • WAV: Uncompressed PCM audio (for editing)
  • WEM: Wwise audio (for game modding)
WAV is used as an intermediate format. All audio is converted to WAV first, then optionally to WEM for game use.

Conversion modes

WEM to WAV conversion

Decoding WEM files for editing or playback: Primary decoder: vgmstream-cli
  • Specialized WEM decoder
  • Supports all Wwise audio codecs
  • Recommended for best compatibility
Fallback decoder: FFmpeg
  • General-purpose audio tool
  • Works for simpler WEM encodings
  • Used if vgmstream fails or is unavailable
The converter automatically tries vgmstream first, falling back to FFmpeg if needed.
Install vgmstream for the most reliable WEM decoding. FFmpeg may fail on some WEM files that use advanced Wwise features.

Any format to WAV conversion

Converting standard audio formats: Encoder: FFmpeg
  • Supports all common audio formats
  • Handles codec detection automatically
  • Applies normalization filters
Output specifications:
  • Codec: PCM 16-bit signed (pcm_s16le)
  • Sample rate: 48000 Hz (configurable)
  • Channels: 2 (stereo, configurable)

WAV to WEM conversion

Encoding audio for game use: Encoder: Wwise Console
  • Official Audiokinetic tool
  • Required for WEM creation
  • Must be installed separately
Wwise Console creates WEM files with settings that match the game’s audio specifications.
WAV to WEM conversion requires Wwise installation. Install it from Settings > Tools > Install Wwise.

Audio normalization

By default, the converter applies loudness normalization to match game audio levels:

EBU R128 standard

  • Target loudness: -9 LUFS (loud, suitable for games)
  • True peak limit: -1.5 dBTP (prevents clipping)
  • Loudness range: 11 LU
This ensures your custom audio has similar volume to the game’s original audio.

When to normalize

Enable normalization (default) when:
  • Importing music or sound effects
  • Source audio has inconsistent volume
  • Audio sounds too quiet or too loud in-game
Disable normalization when:
  • Source is already professionally mastered
  • You want exact volume preservation
  • Making subtle volume adjustments manually
The audio browser’s “Normalize audio” toggle controls whether normalization is applied during audio replacement. Enable it for most use cases.

Batch conversion

Process entire folders of audio files:

WEM to WAV batch

Converts all WEM files in a folder:
converter.batch_convert_wem_to_wav(input_dir, output_dir)
  • Scans folder for .wem files
  • Creates output directory if needed
  • Converts each file to WAV
  • Reports success/failure for each file

Any format to WAV batch

Converts all supported audio files:
converter.batch_convert_to_wav(input_dir, output_dir, normalize=True)
  • Finds MP3, FLAC, OGG, M4A, AAC, OPUS, WMA files
  • Applies normalization if enabled
  • Maintains original filenames (changes extension)

WAV to WEM batch

Converts all WAV files to WEM:
converter.batch_convert_wav_to_wem(input_dir, output_dir)
  • Requires Wwise installation
  • Processes all .wav files
  • Uses Wwise Console for encoding

Command-line usage

The converter can be run from the command line:

Single file conversion

python audio_converter.py input.wem output.wav
python audio_converter.py input.mp3 output.wav
python audio_converter.py input.wav --mode=wav2wem

Batch folder conversion

python audio_converter.py extracted/
python audio_converter.py music_folder/ ./wav --mode=any2wav
python audio_converter.py wav_folder/ ./wem --mode=wav2wem

Conversion modes

  • wem2wav: WEM to WAV (default)
  • any2wav: Any format to WAV
  • wav2wem: WAV to WEM (requires Wwise)

Technical details

Tool locations

The converter automatically finds tools: Windows:
  • FFmpeg: tools/audio/ffmpeg/bin/ffmpeg.exe
  • vgmstream: tools/audio/vgmstream/vgmstream-cli.exe
  • Wwise: tools/wwise/WWise/Authoring/x64/Release/bin/WwiseConsole.exe
Linux:
  • System-installed tools via which command
  • Package manager installations (pacman, apt)

FFmpeg parameters

For standard audio conversion:
ffmpeg -i input.mp3 \
  -af loudnorm=I=-9:TP=-1.5:LRA=11 \
  -acodec pcm_s16le \
  -ar 48000 \
  -ac 2 \
  -y output.wav
  • -af loudnorm: Apply EBU R128 normalization
  • -acodec pcm_s16le: Use 16-bit PCM
  • -ar 48000: Set 48kHz sample rate
  • -ac 2: Use 2 channels (stereo)
  • -y: Overwrite existing files

vgmstream parameters

For WEM decoding:
vgmstream-cli -o output.wav input.wem
  • -o: Specify output file
  • Automatically detects WEM codec
  • Handles Wwise-specific features

Error handling

The converter implements fallback behavior:
  1. Try vgmstream for WEM files
  2. Fall back to FFmpeg if vgmstream fails
  3. Report specific errors for missing tools
  4. Continue on individual failures during batch processing

Integration points

The converter is used throughout ZZAR:

Audio browser

  • Decodes WEM for playback preview
  • Encodes custom audio for replacement
  • Applies normalization during replacement

Mod creator

  • Extracts audio from PCK files
  • Converts user audio to game format
  • Processes batch imports

Mod manager

  • Handles audio during mod application
  • No direct conversion (uses pre-converted WEMs)

Installation requirements

Windows

Install from Settings > Tools:
  1. Install Audio Tools button
    • Downloads and installs FFmpeg
    • Downloads and installs vgmstream
  2. Install Wwise button
    • Downloads Wwise Console
    • Required for WAV to WEM conversion

Linux

Install via package manager: Arch Linux:
sudo pacman -S ffmpeg vgmstream
Ubuntu/Debian:
sudo apt install ffmpeg vgmstream-cli
For Wwise, run the setup script:
python setup_wwise.py

Performance considerations

  • WEM decoding: Very fast with vgmstream, slower with FFmpeg
  • Normalization: Adds ~1-2 seconds per file for analysis
  • WEM encoding: Slowest operation, ~2-5 seconds per file
  • Batch operations: Process files sequentially, not parallel
For large batch conversions (100+ files), expect several minutes of processing time. The converter shows progress for each file.

Troubleshooting

“FFmpeg not found”: Install FFmpeg from Settings > Tools (Windows) or via package manager (Linux). “Audio conversion tools not found”: Install both FFmpeg and vgmstream. Both are needed for full functionality. “Wwise is not installed”: Install Wwise from Settings > Tools to convert WAV to WEM. “Failed to convert [file]”: The file may be corrupted, use an unsupported codec, or require vgmstream. Check console output for details. Converted audio sounds distorted: Try disabling normalization if the source audio is already professionally mastered. Volume too quiet in-game: Enable normalization or manually increase source audio volume before conversion. “WEM files require vgmstream-cli”: FFmpeg couldn’t decode the WEM file. Install vgmstream for better compatibility.

Build docs developers (and LLMs) love