-
Notifications
You must be signed in to change notification settings - Fork 7
Adding Custom Audio
You'll need:
- FMOD Studio 1.10.* (Don't use FMOD Studio 2.*, as it is incompatible with Celeste and will break projects made in 1.*. Also note that despite them being labeled as
unsupported
you can still download these versions, and they should still work fine for you.). You will find it on the FMOD downloads page 🔗 (you need to create an account, but the program is free). - The Celeste FMOD project: you will also find it on the FMOD downloads page 🔗, in the Learning Resources section. Make sure to read the EULA.
FMOD Studio is compatible with WINE.
Important
Don't modify and share modified music, sfx, ui and master banks.
If you have any further questions regarding audio mods, ask for help in the #modding_help channel on the Discord server.
This is a optional trivial setup that will reduce your filesizes for all future banks significantly.
- Open the Celeste FMOD project in FMOD Studio:
fmodstudio20000celeste-project/FMOD Studio Celeste Project/celeste_audio.fspro
. - On the dropdown at the top, select Edit > Preferences.
- Click on Build, then on Desktop in the "Project Platform" section.
- Scroll down until you can see the "Quality" parameter. This should be at 80 by default, but changing it to 50 will reduce filesizes significantly.
Here is a step-by-step guide to create a bank with music you have as sound files:
- Open the Celeste FMOD project in FMOD Studio:
fmodstudio20000celeste-project/FMOD Studio Celeste Project/celeste_audio.fspro
. - On the left panel, switch to the Banks tab, and create a new bank for your mod. You need 1 bank per mod: if you have multiple tracks for the same mod, you can fit them all in one bank. Name it, for example,
yournickname_mapname
.
- Select File > Import Audio Files... then browse to your song. This brings up a new "Audio Bin" window. You'll want to right click on your song, then select "Create New Event":
Choose "2D Event", hit Create, then close the Audio Bin window.
-
On the left panel, switch to the Events tab: you'll find your song there. Drag it into a directory with your nickname and rename it so that the name doesn't contain symbols / spaces / etc.
-
Assign your song/sound to your bank:
-
Re-route your new event to the right bus:
-
Open the mixer window.
-
Right-click your event and reroute the event to the mains group. Don't create a new group.
-
You can now close the mixer window.
-
-
Add the fade parameter to your music:
-
Add the shared fade parameter by clicking the (+) tab.
-
Add automation to the master volume in the fade parameter tab.
-
Add two points at the 2 edges of the graph: -∞ dB to 0.00 dB
-
You now have a "fade" cursor on top of the screen, adjusting now will control the music volume. This is what music fade triggers use to adjust the music volume as well.
-
-
Make your music loop:
-
Switch back to the Timeline tab, then right click the black logic track above your audio track, and select "Add Loop Region".
-
Extend the loop region to however you see fit.
- Press alt to move it with more precision. And to zoom in, drag the zoom bar which is under where you would place your audio.
-
-
Right-click your bank and press Build. When this is done, you will find your bank in
fmodstudio20000celeste-project/FMOD Studio Celeste Project/Build/Desktop
.- Take only the .bank file that has the name of the bank you created earlier, for example
yournickname_mapname.bank
(don't take Master Bank.bank and other ones, those are the vanilla banks) and copy it to your mod's folder, inMods/yourmod/Audio
.
- Take only the .bank file that has the name of the bank you created earlier, for example
-
Generate the GUIDs.txt:
Once generated, you'll find it in fmodstudio20000celeste-project/FMOD Studio Celeste Project/Build/GUIDs.txt
. Copy it to your mod's folder, in Mods/yourmod/Audio
and rename it to yourbankname.guids.txt
:
- In Lönn, you can use your music by typing its event name manually. For example, if you have this in the Events tab:
You can use this in Lönn:
Type the path manually, it does not appear in the dropdown. That's normal!
The procedure to add custom sounds is similar to this, but sounds need to be redirected to another bus and you can skip the "make it loop" and "add a fade parameter" steps. For gameplay sounds, use the gameplay_sfx/game/general/yes_pause
bus. And for ambience sounds, use the gameplay_sfx/ambience
bus.
If you would like to overwrite vanilla music/sounds, e.g. for use in a global skinmod:
- Go to the Event in the FMOD sidebar that you'd like to replace, right click on the Event name and select Move into New Folder (you can Ctrl+Click multiple events if they are in the same folder to save time). You can name the resulting folder in any way you like, but something like "vanilla backup" will help keep your project easier to understand for future reference.
- Right click the Event in that new folder you just created, select Copy, then paste into the exact same location that the Event was in originally. This is the most important part - the Event path must remain exactly the same in order for it to be overriden and your changes to appear in-game. So in my example, I've pasted the event
dash_red_left
back under the folder pathchar/madeline
:
- Right click the newly pasted Event, select Assign to Bank and select the bank for your mod (see Step 2 of the above tutorial for creating new banks). This means you will not redistribute the entirety of the vanilla banks with your mod, which is probably violating some copyright laws and will save you from including well over 100mb of unnecessary data in your mod.
- You are now free to make whatever edits you like to the audio in this new Event. Once you're finished, follow Steps 9 and 10 above to build your mod's bank, export the GUIDs and add them to the Audio folder in your mod. If your mod is loaded by Everest and no other loaded mod tries to overwrite the same Event, you should now hear the changes in audio.
Warning
This process is only viable as of Everest version 3014, so be sure to set this as the minimum required version to install your mod in your everest.yaml. On versions below this, if two separate mods try to overwrite the same event, the game will crash.
Home
Contributing
FAQ
Useful Links
Your First Custom Map
Your First Texture Pack
Mod Setup
Custom Maps
Texture Packs
Uploading Mods
Generated Dialog Keys
Reference Code Mod🔗
Vanilla Audio IDs
Character Portraits
Mod Structure
Debug Mode
Command Line Arguments
Environment Variables
Install Issues
Common Crashes
Latency Guide
everest.yaml Setup
Mapping FAQ
Map Metadata
Vanilla Metadata Reference
Adding Custom Dialogue
Overworld Customisation
Entity & Trigger Documentation
Custom Entity List🔗
Camera
Ahorn Scripts
Custom Tilesets
Tileset Format Reference
Stylegrounds
Reskinning Entities
Skinmods
Decal Registry
Chapter Complete Screen
Custom Portraits
Adding Custom Audio
Advanced Custom Audio
Code Mod Setup
Making Code Mods
Mod Settings
Everest Events
Understanding Input
Logging
Cross-Mod Functionality
Recommended Practices
Core Migration Guide
Lönn Integration🔗
Custom Events
Adding Sprites
Adding Preexisting Audio