|Getting started • Basics • Lua Scripting • Data.wak • Useful Tools|
|Audio • Enemies • Environments • Perks • Spells • Spritesheets • Materials • Image Emitters|
|Lua API • Enums • Special Tags • Utility Scripts • Sound Events • Enemy Information Table • Spell and Perk IDs|
This page explains how to: Extract the default audio files; how to Replace the default audio files with your own sounds; and how to Add additional custom audio files.
Extracting and Replacing the existing audio
.wav audio files are compressed in 20+
.bank files within the folder
- Download & extract "Fmod bank tools.zip" (discord link)
- Find any bank you'd like to edit (e.g.
event_cues.bank) and copy paste it into the bank folder of the zip you extracted.
- Run the
Fmod Bank Tools.exeand set your
Bank Source Folderto the path of the bank folder (full path,
C:/.../bank) and the
Wav Destination Folderto the path of the wav folder (full path again). Both of these folders should be in the extracted zip folder.
- Click the Extract button in the tool to get all of the audio files in the bank.
- Now you can create music using the game sounds!
- Replace (or add) any .wav files you want, edit the
bankname.txtin the wav folder to have the correct names of your sounds and then in the
Fmod Bank Tools.execlick Rebuild. If you get any errors, you can simply Ok through them until its finished.
- Get in-game and test (keep in mind this is mainly for replacing rather than adding, as you can do that with FMOD Studio instead with much more features).
NOTE: Because this replaces the bank, you cannot have multiple sound replacing mods!
Creating custom audio for Noita
Noita uses FMOD Studio as its sound effects engine, using the
2.0 version series. The basic principle is defining FMOD "bank" files consisting of all the sound effects and attaching individual events for each sound. These events are then referenced in the XML / Lua, which play the correct sound effect.
Check out the following directories to get started:
- Make sure you have the noita-fmod-project folder in your Noita directory.
- Install FMOD Studio version 2.01.05 from the official FMOD website.
- Open noita-mods.fspro in FMOD Studio, you should see an snd_mod folder which contains an example
createevent. In Noita, there are many different events, but for now, keep in mind
loop, as those are the most common.
- Clicking the
createevent in snd_mod will show you the example sound
worm_attack_bite_01which is in Async mode, has Randomization Automation for its pitch, and has Distance and lowpass parameters which can allow for effects in-game such as volume fading.
- Noita also has many Routing Groups which add effects to your audio such as reverb and equalization, to access these you'll need to go to the
Windowoptions and then
Mixer, where you can move your sounds into their respective groups, such as
snd_mod/create, this group is what you'll likely use the most.
- Once you've decided to make a sound in an event, you'll need to add it to a Bank so that Noita can use it as part of its assets. To do this, simply right click the event, go to
Assign to Bankand click the bank you're going to use (preferably something besides Master Bank).
- After all of the above, you can finally Build your FMOD project by going to
Fileoptions and doing
- We're not done yet, as Noita still doesn't know how to access the events in your bank, so you'll need to go back to
Fileoptions, and then to
Export GUIDs. This will be what you load in your init.lua script so that Noita has the references to your bank's sounds.
- Go into
noita-fmod-project/Buildand copy and paste the GUIDs.txt into your mod's directory.
- Go into
noita-fmod-project/Build/Desktopand copy and paste the
bankname.bank file (ignore Master Bank) you created in FMOD into your mod's directory.
- Open your mod's init.lua file and add with the path to your GUIDs.txt file.
- Open any xml files which you want to add your sounds to and add the respective
AudioLoopComponentdepending on the type of event you created in FMOD. An example
AudioComponentfor a projectile might look like this:
<AudioComponent file="mods/modname/directory/to/bankname.snd" <!-- .bank is replaced with .snd --> event_root="foldername/eventname" <!-- in fmod you created an event *folder* which had either a *create* or *loop* event --> set_latest_event_position="1" ></AudioComponent>
- Get in-game and experience success!
List of all default sound effects
See: Modding: List of Sounds (Currently incomplete)