introduction

the digital audio age - mpeg audio layer 3 (mp3)

digital audio has been quite a big hit in the 90s, featuring professional quality homestudios, software synthesizers, digital effects and much more.
but the real breakthrough concerning the way we deal with digital audio has been achieved by new compression techniques. in 1994 the fraunhofer institute for integrated circuits (fraunhofer-iis) in erlangen, germany introduced a new audio compression based on a psychoacustic model that offers the highest music quality while reducing the average file size by factor 10.0.
perceptual audio compression techniques are quite different from traditional loss-less compression. briefly, perceptual compression throws out the crap you won´t hear anyway, due to the psychoacustic limitations of the human ear and brain.

since then, mpeg audio layer 3 (or mp3) has been flooding the web as the new format for high quality music distribution. as record companies start selling artist tracks online in mp3 format and multimedia hardware manufacturers offer walkman style mp3 players for the mobile, a new chapter in the history of digital audio is being opened that looks both exciting and promising.




the digital dj age - mj

mp3 compression has also changed the way we handle music as consumers.
since you can easily fit your average 100 cd collection on 10 custom made mp3 cds or store them on your harddisc, music has become much more accessible and easier to play with.





quickstart - get the music pumpin

the first time you start mj, the soundcard setup dialog will pop up and two songs will be loaded and played automatically. now you´re ready for your own mix.
the cross-fader (the scrollbar labeled with "X-FADER") is placed in mid-position by default. push it hard to the left side and you´ll notice that you´re hearing only deck a. adjust the volume and then take care of the bpm fader: turn it up and down. you´ll notice that the playback pitch of the song changes significantly.
load the second mp3 now on the deck labeled b. watch the bpm detection counter on the left deck and try to match it on the right deck by adjusting the bpm fader there.
now slowly pull the mix fader to the middle. you should now here two songs playing at once.
when you observe that both decks are running at the same speed, but slightly out of sync, just push the the buttons with the arrows below each deck to give the specific song a slight nudge in the desired direction. yo. now you´re already in the mix !











setup

minimal system configuration

decoding and mixing two mp3 files at once takes a serious amount of processor power if it is done right. we suggest the following minimal system configuration:



installation/deinstallation

click on setup.exe and follow the steps of the installation program. a d-lusion sound systems folder with a mj icon will be added in the start bar.

