Mod Using WWise
Modding via WWise is more involved than the Overlay method but comes without the limitations. You can replace any sound event and also add custom music to your mod.
There are two WWise projects for the game. They can be found in your DOOM Eternal: idStudio install at
- π\DOOMEternal\idStudio\wwise_converts_project.zip
- π\DOOMEternal\idStudio\wwise_mods_music_project.zip
Converts WWise Projectβ
The Converts project was released to help modders convert wavs to wems correctly. It is intended to be used for everything but music.
βββ π Converts
β βββ π Actor-Mixer-Hierarchy
β βββ π Attenuations
β βββ π Audio Devices
β βββ π Control Surface Sessions
β βββ π Conversion Settings
β βββ π Dynamic Dialogue
β βββ π Effects
β βββ π Events
β βββ π Game Parameters
β βββ π GeneratedSoundBanks
β βββ π Interactive Music Hierarchy
β βββ π Master-Mixer Hierarchy
β βββ π Metadata
β βββ π Mixing Sessions
β βββ π Modulators
β βββ π Originals
β βββ π Presets
β βββ π Queries
β βββ π SoundBanks
β βββ π Soundcaster Sessions
β βββ π States
β βββ π Switches
β βββ π Triggers
β βββ π Virtual Acoustics
β βββ converts.wproj
Music_Mods WWise Projectβ
The Music_Mods project was released to help modders with the conversion of music tracks from wav to wem.
βββ π Wwise Music Mod
β βββ π ModsWwise
β β βββ π Actor-Mixer-Hierarchy
β β βββ π Attenuations
β β βββ π Audio Devices
β β βββ π Control Surface Sessions
β β βββ π Conversion Settings
β β βββ π Dynamic Dialogue
β β βββ π Effects
β β βββ π Events
β β βββ π Game Parameters
β β βββ π GeneratedSoundBanks
β β βββ π Interactive Music Hierarchy
β β βββ π Master-Mixer Hierarchy
β β βββ π Metadata
β β βββ π Mixing Sessions
β β βββ π Modulators
β β βββ π Originals
β β βββ π Package Projects
β β βββ π Presets
β β βββ π Queries
β β βββ π Scripts
β β βββ π SoundBanks
β β βββ π Soundcaster Sessions
β β βββ π States
β β βββ π Switches
β β βββ π Triggers
β β βββ π Virtual Acoustics
β β βββ music_mods.wproj
β βββ π ModWavs
β β βββ π ambience
β β β βββ ambience*.wav
β β βββ π fodder
β β β βββ fodder*.wav
β β βββ π generic
β β β βββ generic*.wav
β β βββ π weapons
β β β βββ mod*.wav
β β βββ test.wsources
β βββ π soundbanks
β β βββ π pc
β β β βββ mods.pck
β β β βββ music_mods.pck
β β βββ SoundbanksInfo.xml
β βββ converts.wproj
Prerequisitesβ
Several external tools are needed to create the right environment for making modified audio.
EternalAudioExtractorβ
This is a community developed tool which will let you extract audio from the vanilla game's soundbanks. The Extractor relies on revorb and ww2ogg. You can download each component separately or as a combined package. If you download them separately you'll need to place revorb.exe and ww2ogg.ese into a π\utils directory next to EternalAudioExtractor.exe.
The links for these tools can be found here.
Digital Audio Workstation DAWβ
You will need a DAW to work on the audio files themselves. We recommend using Audacity but you're welcome to use any DAW you like.
WWiseβ
We have provided a WWise project for the game. In order to add or change audio in your mod you'll need to download WWise itself.
Initial Setupβ
To prepare for modifying audio for a given mod you are working on here are the setup steps.
- Extract the EternalAudioExtractor somewhere on your computer.
- Create a
π\utilsfolder next to EternalAudioExtractor.exe. - Put revorb.exe and ww2ogg in the utils folder.
- Create a
- Create a
π\convertsfolder next to EternalAudioExtractor.exe. - Get and extract the game's WWise project to the converts folder.
- Inside the converts folder create the following folders
π\Originals\Exports\outputπ\Originals\Exports\wavs
- Create or open a mod in idStudio
- Locate the mod folder on your drive
- Open the soundbankinfo.xml in your mod folder
- Example location
πC:\Users\<username>\Documents\id Software\idStudio\<mod-folder>\base\sound\soundbanks\soundbanksinfo.xml
- Example location
The xml file is a manifest of all the sound files used in the game. We'll need certain information from this file in order to modify wems later.
Using EternalAudioExtractorβ
Locating Soundsβ
You'll need to locate where the sound files you want to work with are located. They can be in a number of different banks. The soundbanksinfo.xml file will tell you which.
- VO (Voice Overs) will have an entry in each localized language pck and snd files.
- SFX (Sound FX) will be in the sfx pck and snd files.
- Mod SFX are already loose wem files so the extract is not needed.
- Music tracks are located in the music pck and snd files.
- Mod music tracks are located in the music_mod pck and snd files.
Extracting Soundsβ
Next you will run the extractor. After you run the extractor successfully you should see several ogg files in your output directory.
Format:
EternalAudioExtractor.exe <filepath>\soundbank.snd <filepath to soundmetadata.bin> <output path> -c -u
Example:
EternalAudioExtractor.exe "C:Users\username\Documents\id Software\idStudio\modfolder\base\sound\soundbanks\pc\music_mod.snd" "C:Users\username\Documents\id Software\idStudio\modfolder\base\sound\soundbanks\pc" .\converts\Originals\Exports\output -c -u
Replacing Audioβ
Next you will need to replace the contents of the audio file you wish to modify.
- Open the ogg file in your DAW of choice.
- The ogg file will either be labeled with the sound id or filename from the soundbanksinfo.xml
- Modify the contents of the ogg with your own.
- Export the file to 48000Hz 32 float wav.
- Make sure you export it to
πOriginals\Exports\wavs
- Make sure you export it to
- Note the path from soundbanksinfo.xml. We will need this info when importing into WWise.
Converting Wav to Wemβ
Now we need to convert the wavs to wem files.
- Open the provided project file in WWise.
- Locate the exported wav file in
πOriginals\Exports\wavsfolder. - Drag and drop the wav file onto the Actor Mixer Hierarchy default work unit.
- An import dialog will appear.
- The import path should match the path in soundbanksinfo.xml
- The filename should also match the short name in soundbanksinfo.xml
- Import
- You should now see a sound in the Actor Mixer Hierarchy with the correct name and source file path.
- For music ensure that you set the conversion settings to vorbis.
- For sfx ensure that you set the conversion settings to wav.
- Convert
- Option one, right click the sound in the Actor Mixer Hierarchy and click convert. Best for single sounds.
- Option two, use the file menu to convert all audio. Best for batch conversion.
- Copy
- Locate your new wem file in your converts.cache folder. It should have the name you specified with a hash appended on the end.
- Copy the wem file to your mod's sound\soundbanks\pc folder.
- Rename the file to
<fileid>.wemwhere fileid matches the id in soundbanksinfo.xml
Testing in idStudioβ
You can now load your mod and test to see if the sound is working properly.
- Load idStudio with your selected mod.
- If you are using the sound inside a map make sure the map is built and ready to play.
- Switch to the engine tab and load your map. ( any map if the sound is generic )
- Make sure you can hear the sound or music given the proper events.
- If you are testing music make sure the correct switch and states are tested.
Packaging Audioβ
Once you are satisfied with how your mod sounds you can package it up.
- Open the Mod Packer.
- Ensure that advanced / unmodified file filters are enabled.
- Follow the standard packaging steps as outlined in Mod Packer
- Test your mod in Sandbox.
Modding Music with WWiseβ
To modify music sounds you will need to use the Wwise Music_Mods project.
- Open the project in Wwise.
- Modify the mod1, mod2, ... mod(n) structure with your music tracks.
- Test the game state changes to verify your track plays correctly.
- In
πModsWwise\Scriptsopen a command prompt and run thebuild.batfile. - In the Music_Mods project locate mod_music.pck in the
πsoundbanks\pcfolder. - Copy mod_music.pck to your mod's folder
πC:\Users\<username>\Documents\id Software\idStudio\<mod-folder>\base\sound\soundbanks\pc
- Modify your map to trigger the music and states you want.
- To package music follow the same steps for packaging other sounds.