Leo's DJ Helper 2.21Beatmixing for everybody |
What is this?
Features
Detailed
description
Installation
/ Requirements
Download
Tutorial -
How to set up double WinAmps
Tutorial -
How to do instant switches
Tutorial -
Beatmixing for everyone
Tutorial -
Using the "Metronome" method
Tutorial
- Organizing your songs
Additional
hints
License,
Copyright & contact information
The DJ Helper is a plugin for WinAmp, the "ultimate high-fidelity music player for Windows".
The DJ Helper gives WinAmp more features than professional DJ-type CD players that cost $500 or more.
Using the DJ Helper and a standard PC with two soundcards, you can master performances like a pro DJ, with unprecedented ease. In fact, the DJ Helper has already resolved many multi-hour gigs in front of hundreds of people and driving several thousand watts of music power.
New
in version 2.2: Three independent
Cue Points, all of them savable.
New
in version 2.2: Primitive loop
function.
Automatic crossfade between two WinAmps with the press of a
button.
New
in version 2: Fade
time selectable from 0 to 20 seconds.
New in version 2: Change tempo, pitch and speed of the
song, all independently of each other.
New
in version 2.2: Memory function
for Tempo - Instant switch between two Tempo settings.
Practically
unlimited range for tempo, pitch and speed changes.
New
in version 2.2: Tempo and speed
sliders have a +/-50% range for special effects.
Temporary pitch bend
by +/- 3%.
Accurate (manual)
BPM counting .
BPM value gets
automatically adjusted when tempo changes.
BPM value can be
saved into the mp3 file, and be automatically restored the next
time you play it.
Fast forward and
reverse by whole beats.
New in version 2: Hold function.
New in version 2: Cue and immediate play function.
New
in version 2.2: Cue without
stopping function.
Automatic gradual
sliding of tempo to zero.
"Loud"
pause, so that you hear where you have paused.
Set cue points with
an accuracy of 0.001 second.
Cue point position
can be saved into the mp3 file, and be automatically restored the
next time you play it.
New
in version 2.2: Separate read
button for Cue Point & BPM information.
Instant play,
typically 0.05 second reaction time.
Keyboard shortcuts
for most commands, for fast action & response.
Supports two WinAmps
for auto-fading and beat syncing.
Seamless, instant
switch ("slam") between two WinAmps with the press of a
button, for spectacular effects.
Automatic BPM
matching between two WinAmps for beatmixing.
Automatic BPM tempo
averaging between two WinAmps, so that you always stay in tune.
Drag & Drop
files to be played. Cue point and BPM count will be read
automatically and the song will be auto-cued to the saved cue
point.
Played files get
"touched", so that you can easily tell which songs you
have played and in what order.
ToolTip help (a
not-so-obvious feature for many WinAmp plugins).
Small file - Low
processor load.
Nr. | Function | Description | Keyboard shortcuts |
- | Open file, restore Cue Point & BPM values and Auto-Cue. | Drag & Drop an mp3
or wav file from the Windows Explorer onto the DJ Helper
window (NOT on the WinAmp window!). If the file contains saved Cue
Point or BPM information, these will be restored and the
WinAmp will go to the first predefined Cue Point and pause.
Hitting Play will then
immediately start playing from the Cue Point. HINT: If no Cue Point information was saved in the file, it defaults to the start of the song (0 seconds). |
(no shortcut) |
1 | Cue | Press
this to go to the predefined Cue Point and pause WinAmp.
WinAmp is then "armed", pressing Play
then immediately starts playing from that position. If no
Cue Point has been defined for the song, it defaults to 0
seconds (start of the song). Hitting Cue sets the volume of WinAmp to the maximum, so that you don't need to do this manually after you have used the crossfade function. If you hold the Control key down and press the Cue button while a song is playing, the current playing position will be stored as the cue point, without stopping playing. This is useful if you want to set the cue point on the fly. HINT: As in all Windows programs, buttons in a dialog window act when released, keys on the keyboard act when pressed. Keep this in mind to achieve accurate results. |
Y, Z, N, Num5 |
2 | First Cue Point | This radio button shows the current value of the first Cue Point in seconds. Click to make this Cue Point active. | F1 |
3 | Current BPM value | This
field shows the current BPM value. It gets updated while
you keep hitting the BPM button
to the beat. The BPM value in this field changes dynamically as you change the tempo or speed of the song. |
|
4 | Artist - Title | This
text field displays the current title of the song
playing. This is useful if you want to ensure that the
file playing in WinAmp is the same as the DJ Helper
thinks it is. If the wrong song is shown here, click the "Read" button. HINT: If you play a song directly in WinAmp i.e. by drag & drop on the WinAmp window, the DJ Helper does not get notified that the song changed. This can cause problems with the Cue Point and BPM settings. |
|
5 | Play/Pause | If WinAmp is playing
and you press this button, WinAmp goes into a "loud
pause": It repeats about 0.1 seconds of the song,
starting from the current position, so that you can tell
where exactly you have paused. HINT: Maybe it will sound strange the first time you will use this function, but after you get used to it, you will be able to tell where exactly you have stopped, with a great accuracy. HINT-2: The "loud pause" loop STARTS from the cue position. You have to take this into account for exact positioning. If WinAmp is paused or stopped and you press this, it starts playing from the current position. If you are paused at the Cue Point and you double-press this button (exactly as you would double-click the mouse button), you will go back and pause exactly on the Cue Point, instead of pausing at the current time. This gives you the possibility to "return" exactly onto the Cue Point, check it and change it. HINT: The accuracy and the speed of the "loud pause" function is very dependent on the buffer size of WinAmp. See the section "Installation/Requirements" for more details. |
X, M, Num2 |
6 | Second Cue Point | This radio button shows the current value of the second Cue Point in seconds. Click to make this Cue Point active. | F2 |
7 | Current pause point | This text field shows the current pause point in seconds. | |
8 | Cue+Play | Press this to immediately play from the Cue Point position. Useful for repeating parts of the song or for special effects. | Backspace |
9 | Seek reverse | Pressing
this button when WinAmp is playing moves the current
position by -1.3 seconds. Pressing it when paused moves the current position by -0.030 seconds. Beat reverse: If you hold down the "Control" key when you press this button, you will move the position by one beat, i.e. from one hit of the bass drum to the previous. Why should you need this? See the Hints section below. (You should have set the BPM value of the song for this to work). |
C, Comma, Num1 |
10 | Hold | Press
this to temporarily stop the music as long as the button
is held down. When you release it, the music restarts
immediately from exactly the same position. Useful for
special effects, or for syncing the beats of the two
WinAmps. HINT: This is almost the same as holding & releasing the record on a turntable, only that it functions instaneously here. |
Letter O |
11 | Third Cue Point | This radio button shows the current value of the third Cue Point in seconds. Click to make this Cue Point active. | F3 |
12 | Short Message | Short messages are shown in this field temporarily. After 15 the messages disappear. | |
13 | Seek forward | Pressing this button when WinAmp
is playing moves the current position by +1.5 seconds. Pressing it when paused, moves the current position by +0.027 seconds. HINT: Why different values than the Seek reverse function? Here is an example: By pressing Seek reverse and Seek forward in succession when paused, you move the Cue Point by -0.03 seconds, a very fine adjustment. Beat forward: If you hold down the "Control" key when you press this button, you will move the position by one beat, i.e. from one hit of the bass drum to the next. (You should have set the BPM value of the song for this to work). |
V, Point, Num3 |
14 | Tempo up | Press this button to increase the tempo (speed) of the current song by 0.10%. | Num+ |
15 | Tempo slider | Use this slider to set
the tempo of the playing song. The pitch (musical tone)
does not change. The range of the slider is -/+ 50%, but
you can achieve higher values using the -/+
buttons or the keyboard. Use this to make a song go faster or slower, which is a must if you want to do Beatmixing. HINT: Changing the tempo updates the BPM value accordingly. HINT-2: The "sensitivity" of the slider is different when you are in the middle (near zero) than when you move full upwards or downwards. |
|
16 | Tempo zero | Press this button to set the tempo (speed) of the current song to 0% immediately. | Num0 |
17 | Speed slider | Use
this slider to change the speed of the playing song. This
has the same effect as changing the rotating speed on a
turntable. The range of the slider is -/+
50%, but
you can achieve higher values using the -/+
buttons or the keyboard. HINT: Changing the speed updates the BPM value accordingly. HINT-2: The "sensitivity" of the slider is different when you are in the middle (near zero) than when you move full upwards or downwards. |
|
18 | Tempo down | Press this button to decrease the tempo of the current song by 0.10%. | Num- |
19 | Pitch slider | Use this slider to set
the pitch (the musical tone) of the playing song, leaving
the speed unchanged. The range of the slider is -/+ 12
semitones (= one musical octave), but you can achieve
higher or lower values using the -/+ buttons. HINT: Typically, you should not change the pitch of the song too much. Setting the pitch to more than -/+5% will probably be audible, especially on songs with vocals. HINT-2: You can use this function to match the musical tone of two songs. |
|
20 | Memory Exchange / set | Hold the Control key
down and press this button to store the current setting of the Tempo
slider. Then move the tempo slider and press this button (without control) to instantly swap the new setting of the tempo slider with the stored value. This is useful if you want to switch quickly between two tempo settings. |
W |
21 | Help | Shows a window with hints, credits and additional keyboard shortcuts. | (no shortcut) |
22 | Save | This
button writes the BPM and Cue Point information into the
mp3 file. It works only for mp3 files. After you save
this information into the mp3 file, the next time you
play the file with the DJ Helper, the BPM and Cue Point
will be restored automatically, so you don't need to
count BPM and locate the Cue Point again. This speeds
things considerably and makes your life as a DJ much
easier. HINT: Many times, mp3 files copied from CDs onto the hard disk will be write-protected. On such case, DJ Helper shows an Err. open or Err. write message. Remove the write-protect flag in the properties of the file and try again. HINT-2: The BPM and Cue Point information will be stored in the "Comment" field in the tags of the mp3 file. Previous information in this field will be overwritten. HINT-3: This operation will also update the song and artist name inside the tags of the mp3 file. See the "Hints" section below for more information. |
U |
23 | Read | Press this to read the BPM and Cue Point information from the mp3 file. Useful if you have not opened a song by drag and drop onto the DJ Helper window, but somehow else. It works only for mp3 files. | R |
24 | Speed bend down | Press
this button to temporarily decrease the current speed
value by 3%. Use this to synchronize the beats of the two WinAmps. HINT: This function is most useful if the beats of the two songs are almost synchronized and are just starting to drift apart. If the beats have a big difference, then it is easier/faster to stop one song and restart it in sync with the other, than using speed bending. |
Num4 |
25 | Speed bend up | Press this button to temporarily increase the current speed value by 3%. | Num6 |
26 | Average tempos | Pressing this button
changes the tempos of the two WinAmps, so that their BPM
values match. It changes the tempo values in a way, that
the tempo difference is distributed equally around zero
and none of the songs is too slow or too fast. Why would you need this? Suppose you have already a song playing at +4% tempo and you need to match its speed to a slower song. This would require to play the slower song to an even higher tempo value (e.g. +8%), where it would probably sound funny. Using the Average tempos function brings the tempos of the two songs to appr. -1.5% and +2.5% respectively, avoiding funny audio effects. HINT: This function requires two WinAmps. HINT-2: The tempo of the playing song (other WinAmp) will change gradually, the tempo of the current (preparing) song/WinAmp will change immediately. HINT-3: Both songs have to have a BPM value different from zero for this to work. |
A |
27 | Slide Tempo to Zero | Pressing
this brings the tempo to zero gradually. The tempo
changes 0.20% per second, a change that should go
unnoticed for most songs and audiences. The tempo and BPM
values appear in parentheses when the tempo is
automatically sliding, to remind you that the value is
not yet final. A counter shows you how many seconds are
needed for the tempo to reach the final (zero) value: If you accidentally pressed this button and you want to cancel the operation, just change the tempo manually with the buttons or the tempo slider. HINT: This function is useful if you have changed the tempo of a song and want to bring it back to zero, while the song is playing. |
0 (zero) |
28 | Match BPM | Press this to change
the tempo of the current song, so that its BPM value
matches that of the other WinAmp. The tempo of the other
WinAmp does not change. HINT: This function requires two WinAmps. HINT-2: Both songs have to have a BPM value different from zero for this to work. |
Q |
29 | BPM Counter | Press
this button together with the beat of the song, to set
the BPM (Beats Per Minute) counter. The BPM value shows
you the speed of the song and allows you to do beatmixing
(more
info on this in the "Tutorial - Beatmixing for everyone"
section). You need to press the button three times at least to get a value. The longer you keep pressing it to the beat, the more accurate value you get. Stop pressing when the BPM value does not change significantly. HINT: If you have mistyped and want to start again, just don't hit the BPM button for three seconds. After three seconds, the previous BPM clicks are rejected. If you hold the Control key when you press the BPM button, the BPM value will be set equal to that of the other WinAmp. This is most useful if you already have synchronized the beats of the two WinAmps using the tempo slider, so you don't need to count the BPM once again. (This is explained in more detail in the section "Tutorial - Using the Metronome method"). |
B |
30 | Auto-Crossfade | Press this to start an automatic, gradual crossfade between two WinAmps. The current WinAmp should be in cued or paused state, the other WinAmp should be in playing state. | F |
31 | Fade time | Use
this slider to set the automatic crossfade time from 0 to
20 seconds. Setting a value of 0 results in a very fast,
yet gradual crossfade. HINT: It is the value in the current (paused) WinAmp that counts. |
|
- | Instant
switch ("Slam") |
Press
the Space key on the keyboard to start playing the
current WinAmp (should be in cued or paused state) and
pause the other WinAmp (should be in playing state). With this function you can do seamless switches between two songs. If you have the same song on both WinAmps, you can create a loop effect. HINT: This function requires two WinAmps. HINT-2: See the "Hints" section below for more information on how to do loops. |
Space |
- | Auto-Fade | Press a digit from 1 to
9 on your keyboard to crossfade between two WinAmps for
that number of seconds. Pressing 1 typically equals to
what you would get if you would slide a real crossfader
switch quite fast. Use the Auto-Fade function for a smooth transition between the songs. HINT: This function requires two WinAmps. |
Keys 1 to 9 |
- | Hide DJ Helper | Press the H key to hide the DJ Helper window to gain space on your screen. The keyboard shortcuts work even when the DJ Helper window is hidden (the WinAmp window must be active, though). | H |
- | Show DJ Helper | Press the S key to make
the DJ Helper window visible again. The DJ Helper window
will automatically "dock" to the WinAmp window. HINT: If you have moved the WinAmp window, it is a good idea to press S once. |
S |
- | Switch DJ Helper window | Press the Tab key to bring the other DJ Helper window to the foreground. Pressing Tab again returns you to the first DJ Helper window. This gives you a very fast control of both DJ Helper windows using only the keyboard. | Tab |
Copy the DJ Helper DLL (Filename: dsp_djHelp.dll) into the Plugins folder of your WinAmp installation (which most probably resides under C:\Program Files\Winamp or a similar directory).
Then activate it as follows: WinAmp menu->Options->Preferences->DSP/Effect, then click the DJ Helper entry at the list at the right, then click Close.
For optimum speed and accuracy, you will have to set the WaveOut buffer of WinAmp to the smallest value that will not cause skipping or jumping. This requires some experimenting, a good point to start are values about 500 to 800ms. To change this value: WinAmp menu->Options->Preferences->Output, then click the WaveOut plugin and Configure. Set the Buffer length to the desired value and the Priority to Time Critical.
Don't forget to set WinAmp's Process priority class to Realtime. You can find this under WinAmp menu->Options->Preferences->Options.
HINT: For
best results you should use WinAmp versions 2.5 to 2.65. Older
2.x versions still work but are not as exact, and 1.x versions
probably will not work with the DJ Helper at all.
Versions 2.666 and newer have a completely new mp3 engine that is not as fast
and responsive as the older version. In addition, the newer engine has a bug
that sometimes causes WinAmp+DJ Helper to freeze. Although reported to
winamp.com, nothing has happened yet...
A good place to find older WinAmp versions is www.winampheaven.com.
You will probably need a PC with a 300 MHz CPU at least. Slower CPUs will still work, but response will probably not be fast or exact enough.
Click this link to download the DJ Helper DLL and a copy of these instructions (zip file, exact size 116,080 bytes).
You will need two soundcards and two instances of WinAmp to do serious DJing. Only that way you will be able to monitor and prepare the next song while the previous is playing. You will also need a basic external mixer with two inputs (no equalizer is needed - WinAmp has one already!).
Even the cheapest soundcards will do the job, and WinAmp works with almost any soundcard around. However, it is advisable to get a decent card (at about $50 or more), because too cheap cards can cause problems: Interference, problems with plug & play, buggy drivers etc. Many advanced cards have "multithreaded" drivers that can accept input from several programs together, so even when one program is playing on that card, additional programs are also able to access it and "mix-in" their sounds (very good for jingles etc).
Installing a second soundcard into your PC is
quite easy, assuming your PC and the card support Plug and Play (all modern PCs
and cards do). Just plug the second card into the slot, reboot, Windows will
auto-detect the new card and ask for drivers. Point Windows to the new drivers,
that's it!
When selecting a second card for your PC, keep in mind that sometimes two
identical sound cards will not work. Many sound drivers do not expect a second
card of the same type to be present, and they cannot tell which is which. So, it is advisable to
select a different card type than what you already have.
If you have
to have a single soundcard, then you should configure the WinAmps
so that one is playing to the left channel (i.e. shift the
balance slider to the left) and the other to the right channel.
Then you will need a special cable that leads each channel to a
separate pair of stereo cables OR you will need a mixer/amplifier
that can switch to mono, so that you have both channels playing.
In this case, go to WinAmp
menu->Options->Preferences->Input->MPEG Audio
decoder->Decoder and uncheck the Allow
stereo output box.
Make sure that you use the Directsound output driver in this
case: go to WinAmp
menu->Options->Preferences->Output and
select the DirectSound plugin.
To have two really independent WinAmps, you will need to duplicate the files Winamp.exe, Winamp.ini, Winamp.lks, Winamp.q1, Winamp.m3u and Winamp.pic inside the C:\Program Files\Winamp directory (or your equivalent directory). Rename the duplicates as Winamp2.exe, Winamp2.ini, Winamp2.lks, Winamp2.q1, Winamp2.m3u and Winamp2.pic respectively, like in the picture below:
To be able to launch each instance of Winamp easily, it is advisable to create separate shortcuts to each one from the Start menu or the desktop, like this:
HINT: You can even create three or more instances of WinAmp, which enables you to do special effects with jingles, etc.
Then, you will need to launch the two WinAmps and assign each one to a different soundcard. For this, go to WinAmp menu->Options->Preferences->Output->WaveOut plugin and select the appropriate card as the Output device.
Setting the Cue Point quickly and with accuracy is an important prerequisite, even for basic DJing. Most of the time, you will want to skip over the introduction of the song and start playing from a specific point inside it. This is your Cue Point.
Drag & drop an mp3 file from the Windows Explorer onto the DJ Helper window (NOT on the WinAmp window). If the Cue Point has not been set before for that file, then the DJ Helper automatically cues to the start of the song (0 seconds).
Then press Play/Pause and listen until you hear the position you want to cue to, or press Seek forward / Seek reverse to go there faster. Press Play/Pause on the position you want to cue to. DJ Helper then enters a "loud pause" mode, where you hear appr. 0,1 seconds from the paused position onwards. (IMPORTANT: You hear FROM the paused position). The position you have paused onto is shown on the DJ Helper window, in milliseconds (thousandths of a second) from the start of the song.
Most of the time, you will not get the desired cue position with the first try. So, while in the "loud pause" mode, you can move the paused position with the Seek forward / Seek reverse buttons. Once you think you have got the position you want, hit the Cue button. The current paused position is then "stored" as the Cue Point and the WinAmp is paused on that position. Hitting Play then starts playing from exactly that position.
HINT: To try your Cue Point, just hit Cue and then Play. When you hit Cue, WinAmp returns to the saved Cue Point and pauses, so that it is ready to start playing from there, when you hit Play the next time.
If you want to correct your Cue Point, hit Cue, then Play/Pause twice quickly. In this special case, the DJ Helper does not pause where it actually should, but it returns and pauses exactly on the Cue Point. Now you can correct the position with Seek forward / Seek reverse buttons. When you are satisfied, hit Cue again to store the corrected Cue Point.
If you are satisfied with your Cue Point setting, press Stop on WinAmp and click the Save button on the DJ Helper. The Cue Point position will be saved. The next time that you drag & drop this mp3 file onto the DJ Helper, it will automatically cue to the preset position. (This works only for mp3 files).
DJ Helper allows you to define three different Cue Points for each song. One typical use is: one Cue Point for the beginning of the song, one for the beginning of the vocals and one for the beginning of the chorus. This gives you maximum flexibility on how to start playing the song.
In an instant switch (some also call it a "Slam"), you switch from one song to the next immediately, without any mixing, crossfading or overlapping. You can use this sudden change for special effects, or when the current songs would not allow Beatmixing.
First, set the Cue Point where you want the second song to start and eventually save it. Cue to this position. Then, exactly at the moment when you want the switch to happen, press the Space key. You have already switched! Easy? OK, now let's study the important details:
For this kind of switch to succeed (= sound well), you will need to plan carefully exactly when you switch. Because the change is so sudden, you have to take care that you don't shock your audience. You cannot switch just anywhere and expect it to sound good. Imagine that you sing a song and want to switch to another: When would you do it? Probably not in the middle of the chorus, but just after it. Actually, there are some well defined "transition points" during a song, where a switch sounds best. Examples are: just after the chorus, just before or after a solo or a rhythm break, or just before the start of a new verse. Some experience will help you here.
Moreover, your switch has to be "in rhythm": The new song's rhythm has to go on from the point that the previous song ended. If you have cued the new song i.e. exactly on the hit of the bass drum, then you have to take care to switch exactly on the bass drum of the previous song. Unfortunately, many times you will not be able to do this, because you would interrupt the lyrics or the melody line. On such cases you will have to switch in the middle of the measure, which requires good reflexes and a good sense of rhythm and music.
In addition, the two songs have to be equally "loud" the moment you switch. For example, if you switch from a quiet ballad to a fast rock song, it will probably not sound well. For such cases, you should preferably use the fade functions of DJ Helper.
HINT: You can also use the fade function with a fade time of 0 seconds to achieve an instant switch. This switch is not so sudden as using the space key.
Beatmixing is the kind of switch between two songs, when their beats are exactly synchronized. Most of the time, when the beats are in sync, you leave the songs playing together for several seconds and do a very gradual fade between them, so the audience has the impression that the beat of the one song continues into the other, or that the songs are joined together.
For a long time, the ability to do Beatmixing was considered the main criterion for a club DJ. Admittedly, doing Beatmixing with only two turntables and no other help is not an easy task. But with tools like the DJ Helper, Beatmixing is just another way to change a song.
To do Beatmixing, you should first select the appropriate songs. (Not all songs lend themselves to Beatmixing - more below). Then you need to count the BPMs (Beats Per Minute) of both songs. Hit the BPM Button together with the beat of each song, until you get quite a constant value. Save the BPM values of the songs, so that you don't need to do this again. Then find and save an appropriate Cue Point for the second song (mostly at the beat of the bass drum).
When you have measured the BPMs for both the songs, hit the "=" button on the PAUSED DJ Helper (the one that is not heard by the audience). Its tempo value will then change, so that the BPMs of the two songs will be equal.
HINT: You will soon notice here, that there is a limit on how far apart the original BPMs of the two songs can be, in order for the result not to sound funny. A difference of +/- 5% or smaller is probably OK. If the difference is bigger, you will have to slow down or speed up one or both songs too much, which will be quite audible.
Once you have the BPMs of both songs equal, try hitting the Play button, so that the second song starts in sync with the first. If you are not satisfied, hit Cue and Play to restart again, until you have both rhythms in sync. Then you can do a long fade between the two songs, letting their beats "melt" together.
HINT: If the beats are almost in sync and they have only a small difference (or they just start to drift apart), you can try to correct this with the Pitch Bend function. This slows down or speeds up one song temporarily, until the beats are matched exactly. Use this function only if the difference is really small, otherwise it is probably easier to hit Cue and Play and try again.
HINT-2: You can also use the Hold function to bring the songs in sync. Press and hold "Hold" at the start of the beat (i.e. on the bass drum) and release it together with the other song playing.
If you beatmix more that two or three songs in succession, you will soon come to a point, where you have a song that is tempoed too fast or too slow for the next mix to succeed. For such cases, you can use the "~0" or "~=" buttons.
The "~0" button brings the tempo of the current song gradually to zero. The shift is 0.20% per second, which should go unnoticed by the audience. (This is also dependent on the type/style of the song).
The "~=" button tries to "average" the tempos of the two songs, so that appr. two thirds of the tempo difference is above zero and one third below. That way, none of the two songs will be tempoed too high or too low. The tempo of the playing WinAmp is changed gradually, the non-playing WinAmp changes at once.
Unfortunately, not all songs lend themselves to Beatmixing. Apart from the BPM issues, at least one of the songs (preferably both) has to have a long section without melody and a clear beat. Otherwise, you will end up mixing the melodies or the vocals of the songs, which will not sound as you would like. (Maybe you understand now, why many special "Club" mixes have such long beat-only sections - these are a blessing for the Beatmixing DJ).
Clicking the BPM button is a quick and practical way to find the speed of a song, but it is not very accurate. Depending on the song and your rhythm skills, you can achieve an accuracy of about +/-0.40 BPM, which is not good enough for some purposes.
A much more accurate way of measuring the BPM count of a song, is to synchronize it with another sound source that has a known BPM count. When the two sounds are in sync, then their BPMs are equal. This is the "Metronome" method.
To use the Metronome method with the DJ Helper, you will need a "reference" file with a known BPM count. You can get one such file here, (mp3 file, exact size 249,597 bytes). This sound file is artificially created to have exactly 130.00 BPM.
First, play the song you need to find the BPM of in one WinAmp and get a rough guess by clicking the BPM button. You should also set the Cue Point to the start of the rhythm, so that it will be easier to synchronize the beat.
Then, play the reference file in the second WinAmp. Click the "=" button on the first WinAmp (or use the slider), to make its BPM also equal to 130. Then press Cue and Play, to start the song together with the ticking metronome. After a couple of tries, you will make the two rhythms start together. (You may need to change the Cue Point of the song, in order to achieve that easier).
Now you have your song and the Metronome running together in sync. Ideally, the two beats should stay in sync and run together until one of them ends. But if the BPM of the song was not set correctly, the two beats will "drift" and soon they will not match. You should then tell if your song was running faster or slower than the Metronome (this needs some exercise to do quickly and reliably). Then, adjust the tempo of the song, and try once again, until you have the song and the Metronome playing in sync for at least 30 seconds. If you have achieved this, then hold the Control key and click the BPM button. This will set the BPM count of the song to the exact value.
This procedure is admittedly not as fast as just clicking the BPM button, so preferably it should not be used during a performance! But you can count the BPMs of several songs in advance and save their values, so that you don't need to do any BPM counting at all during the gig! So, if you need to find the BPM of a song just once, why not do it as good as you can?
HINT: Using the "Metronome" method, you can also adjust the Cue Point of the song so, that when you press Play, the song starts immediately in sync with the Metronome. This will help you a lot when you do Beatmixing. Again, don't forget to save your Cue Point, so that you don't need to locate it again!
Sometimes you will notice that it is almost impossible to match the beats of certain songs with the metronome. This is a problem resulting from bad ripper software or damaged CDs. When you use a feature called "jitter correction" or "dynamic sync" on such rippers, sometimes they "edit out" music samples, in order to compensate for read errors from the CD. Most of the times this editing is not audible, but it changes the beat of the song in an unpredictable way, so that beat syncing may become very difficult.
One of the biggest advantages of
using the PC as your music source is that it allows you to
organize your music exactly as you need.
No more desperate
looking for a specific CD among hundreds!
No more trying to
read tiny title lists ...in the dark!
No more stress with
jewel cases that contain the wrong CD or are empty!
Having your songs as files on your disk allows you to sort and
search in ways that are only limited by your imagination.
There are several ways to categorize your songs. The one that has proved to be most convenient (for me, at least), was to categorize mainly by genre or style of the songs. That way, you have all similar songs sorted together, so you can very quickly find a song that fits the current one.
Make folders for the most important genres, like in the image above. Inside each folder, you can create additional subfolders for finer categorization. One very useful subfolder you could create is for "Prime Time" songs. This should include the songs you definitely don't want to miss playing.
If you want to find a particular song, just use the Windows Find->Files or Folders function. You can drag & drop files directly from the search results window onto the DJ Helper window.
Another function you may find useful, is the ability to sort songs by their BPM value, so that you can easily find a song that matches the speed of the current song. For this reason, you can use any MP3 cataloger program that allows you to sort the songs by their "Comment" field, because the DJ Helper stores this information there. There are many programs that can do this, below an example using MP3 Stocker:
Another, not so elegant way to achieve the same result, is to prefix the BPM count of the song to its filename (i.e. 129_Song_title.mp3) and then sort by the filename.
The playing WinAmp is the one that is heard by the audience. No adjustments take place on that, normally you should not need to touch it! All editing functions and adjustments are done on the other, the preparing WinAmp. When you drag & drop a song onto one DJ Helper dialog, it becomes the active window, to indicate that it is here that you should make all tests and adjustments.
Use the keys 1, 2, 3 and 5 on the numeric
keypad for setting the Cue Point and testing it. After some
exercise, you will be able to set the Cue Point very quickly.
HINT:
Make sure that the Num Lock
key is pressed for this to work.
You should always drag & drop the files on the DJ Helper window for playing. If you change the song in WinAmp, the DJ Helper has no way of knowing that the song has changed, which can have some strange results. If you did change the song directly in WinAmp, press the Read button to update the information in the DJ Helper.
When you hold down the Control key, the look of the DJ Helper changes slightly, to remind you of the additional functions. Even the ToolTips change accordingly:
How to do loops: Just mix the track with itself! It is possible to play the same track on several WinAmps at the same time (quite difficult to do with real music CDs!). So, first set the Cue Point where you loop should start and save it. Then start playing the track on one WinAmp. Load the same track on the second WinAmp and cue to the start of the loop. When the appropriate moment comes, just press the Space key. With minimum exercise you will be able to do this quite easily.
Loops - again: DJ Helper has a hidden and unsupported loop function. It does not work as it
should (i.e. the loops are not seamless), because WinAmp does not support this.
It is there, only because many have requested this function desperately, even if
it would not work 100% well.
To activate the hidden loop function, press Control+S in the DJ Helper window.
Please don't complain if it does not work as you expect...
Changing the tempo of a song is not effective immediately. This is most important if you change the tempo when in paused state: During the first half to one second after you start playing, you will hear the tempo change very clearly. If you change the tempo, let the song play for a couple of seconds, so that the tempo stabilizes.
One case when the Beat forward / Beat reverse function would be handy, is when you want to move into an area of the song that has no beat. Suppose you have a song with a beatless intro, and you want to synchronize this with another song. But how can you synchronize the beatless part of it? Use the Cue function to go to the first beat and then go back the desired number of beats into the beatless area.
File naming conventions: DJ Helper
assumes that your song files are named in one of the following
ways:
Title.mp3
Artist - Title.mp3
Album - Artist - Title.mp3
That is, the album and the artist names are
optional and the separator is " - " (one space, one
dash, one space).
The DJ Helper updates the mp3 tags of the song according to its
filename, so you should name your songs accordingly if you want
this information to appear correctly in the mp3 tags. This update happens only
if there was no information in the tags before. If tags existed already, then
they are left untouched.
HINT: To
see the mp3 tags of a song, double-click its title in the WinAmp
window.
The DJ Helper saves the Cue Point and BPM
information in the comment field of the mp3 tags. It is possible
to enter this information directly there, if you happen to know
it from somewhere else (many records show on the cover the BPM speed of the
songs).
HINT: To
see the mp3 tags of a song, double-click its title in the WinAmp
window. The format is bbb.bb%cccccc%cccccc%cccccc, where bbb.bb the BPM and
cccccc the three Cue Point times in milliseconds:
How to create a playlist "the day after": All tracks that are played using the DJ Helper are touched (of course, if they are not write-protected) and their modification date is set to exactly when they were played. That way you can see which songs you have played in that great gig yesterday! From the Windows menu select Start->Find->Files or Folders, and then click Date->Find all files->Modified->During the previous 1 day(s). In the search results click on the Modified column heading to sort these by the modification date. Your list is ready.
Why does the crossfade function not sound that good? Not all soundcards produce the same sound volume for the same volume setting. This has the result that crossfading may not sound so smooth and gradual as you may expect. Unfortunately, there is no easy cure for this, than trying a different sound driver or soundcard.
Why does the DJ Helper works so bad when playing from an audio CD? Because in this case, WinAmp does not really play the sound. In reality, the sound is generated in the CD-ROM drive and is directly transferred from there to the sound card. Because almost all CD-ROM drives offer only basic audio playing support, the seeking speed and accuracy are quite bad. And because WinAmp is only pretending that it plays the music, the tempo slider does not work either.
Why does the music sound chopped? Most probably WinAmp or your computer is not fast enough. Sometimes you can try adjusting the "Blocksize" parameters in WinAmp, under WinAmp menu->Options->Preferences->Output, then click the WaveOut plugin and Configure.
Why DJ Helper does not have an automatic BPM counting function? Because all automatic BPM code and methods I could find were too inaccurate and too processor-time consuming. Even "professional" BPM counters have failed badly, even for songs with a clear beat - not mentioning what happened with hip-hop or latin songs (try yourself, is very funny!). To summarize: Automatic BPM counting is a very "sexy" feature, just like automatic speech recognition, but does not work well in practice. On the other hand, manual BPM counting is very easy and reliable. And you have to be good in following the rhythm, if you want to be a successful DJ!
A usable mp3 file collection will need a hard disk with at least 10 GB free space or more. Populating this collection is not an easy task, it will take several weeks or months to transfer your music to the disk. But don't forget, your CD or vinyl collection was also not built in a day!
Starting point of this project was the DSP SDK from Justin Frankel, the creator of WinAmp. I was very happy to rediscover this information on the WinAmp.com site, after it had disappeared for several months.
The tempo and speed changing routines come from Olli "Ortiz" Parviainen (oparviai@iki.fi) and his PaceMaker plugin. Tons of thanks to Olli!
Additional ideas came from the PitchFork plugin by Liket, another great DJ plugin for WinAmp. Too bad this has disappeared from the WinAmp web site...
WinAmp has a very flexible and
open architecture and its plugin system is very powerful.
However, there were some functions I missed, which prevented
several more powerful features to be built into the DJ Helper:
It is not possible
to tell WinAmp to play up to a specific time
in the song and then execute a specific callback function.
Jumping to another
point inside the song takes about 0.02 seconds of silence.
Although this looks like too little, it is audible enough to
prevent making a loop function.
There is no way to
query the current volume setting of WinAmp (or at least I was too
blind to find it).
A callback function
that gets called when the current track changes would also be
very convenient.
Maybe these features could be implemented into future versions of
WinAmp, because I don't think they are that complicated to
program.
The DJ Helper was developed with Microsoft Visual C++ 6.0, Professional Edition, between November 1999 and March 2000. Version 2 was developed in June/July 2000, Version 2.2 in January 2001.
Copyright ⌐ Leonidas Drisis, November 1999 - January 2001 (to_skripto@yahoo.com).
Tempo & pitch change routines Copyright ⌐ Olli Parviainen (oparviai@iki.fi).
This program is Charityware: You can pass freely copies of the DJ Helper. If you like it, please give what you think it is worth, to a welfare organization of your choice (e.g. Red Cross, GreenPeace, WWF, Amnesty International, etc. - to mention just some well known ones).
Any direct or indirect use of this software for commercial purposes without the permission of the author is strictly prohibited.
I will be happy to hear any ideas and suggestions for improving the DJ Helper, or any impressions from using it. Don't hesitate to email me at any time.