How To Use BpmDj: kbpm-dj


Introduction

As already explained in the setup section, 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. 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. Every time a monitor starts it will play at the 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 'Program|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 'Analyze/BPM/Spectrum'. 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  the section about bark scales). Now, the problem with such a spectrum analysis is that it is very difficult to visualize it properly. After all, 24 dimensions is a bit too much for an easy understanding.  Therefore, the program offers two tools: The first is an automatic calculation of the distance between two spectra. 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. The second technique is a PCA analysis, which we will describe now.

    Principal Component Analysis

    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'.

    Selecting Songs

    The song selector offers a number of tools that miught help in navigating in a large number of songs. Summarized these tools are:

    View Indicators

    These can be toggled in the View menu.
    1. Color Already Played Titles: when toggled, the songs that have already been played will be colored red
    2. Color Already Played Authors: when toggled, every song that has the same author as a song that has been played before will be colored orange. Depending on how long ago a song of the same author has played the color fades. This number can be modified in  Program|Preferences.
    3. Color Songs Within Tempo Range: when toggled, the tempo column will be colored green, depending on how well the listed tempo will match the tempo of the mainsong.
    4. Color Songs Not On Disk: when toggled, the ondisk column of the song-list will be colored blue when the song is not on disk.
    5. Color Songs Without Cues: when toggled, the cues column will be colored blue when the song has not yet any cues.
    6. Color Spectrum Distance: when toggled, the spectrum distance between the listed song and the playing song will be visualized with a yellow color.
    7. Color PCA Of Spectrum: when toggled, the spectrum column, will show a color representing the principal components of the spectrum. This can be used to navigate between songs.

    View Limitations

    Aside from these color indicators, the presented song-list can also be shortened. Part of this functionality is present in the View menu.
    1. Limit Selection to Tempo Range: when toggled, the songs will be limitted by the tempo range. If the song is in range then it will be displayed, otherwise it will not. The range is the union of the two following options
    2. Up Tempo Range: if selected, the tempo range contains at least everything above the current playing tempo.
    3. Down Tempo Range: if selected, the tempo range contains at least everything below the current playing tempo. So, if 'above tempo range' and 'below tempo range' are selected, the view will be limited to everything betweeen 0.94 and 1.06 times the current BPM. If only one of both is selected, the view is limited to either one of both.
    4. Limit Selection To Non-played Songs: if the song has been played, do not list it.
    5. Limit Selection to Files On Disk: if the song is not on disk, we're not interested.
    6. Limit Selection to dColor Range: if the song is in the dColor range (explained before), then we display it, otherwise, we don't
    7. Limit Selection to Non-played Authors: if the author has already been played before, don't list the song. Please not that this option has a decay. After 15 songs, the author can be played again. (depending on the settings in Program|Preferences).
    Aside from these limitations, the selection is immediatelly limited by the search-line. Any string present in the search input-line must be present in the title or author of the listed song !

    Another valuable techniqe to limit the song list is the tagging system.

    Tagging

    [WVB -- todo, explain how to select songs mathcing a certain tag. Explain how to assign tags]

    History

    [WVB -- todo, explain how the history works...]

    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 2001-2004
    e-mail: werner.van.belle@vub.ac.be
    Tel: +32 486 68 84 48; Fax: +32 2 629 35 25
    http://bpmdj.sourceforge.net/