Beat Saber Custom Mapping:
Audio/Song Editing (Syncing & Making it louder)
Updated December 11th 2018: Guide now contains better workflow and more relevant information and less irrelevant information.
Update January 17th 2019: Added links to appropriate guides for more information on certain topics.
Update October 16th 2019: This guide has been updated and moved to the BSMG Wiki for Mapping. It now has improved procedures and more information than this version of the guide provides. Click here to visit the new guide!
Are you about to start a new Beat Saber map? Then this guide is for you! This guide will teach you how to find the Beat Per Minute (BPM), sync your song to that BPM so it will sync with the map editor’s beat grid and then turn up the volume of the song (if needed).
If you have further questions about audio/song editing and mapping you can ask in the #mapping-discussion Discord thread. If you have any questions or comments about this guide, feel free to DM me on Discord: Kolezan#6242.
Pro tip: Before you begin make sure you have a high quality source file of your song. For reasons why check n3tman’s guide on audio quality here.
Pro tip: The procedure below is a manual one, but Raynarch has a guide on automatic BPM finding and beat syncing; Check it out here.
1. Finding the BPM
Most modern music is recorded to a steady beat/metronome. To find the BPM you can first check SongBPM.com. They have already calculated the BPM of most songs. However, if you can’t find your song there you’ll have to calculate the BPM manually.
To do that, go to All8.com/Tools/BPM.htm and start the playback of your song in your favorite music player. While having the webpage in focus, tap any key to the beat (every ¼ note) for about 30 seconds and the tool will display the BPM of the song.
Take a note of the Nearest Whole value as we will use this for both the Click Track and in the map editor.
2. Generating a Click Track
- Load the song you want to map into Audacity (You need version 2.2.2 or greater).
- Add a new mono track (Tracks menu -> Add New – > Mono Track)
- Place the cursor at the start of the new track (Click in the track and press the Home key) and then click Generate menu -> Rhythm Track…
- Input the nearest whole BPM you got earlier into the Tempo field and enter the duration of the song in the Optional rhythm track duration field (the duration is displayed at the top right of the timeline). Copy the other recommended settings below:
Alternatively you can have the same pitch on the strong and weak beats as the map editor doesn’t distinguish these beats.
If everything is in order you will have something like this:
This Click Track is completely in sync with the beats in the map editor later when you input the same BPM in the editor, so let’s use this to line the song up to those editor beats.
3. Syncing to the Beat
To make it easier for us in the editor let us sync the song up to the beat so that we don’t have to use microsecond offset in the map editor which saves us from having to go back and forth in the editor menus like mad men trying to find the right offset but also have a future compatible map if the game ever changes drastically. But first:
GOLDEN RULE: Leave at least 3-4 seconds before the first mapped note. Players use this time to get ready.
Protip: Players want to slash cubes, not just stand there listening to things, or even silence. This is an interactive game, after all. Take note though that the intro to the song can still play from beat 0 and, in fact, is recommended to have an intro/countdown as it gives the player a feel for the song and rhythm before the first mapped note. Just don’t let the intro pass much over 8 seconds before the first note, in which case it is better to cut down the intro and fade the song in instead. (Similar to the outro editing; Select and delete, then select and Effect menu -> Fade In. Do this after you’ve synced the song to the beat.)
Let’s get to syncing:
- Select the Time Shift Tool ().
- Left click and hold then drag the audio to where you think it lines up with the clicks in the click track.
- Let go of the audio and play it back from the start to hear if it lines up. If it does not then adjust the audio again and playback again; repeat till it is correct.
- When you’ve found the beats of the song to match the Click Track, review the whole song to make sure that the BPM you got is the right one and that the song is in the same fixed BPM throughout the whole song. (If it isn’t then you can use Medicore Mapper editor’s variable BPM function to compensate for this; BennyDaBeast covers this in his video tutorial seen here.)
- Switch to the Selection Tool () and select the empty space between the audio clip and the start of the track (Yellow vertical lines will indicate the start and end edges when you select).
- Click Generate menu – > Silence…
- The right amount of silence should already be input automagically so just hit OK. (After generating the silence you can click the dark line in the song track to get rid of the cut.)
Below shows how it looks like when I’ve synced the beats of the song to the Click Track. Notice how I placed the first planned mapped note (cursor) between 3 and 4 seconds in in the timeline.
If the Click Track match throughout the whole song then congratulations, you’ve now synced your song to the beat that the map editor also uses! You can now delete the Click Track. We are still not quite finished though!
We also need to trim the end of the song so that the player doesn’t have to wait and look at nothing for a few seconds or more after the song has ended but the map has not. (The map will continue for as long as the audio file lasts even if it’s just silence.)
Protip: If you plan to fade out a song earlier than the natural ending/outro and you need to make the song louder then you should do Compressing and Limiting before applying a Studio Fade Out at the end. If so, jump to Chapter 5 and come back here once you have the right volume.
Go to the end of your song and play the last part and outro. From the point where you intend to have the last note, count to 3 or 4 seconds and stop the playback. This is where you should generally cut off your song (naturally all songs differ, so do what makes most sense).
Do the following:
- From the playback position where you stopped, drag a selection from here to the end of the track and press the Delete key.
- Make a new selection from the end of the song track and backwards to about 2 to 3 seconds.
- Go to Effects menu -> Studio Fade Out
The song will now fade out just before it gets to the end of the map and the player will see the scoring results much faster. Nice!
5. Making it Louder
Let me just start with saying that contrary to popular belief making audio louder does NOT involve using Amplify or Gain if the audio track is already peaking (as in, full volume). That’s just not how audio works! It will create a distortion that isn’t pleasing to the ear. Now, with that said:
Making the song louder isn’t always necessary as modern music usually push the volume as loud as possible already. But if you are reading this it means you’ve noticed that the slashes overpower the music too much in the game. This can be fixed with some somewhat simple editing in Audacity and by using your ears. (You can skip to chapter 6 if you don’t need this.)
Protip: It is not possible to adjust the note slash volume per map anymore so having the right volume of the song/audio is even more important. All other music in the game has a certain volume and if your map has a much lower volume it means the player can’t hear the music clearly, and what fun is a rhythm game where you can’t hear the music…?
First we compress
- Select all of the song track (Double click on the track) and go to Effects menu – > Compressor
- As a starting point, copy the settings below and click OK. Make sure that Compress based on Peaks is checked.
You can see that much of the body of the waveform is now more prominent, this makes the song louder. Great! Listen to the track now. If the dynamics of the song seem tighter then you can proceed to the next step.
However, if the song sounds squeezed or like it is too powerful between the peaks then you need to undo, open Compressor again, uncheck Compress based on Peaks and lower the Threshold value to something less (drag the slider to the right) and try again. Once you find it sounds good we can go on to limiting.
Then we limit
Compressing is only half the job. We shall now limit the peaks and bring up the volume further:
- Select the whole song (Double click the track)
- Go to Effects menu -> Limiter…
- As a starting point, copy the settings below:
The peaks will now be cut off and the whole track normalized, making it even louder yet again. Playback the result and listen to if it sounds louder but not ‘crushed’ and undefined. If it does sound ‘crushed’ then go back and lower the Input Gain for both channels equally and try again till it sounds right.
To be sure if you have the right volume of your song you can check it against other maps’ audio files in the CustomSongs folder; play back the songs by themselves and compare. If they appear to sound just as loud in the loudest parts then you’ve gotten the right volume! If not, go back and adjust the compressor and limiter thresholds.
6. Finishing (Exporting)
We now have our finished audio that you will use and hear in the editor and the game. To get a compatible sound file to use we need to do the following:
- Delete the Click Track (if you haven’t already done so), then click the File menu -> Export -> Export as OGG.
- Name your file song.ogg, or alternatively to a short version of the full song title (use only latin letters).
- Choose between 3-5 in the slider for quality. (For appropriate export quality read n3tman’s guide on audio quality.)
- Click Save.
The song in now ready to be imported into the map editor! Input the BPM you got earlier and make sure you use 0ms offset for all difficulties.