Getting started • Basics • Lua Scripting • Data.wak • Useful Tools |
Audio • Enemies • Environments • Perks • Spells • Spritesheets • Materials • Image Emitters |
Lua API • Enums • Special Tags • List of all 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[]
The .wav
audio files are compressed in 20+ .bank
files within the folder Steam\steamapps\common\Noita\data\audio\Desktop\
.
- Download & extract "Fmod bank tools.zip" (archived 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.exe
and set yourBank Source Folder
to the path of the bank folder (full path,C:/.../bank
) and theWav Destination Folder
to 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.txt
in the wav folder to have the correct names of your sounds and then in theFmod Bank Tools.exe
click 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 version 2.01.05. 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:
Noita/tools_modding/noita-fmod-project/
Noita/mods/example/
Setup[]
- 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.
FMOD[]
- Open noita-mods.fspro in FMOD Studio, you should see an snd_mod folder which contains an example
create
event. In Noita, there are many different events, but for now, keep in mindcreate
andloop
, as those are the most common. - Clicking the
create
event in snd_mod will show you the example soundworm_attack_bite_01
which 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
Window
options and thenMixer
, where you can move your sounds into their respective groups, such asgame_sfx
which housessnd_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 Bank
and 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
File
options and doingBuild
. - 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
File
options, and then toExport GUIDs
. This will be what you load in your init.lua script so that Noita has the references to your bank's sounds.
Noita[]
- Go into
noita-fmod-project/Build
and copy and paste the GUIDs.txt into your mod's directory. - Go into
noita-fmod-project/Build/Desktop
and copy and paste thebankname
.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.
ModRegisterAudioEventMappings("mods/modname/directory/to/GUIDs.txt")
- Open any xml files which you want to add your sounds to and add the respective
AudioComponent
orAudioLoopComponent
depending on the type of event you created in FMOD. An exampleAudioComponent
for 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)