How To Use BpmDj:  the automixer

Introduction

BpmDj contains a small submodule, the automixer, which enables you to 'glue' together a set of songs fully automatically. This can be useful for online radio stations, or to create mixes for portable mp3 players. The process itself works in about 80% of the times and depends on the correct availability of the tempo information.  The mixes are created offline and are created a bit faster than realtime, so it should be possible to create an XMMS plugin from this software. If somebidy wants to do this. Please contact me. The automixer will probably not be further developed because it has only as sucessrate of 80 % which is good (and also shows why DJ's are actually usefull :). If this program should become tooo perfect we might as well kiss our hobbies goodbye :)

License

If you use this software to automatically create online mixes, please have the decency to mention the program you used to do so. Also, if you modify the program and use it online, you MUST release the modified code ge-GPL-ed.

Preliminary Observations

Before we explain how you can use this feature, we need to point out that good results can only be expected when
  • the two songs that needs to be mixed have a compatible rythm. For instance blues does not mix very well with techno
  • the two songs that needs to be mixed have the same time signature. For isntance a 3/4 measure cannot be easily mixed with a 4/4 measure

  • the two songs have a similar sound spectrum. If they don't it will be very hard to detect the 'same' bassdrums, or hihats.

    The Automixer Dialog Box

    Selecting The Songs

    Start bpmdj. Select some songs in the Songs-tab and add them to the queue by pressing right and slecting 'Add To Queue'. If you know that those songs doesn't have a similar spectrum make sure to insert a set of transitional songs. You can do this by going to the Queue-tab, selecting all the songs, pressing the right mpouse button ans electing 'insert random songs'.  All the songs in the queue must have a correct tempo signature. When you have created a list to your liking you can continue.
     

    Setting the Automixer Options

    Now press the 'Fully Automatic Mix' button in the right bottom corner of the Queue-tab. The automixer dialog will pop up, as pictured above.  Not all options are enabled yet. In future versions these will be however. Let's investigate the different options:
     
  • Head, % position in file: this option let you choose the starting point of a new song. This describes the position in the NEW song, not the old.
  • Process, Normalize Songs: beacuse not all songs have equal volumes, you can choose to normalize all songs to their peak-level.
  • Process, Volume Accounting: this option enables barely audible beats to be taken into account less. Sometimes (not very oftezn) this might help in creating a good mix. However, my experience shows that this not often works as it is supposed to do.
  • Process, Fine Scan Tempo: sometimes the tempo-line of a piece of music drifts. With this option you can make the merger perform a new tempo scan, specifically suited to do the mix afterwards. This takes some extra time but might be usefull for better results.

  • Process, Measures To Mix: how many measures should the mix itself take
  • Process, Measures to Slide: over how many measures should the best match be found. To explain these two values a bit more. In the figure above, we see how song A is gradually replcaed by song B. How long this takes is described by the 'measures to mix' value. However, choosing the best position to mix two songs together requires a certain window  to search in. The size of this window (the pruple ruler at the bottom) is the 'measures to slide' value.
  • Process, Measures for Tempo switch. How much measure must be spent in tempo switching. This value will be cut if there is not enough music present.
  • Process, Dump raw head/tail and mix: during the process, the mergeer programm can dump the head  (the X measures of the new song), the tail (the Y measures of the old song over which to slide) and the mix itself. When the mix has been dumped it is possible to immiedatelly play only the mix using bplay. Therefer sleect Play Mixes.
  • Process, Verbose: dump extra information about file-sizes and mix positions. Not very useful, but necessary to help debugging the thing.
  • Other options represnet how the output happens. Normally, one big raw file is created by gradually appending new songs to the end of an already existing file. When the whole process is complete, this file can be split into pieces and encoded again.

    Starting the Process

    Once the options are selected, you can press 'Ok'. Now a script is written to disk, called 'process_mix.sh'. Go to the BpmDj directory and start this script.  In future versions, this will be started automatically.

    Command Line Options

    The program used to create the mixes is called merger. By typing merger --help you can select all options available in the above dialog box.

    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/