if you might ever want to deinstall mj (although we can't figure out why you would :)), use the windows install/deinstall option in the configuration/software menu. everything will be taken care of then...




soundcard setup

before you can use mj for the first time, you have to check the soundcard setup. the setup ist located in the window menu. you can obtain it by clicking on the top left icon of the mj window.

Sound Output
determines the audio driver that mj uses for sound generation. you may have the following choices :
Master Stereo
default. choose this option, if you´re soundcard is directly conntected to your home stereo or boxes.

Master&Monitor 2 x Mono
choose this option if you´ve connected an audio doohicky to your soundcard.

click here for further information about the monitor system.

Frequency
mixing frequency for the mj sound generation. you will use 44.1kHz to achieve cd quality, unless your soundcard doesn't support it or you want to torture yourself.

Resolution
the resolution of the generated audio data. usually 16 bit.

Blocksize
the block size determines the size of the output buffer. if you use a smaller buffer, the time between the movement of a slider and the actual reaction of the sound generation gets shorter. unfortunately this highly depends on the soundcard driver you are using. if the buffer size gets too small, you will hear a stuttering noise in the sound output. it is best to reduce the buffer size to the smallest possible size without getting a stuttering sound. this behaviour is known as "latency" and is typical for all digital sound applications that have to modify the output in a special way.






preferences

to adjust mj to your needs you can do some fine tuning in the preferences dialog which is located in the system menu. autosave/load last playlist
if enabled, mj will save the playlist when leaving and reload it the next time you start mj.

recursively add directories
if enabled, mj will browse through all subdirectories and will add all mp3s found there.

docking behaviour
if enabled, moving mj will also move the playlist.

automix time
specify the number of seconds, mj will take if the
automix function is enabled.

volume settings/monitor
choose the appropriate volume for the monitor output here.




the audio doohicky

an audio doohicky is nothing more than a channel splitter. it splitters your stereo signal from your soundcard into two mono signals. now you can attach one signal to your home stereo to drive the party and the other one to your headphones to monitor your mix and to fine tune some parameters (e.g. match the tempo of both songs to sync perfectly) before you let your audience listen your mix.
order it at radioshack : partnumber #274-375B

click here for further information about the monitor system.











mj´s main window

display elements

the main display consists of two areas:
in the upper half of the screen you can see the two mp3 decks.
the lower half of the screen is dedicated to control elements like volume, position etc.
soundcard setup, about dialog and more can be reached in the window control by clicking on the icon in the upper left corner of the mj window.
the following section will explain all elements that are visible in the mj window:

mp3 decks

the two mp3 decks are located in the upper part of the window. both can play a 128 bit 44 kHz mp3 file. each deck has the following controls (text in brackets are keyboard commands for the specified function):

load button
the load button looks like the typical eject button on your cd or tape player. click here to load a new song into the deck.

time display
displays the remaining time for the file being played in the upper part of the deck.

bpm display
displays the detected bpm (beats per minute) in the lower part of the deck. this is quite a useful tool for matching both decks on the same speed.
Remark: reliable bpm detection is quite a difficult job. the algorithm used in mj is far from being perfect. we found it to be quite reliable on house music and other straight beat stuff. but don´t expect it to work on breakbeat, jungle and trash-metal.

pitch slider (arrow up/down)
each deck has its own pitch slider that alters the speed from 50% to 200%.
by clicking with the right mouse button, the slider automatically jumps back to 100%.

"+", "-" buttons
these buttons increment (+) or decrement (-) the current pitch of the deck. use these buttons to do some fine tuning you couldn´t achieve with the pitch slider.

"=" buttons
use this button to set the pitch of the deck to match the bpm settings.
example: deck a and deck b are playing, but by pushing the cross-fader to the right or by selecting the b-button your audience is listening to the song of deck b. now press the "=" button on deck a to set the pitch of deck a so that deck a will play with the same beat (bpm) as deck b. now, all you have to do (supposed the beat detection worked fine) is to nudge deck a forward/backward in order to synchronize the beats of your songs.

nudge buttons (numeric */numeric /)
the nudge buttons are located below each deck. their purpose is to jump a little forward or backward in a track that has the right speed, but the wrong offset to eleminate that nasty double bassdrums.

".", the deck hold button (numeric delete)
this button has the same effect as stopping a turntable with the hand. the deck will slow down and then stop playing when you click the button with the mouse. as soon as you release the mouse button from its pressed state, the deck will start to play like before.

equalizer (insert,delete,home,end,pgup,pgdown)
a simple but efficient to use 3-band equalizer.

deck scratching positioned above the equalizer (the cds). click it and move your mouse to do some scratching with your songs.

play controls

there are several play controls for each deck located in the lower part of the window.


songname
displays the current name of the file being played.

deck volume (numeric +/-)
the vertical slider specifies the volume for each deck. very useful to match different files to the same volume.

deck punch in (numeric 0)
located directly above the deck volume slider (labelled with a big "P"). press this button to get the specifed deck into the mix, regardless of the position of the cross-fader.

music controls
probably, these controls look familiar to you since you have seen them on a lot of audio equipment. they are: previous song from playlist, skip backward, play/pause, skip forward, next song from playlist.
nothing more to say about.

progress bar
the vertical progress bar below the music controls visualizes the current song position. you can change the position by dragging the marker or clicking on a specific position. while loading a file, the marker indicates the decoding position.



crossfader (arrow left/right)
the crossfader between the two decks controls the mixing relation of each deck in the audio output stream. hard left equals 100% left 0% right, middle equals 50% left 50% right and so on.



playlist
open/close the playlist window

the record button
hit this button to record your mix as one big wave file (.wav) onto your harddisk.

monitor related functions (1/2/3)
these functions will only be useful to you, if you´ve selected the audio doohicky in the sound setup. but then you have two wave outs. one for monitoring and one for the crowd. the A/AxB/B switches specify what should be played on your "crowd" output, eg. if you´ve selected the a button, only the song on deck a will be sent to the "crowd" output, no matter what you´re doing with the cross-fader.
this is a really important function, since it´s possible to e.g. match the bpm settings of the other deck or to synchronize the drums of two songs without letting your audience hear what you´re doing. if you select AxB (which is the default position), the crowd-output will reflect the state of the x-fader.
on the monitor wave out, there will be always the mixed signal represented by the crossfader.


mj´s playlist

general information

with the playlist you can manage a set of songs to quickly access them within mj. just add songs with the "Add" or "Add Dir" command or delete them with "Delete" button. "Clear" will remove all songs from the playlist. the next song to be played is indicated by an arrow.
"Save List" saves the current state of the playlist and "Load List" will load a previously saved list.
Note: mj loads and saves the playlists in the popular .m3u format for your convenience.
you can drag and drop songs from e.g. the windows explorer onto the playlist to add them.

options











keyboard access

for fast access, all important functions are directly mapped to the keyboard.
the current focused deck is indicated by the red font. you can change the focus permanently by pressing space bar. by pressing ctrl the opposite deck will be focused as long as you hold the key. the shift keys are used to speed up the movement of some sliders (e.g. x-fader), just press them in addition to the regular keys.

function key
x-fader arrow left/right
output selector (deck A/AxB/B) 1, 2, 3
deck pitch arrow up/down
deck 3-band eq ins, del, home, end, pgup, pgdn
deck seek numeric 4/numeric 6
deck start/stop return and numeric 5
deck next/previous track numeric 2/numeric 8
deck volume numeric +/-
deck punch in numeric 0
deck hold numeric delete
deck nudge forward/backward numeric */numeric /











questions & answers

question: i hear annoying crackling and popping noises when playing a second song. what´s going on ?

answer: your machine seems to be a little too slow to run this kind of highly sophisticated software or the soundcard drivers you are using have been coded in bangalore. but you can try to correct this by increasing the buffersize in the mj soundcard setup.
anyway, we would suggest to use DirectX sound drivers since the latency is far better. you have to install DirectX on your system first though.




question: my soundcard works perfectly with other programs, but when i start i get the error "can not open output device". What am i doing wrong ?

answer: we tried to test the application on a great variety of soundcards and driver. but some old or very exotic soundcard drivers will just not work correctly with the program. in this case please get the newest driver version from your vendor or try to install DirectX.




question: where the heck is the soundcard setup dialog ?

answer: it´s well hidden in the windows system menu. click on the icon in the upper left corner of the mj window and select soundcard setup.




question: it seems that some files are not played correctly. what´s wrong ?

answer: the file format is probably wrong. mj only supports mpeg audio layer 3 files with 128kbit, 44KHz rate.




question: the bpm detection doesn´t work properly and it jumps significantly in some songs. is this a bug ?

answer: mj uses a very fast bpm detection routine based on a stochastic model. nevertheless, bpm detection will not work on all songs. house and techno songs with a clear basedrum will work best of course.