I've decided to finally try beatmapping and the biggest problem I have faced so far is finding the correct timing. The traditional method of tapping to the rhythm is prone to errors and I don't trust myself to do accurately enough. Fortunately, I've found a method to effortlessly find perfect timing for most songs. I searched around and didn't find anything similar, so I've decided to write a quick guide.
This turned out to be rather long, but don't worry, it's easier that it may seem at first.
You will need:
Load the song into Audacity. (File > Open...)
Step 2
Switch the audio visualization from a waveform to a spectrogram.
Step 3
Zoom into about 5-10 seconds of the spectrogram and try to find a periodic pattern for beats. Try playing the song to confirm that what you think represents a beat does actually represent a beat. Sometimes the patterns may not be obvious, you may have to search in the middle of the song, but most songs should have them.
Here's a couple of examples:
Step 4
Select 8-12 (or even more) full beats and measure their length. Zoom into the each end of the selection to make sure it's accurate as possible.
When I say full beat, I mean the beat itself and everything to the next beat. In this example I've selected 8 full beats:
To measure the length of you selection select "Lenght" in the bottom of the screen.
Step 5
Do the math.
Find the length of a single beat (in miliseconds): divide the length you've just measured (in miliseconds) by the number of beats you've selected.
Find the BPM: divide 1 minute (or 60000 miliseconds) by the length of a single beat.
Simplified the formula for BPM would be:
BPM = (60000*number_of_beats_selected)/selection_length
Step 1
Import the default hitsound into the project. Again, turn the waveform into a spectogram.
Now take a close look at it. There is something rather peculiar about it.
As you can see there is an exponentially declining slope and a cluster just above it.
The declining slope is a bass-line, the cluster is the snare that you clearly hear.
Step 2
Align the cluster to the first beat in the song.
Step 3
Select the beginning of the hitsound. That is your offset. For the number, refer to "Selection Start" box below.
This will not be perfect just yet. Input both numbers into osu! and test the timing. If you feel like the hitsounds are too early or too late, try adjusting the offset. The perfect offset should be around +-30ms of the number you've got.
This turned out to be rather long, but don't worry, it's easier that it may seem at first.
You will need:
- Audacity - http://www.audacityteam.org/
- The default hitsound - http://up.ppy.sh/files/soft-hitclap.wav
- A high quality audio file of a song to analyze. YouTube converts will usually be insufficient.
Finding the BPM
Step 1Load the song into Audacity. (File > Open...)
Step 2
Switch the audio visualization from a waveform to a spectrogram.
Step 3
Zoom into about 5-10 seconds of the spectrogram and try to find a periodic pattern for beats. Try playing the song to confirm that what you think represents a beat does actually represent a beat. Sometimes the patterns may not be obvious, you may have to search in the middle of the song, but most songs should have them.
Here's a couple of examples:
Step 4
Select 8-12 (or even more) full beats and measure their length. Zoom into the each end of the selection to make sure it's accurate as possible.
When I say full beat, I mean the beat itself and everything to the next beat. In this example I've selected 8 full beats:
To measure the length of you selection select "Lenght" in the bottom of the screen.
Step 5
Do the math.
Find the length of a single beat (in miliseconds): divide the length you've just measured (in miliseconds) by the number of beats you've selected.
Find the BPM: divide 1 minute (or 60000 miliseconds) by the length of a single beat.
Simplified the formula for BPM would be:
BPM = (60000*number_of_beats_selected)/selection_length
Finding the offset
This may be a bit more complicated for some songs than others. If there is a clear first beat in the spectogram, then that's great. If not - good luck, I've got nothing.Step 1
Import the default hitsound into the project. Again, turn the waveform into a spectogram.
Now take a close look at it. There is something rather peculiar about it.
As you can see there is an exponentially declining slope and a cluster just above it.
The declining slope is a bass-line, the cluster is the snare that you clearly hear.
Step 2
Align the cluster to the first beat in the song.
Step 3
Select the beginning of the hitsound. That is your offset. For the number, refer to "Selection Start" box below.
This will not be perfect just yet. Input both numbers into osu! and test the timing. If you feel like the hitsounds are too early or too late, try adjusting the offset. The perfect offset should be around +-30ms of the number you've got.