Software
Get the Sonic Visualizer here. (Free)
Tutorial
- First import your audio file. I'm using Yuki no Hana(Artist: Mika Nakashima). It contains a multi-bpm part in the beginning.
This shows the waveform of this song.
- Layer-> Add Melodic Range Spectrogram-> All channel mixed.
This shows the melodic range spectrogram of this song. The dark blue light indicates the notes of this song. On the left there is a frequency axis which indicates the pitch. You can actually find individual notes if the song is "clean" enough. The higher harmonics is also shown.
- Zoom in.
Let's investigate this part. Yuki no hana is B Major. First part forms a G#m7(G# - B - D# - F#) chord, or VIm7 chord.
- Knowing which note is which sound, pulling out the timing is easy. Try to find out the millisecond number of each note and calculate the corresponding BPM(beat-per-minute).
This is the region that BPM is constantly changing. You can see the notes are seperating more and more. Use the previous technique to define a BPM each note.
Using Sonic Visualizer to detect drum kicks
This is showing the melodic range spectrogram of dimension tripper(Artist: nao). The bpm is 188.
- Let's focus on the lower part of the spectrum, which shows the drum kicks pattern(around 35Hz).
This drum kick shows 6.422s.
This drum kick shows 7.055s.
- 7.055s-6.422s=0.633s. These two drum kicks should be 2 beats apart which means 60/188*2=0.638s.
- In this way the drum kicks is always quite visible even the song itself is quite "noisy". This is very useful if you are trying to detect BPM timing section of songs that have drum kicks. It is also a good reference for mapping these drum kicks.