BpmDJ containts three distinct part. The first program is the player, the second program is the selector and the third program is the music-analyzer. In this section we will explain the details of thedifferent analyzers. The contents of this section:
- Using the Bpm Counter
- The Beat graph
- The spectrum
The BPM counter of bpmplay is accessible via the 'BPM-counter' button of the main-pane. The bpm-counter window supports three tools.
A tapping bpm-counter, to get a rough idea of the tempo A fully automatic BPM counter (as described in previous sections) A spectrum analysis to retrieve the color of the song. If you want a rough estimate of the tempo of a song, press the tap button. Make sure that the song is playing at its normal tempo, otherwise your measurement will be wrong. If you want to get into the rhythm before tapping, press the reset key whole the time and suddenly start using the Tap-button. If you want to tap less, set the skip box on some value you like. For instance, if the skip-box is set to 4, the tapping counter will assume that with every tap, four beats have been passed. If you tap the beat, the tempo information will change immediately and give the best estimate of the tempo. However, if you want an exact BPM-count, you should continue with the automatic bpm-counter. Tapping the beat
To use the automatic bpm-counter, first specify the upper and lower bounds of the BPM. You can easily narrow these down by tapping the beat as described in previous section. The automatic counter is started with the Start button. Beware this might take a time ! If you need the tempo of a lot of songs, you should use the file selector bpmdj and measure the tempo of songs in batch overnight. The automatic bpm counter
The pattern analyzer can be used to see how the tempoline changes over time and how well the measured tempo is correct. To analyze a song, the pattern-analyzer will visualize hoirinzotally the different measures, while vertically the content of one such a measure is visualized. If the period (BPM) is correct, the song should show distinct visual lines. However, if the period is worng, or the song contains different tempos, or the drummer of the group doesn't actually care about being correct, then the visualisation will look something different.
The above picture shows the pattern visualisation of AlienPump (Tandu). As can be seen, the white 'strokes' go horizontally, so the period of this song is correct. If this was not the case, the white horizontal strokes would slant down or up. If this were the case then you can manually modify the tempo by using sliders A and B. Slider A is a fine tempo modification. Slider B is a coarse grain tempo modification. Once the music is 'horizontalized', you can press the 'set Tempo' button to make this tempo permanent.
In the two pictures below, we see on the left the song Anniversary Waltz (Status Quo). As can be seen, this song drifts slightly and the drummer clearly didn't think a steady rythm would be good in this piece of music. The right picture below is the pattern visualisation of the song XFile (Chakra & Edimis), this song comes from an 'already mixed' cd and as you can see the DJ who created the mix had to modify the tempo over time. In both pictures, the vertical red lines show where the song was playing at the moment of the snapshot.
BpmDj has also a much more colorfull mode in which wavelets are used to visualize the beatgraph. Altough much more slower it is a very good way to show the structure in the music. More information on the beatgraphs is presented below.


To obtain the color of a song, select a suitable cue-point, go to the bpm-counter window and select 'Fetch Spectrum'. Beware, this takes a while ! If you need to do this in batch, please use the file-selector bpmdj.
The basics for a good sound color detection lies in spectrum analysis. The spectrum of a song describes how much a certain frequency is present within the song. However, weighing different frequencies and making something useful from a spectrum analysis is not as straight forward as expected.
The first thing to note is that the human ear is very well suited to detect certain frequencies. Especially in the range of the human voice we are very capable of hearing well. However, on the higher frequency ranges (above 11500 Hz), humans are unable to distinguish different frequencies. Therefore, to correctly describe the sound color of a song we need to take into account how well the human ear perceives these frequencies. Luckily, such a scale exists and is called the Bark Scale.0-100 100-200 200-300 300-400 400-510 510-630 630-770 770-920 920-1080 1080-1270 1270-1480 1480-1720 1720-2000 2000-2380 2380-2700 2700-3150 3150-3700 3700-4400 4400-5300 5300-6400 6400-7700 7700-9500 9500-12000 12000-15500
The spectrum of a song is measured over 10 seconds at the last used cue-position. The strength of the different frequencies is measured and exported as 24 bands of the bark-scale. These 24 bands can then later be used in the selector to measure the 'color-distance' using an L^2 norm or to do a PCA analysis in which the 24 bands are reduced to the 3 most principals.

BpmDj
has a rythm
analyzer which works based on the obtained tempo and spectrum
information. Once those are known the analysis can be performed by
clicking on the 'Rythm' button
in the main window. The rythm analysis contains three
different panels. In every panel the brighter a spot is the more
'signal' has been measured. All the frequence scales are based on the
bark scale explained earlier.
If you
have configured a number of hosts to be able to work as a remote
bpmplay host (see section setup)
then these can also immediatelly be used to help in analyzing large
amounts of songs. To do so, simply go to the bpmdj file selector.
select a number of songs, click right and select 'Analyze,...'. The
only thing you need to do now is to enable one of the analysis boxes in
the upper widget.