How To Use BpmDj: kbpm-dj


Introduction

As already explained in section [WVB --REF] the program relies on the availability of a certain directory structure. The music directory must contain all mp3 files you wish to use. The index directory will contain all necessary meta-information with respect to the songs present in the music directory. These two directories are separated because it might not always be possible to modify information within the mp3 files.

Playing Songs

Starting Songs

When you open up kbpm-dj you will see a list of songs available to you to play. To play a song, all you need to do is double)-click it. If it is the first song that is played it will be playing as the main song. If already a main song is playing, it will be considered a song for the monitor player. Once the main song quits the monitor will become the main song, and thus a new monitor song can be chosen by double clicking it. So basically it is not at all difficult. Every time a monitor starts it will play at a tempo matching the current main song.
 

Scenario 1: Playing a chain of three songs

  • Start song A, this Will start playing in the main.
  • Start song B, this will start playing in the monitor at the tempo of the main song
  • Listen to the monitor and choose a suitable moment to mix them,
  • After mixing the main song cannot be heard anymore.
  • Close the player of song A.
  • The bpmdj file selector will automatically migrate the monitor to the main. Now Song B will be in the main box.
  • Bring song B to its normal tempo (by pressing 'normal' in the player)
  • Choose a third song C, and start it by double clicking it. This song will appear in the monitor and will be playing at the tempo of song B.
  • When song B is no longer necessary, quit the player and continue the cycle...
  • Starting a Song in one of the extra players

    A cautious user might have noticed that the bpm-dj file selector allows for more than one player. If you want to use the two extra players, select a song, press the right mouse button and choose 'play in first extra player' or 'play in second extra player'. The song will start at the tempo of the main song.

    Taking over an already playing song

    Sometimes a situation might arise in which you need to play a song at the tempo of an already playing song (a song by another DJ, or simply because you are using a second computer, which needs to take over). In such a situation, you can start the song in the main-player and then immediately start the song you want to mix it with. However such an operation is relatively time-consuming, therefore it might be more appropriate to tell the selector that a song is playing without requesting the selector to play it. This can be done by right-clicking a song and selecting 'This is the main song'. Once the monitor song has become the main song, then you can remove the main playing song by selecting 'Players|Switch monitor to main'.

    Analyzing Songs

    Measure the Tempo/BPM

    Before we can actually use the songs, we might be interested to know the tempo of the music. Therefore, select all songs (if you already have songs imported, you can selectively select them by using the 'New' tag). After selecting all the songs with Ctrl-A), right click on them and choose 'Measure BPM'. The bpmdj file selector will now start a background process that will decode all mp3's and measure their tempo. This process can take a while and is spawned in the background. Therefore it is safe to close the bpmdj file selector. (unless of course your terminal application decides to kill all children when it dies, in that case, close bpmdj but not the terminal).
     

    Measuring the Sound Color

    Spectrum Distance

    One of the problems DJ's have when playing is that the sound-color of a song often does not completely match the sound color of the song they want to play. A solution to solve this is called frequency shaping. Most mixing desks can help in doing so by cutting out certain frequencies and boosting others. However, all too often a song does not sound right anymore when too much spectrum modification are made. Therefore, bpmdj includes a tool to determine the sound color of a song. To do so, you best appoint some cues first (see [WVB--REF] for more information about cues). Once this is done. Select all the songs for which you want to determine the sound color. Click right and select 'Measure Sound Color...'

    The sound color of a song is measured over 10 seconds at the last used cue position. This makes sure that the spectrum analysis is not out of balance because of long intros and useless gibberish at the end of a song. This spectrum analysis will report how well a certain frequency band is present. There are 24 frequency bands available. (For a reason why see [WVB--REF]). Now, the problem with such a spectrum analysis is that it is very difficult to decide how well two spectra sound together because 24 dimensions is a bit too much for an easy understanding.  Therefore, the program will calculate automatically the distance between the playing song and the songs it shows. This information can be found in the dColor column of the song selector.

    In the example above we see that a mix of 'In Zaire (Johnny Wakeling)' and 'The Truth (Clawfinger)' looks promising because they sound very similar. In practice, this mix sounds indeed very good.

    Principal Component Analysis

    However, the dColor column does not help a DJ to orientate himself between songs. It is very difficult, by only using the dColor column, to know how one song can be reached from another song. Therefore bpmdj will reduce the 24 dimensions by which the spectrum of every song is described to 3 principal axis. These 3 principal axis are chosen such that they  preserve the most important information. In other words, the first dimension will be a projection of the spectrum onto one dimension, chosen so that the largest variability is present. The second dimension will represent less variability, and the third even less. We can continue this series of projecting onto different axis. However, after 3 dimensions we have enough information. The projection of the spectrum characteristic onto those 3 axis will yield different magnetized. Every magnitude will represent either RED, GREEN or BLUE.  And so, the sound-color of a song is represented visually.

    The spectrum analysis and the sound-color of a song can help you in deciding how to reach a certain song given a current playing song. The sound color should be used to navigate between songs.
    For instance, suppose that we are playing the song 'In Zaire' (author: Johnny Wakeling). If we want to reach the song 'Fast Love' (author: George Michael), then we must choose songs within a spectrum similar to the one playing (In Zaire), but in the direction of Fast Love. Hence, The songs 'Do What I Say (Clawfinger), The Truth (Clawfinger), Rock This Town, How Gee and Like The Way I Do, are songs similar to In Zaire, but will help in reaching the song Fast Love. To the contrary, songs such as 'Back To Life', 'Another Day In Paradise', 'Fading Like a Flower' will not help you in coming closer to 'Fast Love'. Of course, this is information which only takes into account the spectrum of a song not the tempo, nor the rhythm of the song. Thus, some human interaction is still necessary at this point.

    The principal analysis of all songs, having a spectrum is done automatically at startup time. However, if you will play a night only with a subset of songs, then you can select them. Click right and choose 'PCA Analysis'.

    Inverting The Colors

    Sometimes it will occur that a song lies completely in the lower/lower/lower range. This occurs when the song-spectrum is projected onto the first 3 principal components but the projection lies in the octant [<0, <0, <0]. In this case, the color of the song will be very dark because not much red , green or blue will be present. However, the information is still correct and if we want to make use of it, we need the ability to see the colors at least. Therefore we can invert the color-axis such that the projection of the main song ends in the [>0, >0, >0] octant. To do so, all you need to do is select 'View|Invert Color of PCA'

    Cluster Analysis

    [WVB -- TO-DO]

    Selecting Songs

    [WVB -- TO-DO: Limitation of tempo, up and down...; Authors played delay...; dColor range; Preferences can be modified in Tools|Preferences; Authors Played; Limiting the Selection; Title played = red; Author played = orange; cue-points; not on disk; authors played; searching songs; tags]

    Managing Songs

    [WVB -- TODO: songs played; Batch processing; Export XMMS play-list; Add/Delete tag; Rebuilding the music structure; \layout Itemize Fetch from CD; \layout Itemize Check cdrom content; TAGS; Renaming Songs and index files Importing songs; [WVB -- TODO] \layout Subsubsection Your own songs \layout Standard \series bold [WVB -- TODO] \layout Enumerate Rename them \layout Enumerate Give them a place in the tree (& Burn them on CD) \layout Enumerate Import them \layout Enumerate Add Tags \layout Enumerate Measure Tempo \layout Enumerate Measure Color \layout Subsubsection Songs already on CD \layout Standard \series bold [WVB -- TODO] \layout Enumerate Import them in the tree \layout Enumerate Rename index files with rename box \layout Enumerate Add tags \layout Enumerate Measure Tempo \layout Enumerate Measure Color \layout Subsubsection From other peoples machines  [WVB -- TODO] Fetching the directory structure    first time: create a listing file   second time, restore a listing file Renaming the files Find duplicates, remove the ones you have or are not interested in and keep the others Fetch the files Place them in the music directory structure  Import them Add tags Measure Tempo Measure Color Aparte sectie voor Remote playing???]



    Copyright (c) Werner Van Belle December 2001
    e-mail: werner.van.belle@vub.ac.be
    Tel: +32 486 68 84 48; Fax: +32 2 629 35 25
    http://bpmdj.sourceforge.net/