Research Group for Applied Software Engineering
Forschungsgruppe für Angewandte Softwaretechnik

MrCrossFader - The Intelligent DJ

MrCrossFader is an application I have developed to demonstrate various audio (in particular crossfading and mixing) techniques.


What is crossfading

Crossfading means fading out (i.e.turning down the volume of) one source file while fading in the other.
This method creates a smooth transition because for a short period of time the listener hears both files playing simultaneously.

I have implemented several features which allow you to check out a number of crossfading techniques and make the transition
as smooth as possible (the main task of a dj!). This can be achieved by choosing two songs
that resemble each other and then use the circular sliders to adjust the tempo of the two running songs.
If you can try to let the two songs run in sync and then perform the crossfade. That's definitely a challenge!


Auto-Crossfading and the Special Mode

Whenever you press the Auto-Crossfade button the program starts crossfading the two tracks automatically.
You can even feel free to adjust the duration of the automatic crossfade (between one and fifteen seconds).
In addition, I have developed an algorithm which simulates the so called break down fade.
A very popular mixing technique among turntable DJs. In order to achieve the desired effect (in reality) one has to
abruptly turn off the power of one turntable and slowly fade in the next record. When the power is turned off
the turntable does not instantly stop, instead it keeps getting slower and slower. Simply enable the Spacial Mode check box
and you will see what I mean. There is still a variety of other features implemented but just start the application and push a few buttons
(see button description on the image below) and you will become a master DJ in no time.


How to load/remove songs and the iTunes-button

I have composed and included the following tracks to the application's recources bundle:

    • Karim Morsy - The PYI Theme
    • Karim Morsy - Sarntal Funk
    • Karim Morsy - Context Awareness


My task was to implement a tool that let's the user choose between three songs, so that's the number of songs loaded by default. Yet, you can feel free to remove any of the songs listed above (the files are not deleted!) using the according text field. You can also use the text field to add your own songs straight from your iTunes library (located in the ~/Shared folder; any common audio file format is compatible, mp3, aiff, wav etc...). When loading a song, don't forget to append the respective file extension. If you press the ITUNES-BUTTON your whole music library is loaded from the aforementioned location. By the way, when clicking on button number three or number six (see image for button description) MrCrossFader pronounces the title of the selected track (without pronouncing the file extension). Even if it is one of your own tracks.


How to record your mixes ?

Since MrCrossFader allows you to load your personal tracks from iTunes you have the possibility to play and fade between your favorite songs, thus enabling you to create your own mix track. Due to technical/compatibility reasons I haven't yet implemented a recording function. Therefore, (in case you would like to make your own mix cd) I recommend you to download the following tool which is very easy to use and real nice in combination with MrCrossFader: Wire Tap: Upon pressing the record button Wire Tap simply records the whole sound coming through the output channel of your computer.


Keyboard shortcuts

COMMAND A= Auto-crossfade
COMMAND M= Special Mode
COMMAND L= Start/Pause left player
COMMAND R= Start/Pause right player
COMMAND S= Scratch
COMMAND += Add the song typed in the text field
COMMAND -= Remove the song typed in the text field
COMMAND 1-6= Play the sound associated with the respective (numbered) buttons