ReNormalizer: Automated Audio Normalization in Wwise
ReNormalizer is a Python-based tool that uses the Wwise Authoring API (WAAPI) to automatically re-normalize audio files directly within your Wwise project. This eliminates the need to export, process externally, and re-import audio files.
What Is ReNormalizer?
When working on game audio projects, you often need to adjust the normalization of multiple audio files after initial import. Traditionally, this requires exporting files from Wwise, processing them in a DAW or audio editor, and re-importing them—a time-consuming workflow that breaks your creative flow.
ReNormalizer automates this entire process by directly accessing and modifying audio files in your Wwise project, applying normalization based on your specifications, all from within the Wwise interface.
How to Use ReNormalizer
Step 1: Select Your Audio
In Wwise, navigate to the Audio File Editor and select the audio file(s) or container(s) you want to normalize. You can select multiple files at once for batch processing.
Step 2: Access the Tool
Right-click on your selection and navigate to the "waapi-tools" context menu. Select "ReNormalizer" from the list.
Step 3: Configure Normalization
A dialog window will appear with normalization options:
- Target Peak Level (dB): Set the desired peak level for normalization (e.g., -0.3 dB)
- True Peak vs Peak: Choose between true peak limiting (more accurate) or standard peak normalization
- Apply to Children: If you've selected a container, choose whether to apply normalization to all child audio files
Step 4: Process
Click "Apply" and the tool will process your audio files. You'll see progress feedback as each file is normalized. The original files are backed up automatically before processing.
Use Cases
- Batch Normalization: Normalize entire folders of footsteps, impacts, or ambiences in seconds
- Consistency Across Assets: Ensure all variations of a sound effect have consistent peak levels
- Quick Adjustments: Fine-tune levels without leaving Wwise
- Asset Preparation: Prepare audio before applying Wwise's built-in processing
How It Works: Technical Details
WAAPI Integration
ReNormalizer uses the Wwise Authoring API to communicate with Wwise. When you select an object and run the tool, it performs the following steps:
- Query Object Information: Uses
ak.wwise.core.object.getto retrieve details about selected objects - Get File Paths: Extracts the physical file paths of audio files using
audioSource:originalWavFilePathproperty - Create Backup: Copies original files to a backup directory with timestamps
- Audio Processing: Uses the
pydublibrary to load and analyze audio data - Peak Detection: Calculates current peak levels in the audio file
- Normalization Calculation: Determines the gain adjustment needed to reach target peak
- Apply Gain: Applies calculated gain to the audio file
- Export: Saves the normalized audio back to the original location
- Wwise Refresh: Triggers Wwise to reload the modified files using
ak.wwise.core.project.save
Key Code Components
The tool leverages several Python libraries:
- waapi-client: Handles WebSocket communication with Wwise
- pydub: Provides audio file manipulation capabilities
- numpy: Performs fast audio sample calculations
- tkinter: Creates the user interface dialog
Error Handling
ReNormalizer includes robust error handling to prevent data loss:
- Validates file paths before processing
- Creates timestamped backups of original files
- Checks for file locks (e.g., if Wwise has files open)
- Provides detailed error messages for troubleshooting
- Rolls back changes if processing fails mid-batch
Tips and Best Practices
- Always test on a small batch first before processing large libraries
- Keep your backup folder—you can restore from it if needed
- Use true peak limiting for files that will undergo further processing
- Consider your target platform's headroom requirements when choosing peak levels
- Process similar sounds together (e.g., all footsteps) for consistency
Conclusion
ReNormalizer demonstrates the power of WAAPI for creating custom workflows. By automating tedious normalization tasks, sound designers can focus on creative decisions rather than file management. The tool is open source and available on GitHub, where you can examine the code, contribute improvements, or use it as a foundation for your own WAAPI tools.