- We want to understand how DJs create DJ Mixes.
- Therefore, we collected and analyze 1,557 real-world DJ mixes including 13,728 tracks from 1001Tracklists.
- To understand how DJs use audio effects, we perform mix-to-track subsequence alignment using DTW.
- Then, using the alignment results, we also extract cue points, which indicate when individual tracks start/end in mixes.
- Finally, we perform analyses with three hypotheses below and show that statistical evidence supports the hypotheses:
- DJs tend not to change tempo and/or key of tracks much to avoid distorting the original essence of the tracks.
- DJs make seamless transitions from one track to another considering the musical structures of tracks.
- DJs tend to select cue points at similar positions in a single track.
The 1001Tracklists Dataset
We obtained a collection of DJ mix metadata via direct personal communication with 1001Tracklists. Each entry of mixes contains a list of track, boundary timestamps and genre. It also contains web links to the audio files of the mixes and tracks. We downloaded the audio files separately from the linked media service websites on our own.
The table below summarizes statistics of the dataset. The original size of the dataset is denoted as ‘All’ and the size after filtering as ‘Matched’. Note that the number of played tracks is greater than the number of unique tracks as a track can be played in multiple mixes.
|The number of mixes||1,564||1,557|
|The number of unique tracks||15,068||13,728|
|The number of played tracks||26,776||24,202|
|The number of transitions||24,344||20,765|
|Total length of mixes (in hours)||1,577||1,570|
|Total length of unique tracks (in hours)||1,038||913|
|Average length of mixes (in minutes)||60.5||60.5|
|Average length of unique tracks (in minutes)||4.1||4.0|
|Average number of played tracks in a mix||17.1||15.5|
|Average number of transitions in a mix||14.5||12.9|
The dataset includes a variety of genres but mostly focuses on House and Trance music as shown below.
Mix Genre Distribution
Track Genre Distribution
Mix-To-Track Subsequence Alignment
The objective of mix-to-track subsequence alignment is to find an optimal alignment path between a subsequence of a mix and a track used in the mix. We compute the alignment by applying subsequence DTW to beat synchronous features such as MFCC and chroma features.
Three examples below visualize the DTW-based mix-to-track subsequence alignment between a mix and the original tracks played in that mix. The colored solid lines show the warping paths of the alignment. Since we use beat synchronous representations for them, the warping paths become diagonal with a slope of one if a mix and a track are successfully aligned.
You can listen and see individual tracks used in the mixes if you go to the tracklist links.
Well Aligned Example [Tracklist Link]
The example below shows an successfully aligned example for the most of tracks and features where all warping paths have straight diagonal paths.
Badly Aligned Example [Tracklist Link]
This example is failing because sounds from crowds are also recorded in the mix. You can hear crowds sreaming if you listen to the mix below.
Key Changed Example [Tracklist Link]
Since the proposed alignment method is key transposition invariant, the method works even though a DJ changes the key of tracks. This is an example which the key-invariant method distinctively works better than others as the DJ frequently uses key transposition on the mix. You can hear that some tracks are key changed if you go to the tracklist link and listen to the mix and the individual tracks!
Cue Point Extraction
If you look closer to the warping paths from the subsequence DTW, you can also extract cue points which indicate where tracks start/end in mixes. The figure below is a zoomed-in view of a visualization of mix-to-track subsequence alignment explaining the three types of extracted cue points. The two alignment paths drift from the diagonal lines in the transition region (between 2310 and 2324 in mix beat) because the two tracks cross-fades. Based on this observation, we detect the cue-out/-in point of the previous/next track by finding the last/first beat where preceding/succeeding 32 beats have diagonal moves in the alignment path.
Musicological Analysis of DJ Mixes
We hypothesize that DJs share common practices in the creative process. Here, we validate the hypotheses mentioned in the summary above using the results from the mix-to-track subsequence alignment and the cue point extraction.
Tempo Adjustment Analysis
The figure below shows a histogram of percentage differences of tempo between the original track and the audio segment in the mix. 86.1% of the tempo are adjusted less than 5%, 94.5% are less than 10%, and 98.6% are less than 20%.
Key Change Analysis
The figure below shows a histogram of key change between the original track and the corresponding audio segment in the mix. Only 2.5% among the total 24,202 tracks are transposed and, among those transposed tracks, 94.3% of them are only one semitone transposed. This result indicates that DJs generally do not perform key transposition much and leave the “master tempo” function on DJ systems turned on in most cases.
Transition Length Analysis
The figure below shows a histogram of transition lengths in the number of beats. We annotated the dotted lines every 32 beat which is often considered as a phrase in the context of dance music. The histogram has peaks at every phrases. This indicates that DJs consider the repetitive structures in the dominant genres of music when they make transitions or set cue points.
Cue Point Agreement Among DJs
We collected all extracted cue points for each track and computed the statistics of deviations in cue-in points and cue-out points among DJs. From the results, 23.6% of the total cue point pairs have zero deviation. 40.4% of them were within one measure (4 beats), 73.6% were within 8 measures and 86.2% were within 16 measures. This indicates that there are some rules that DJs share in deciding the cue points.
You Can Do It Too! [GitHub Repo Link]
We published the code for mix-to-track subsequence alignment, cue point extraction, DTW visualization and the tempo analysis. The code uses the cool mix below by Palms Trax as an input data.
And you will get the visualization below after running the code!
A Preview of Our Next Move
We are working on more detailed explanations about DJ mixing techniques! The figure below is extracted EQ curves explaining how a DJ controlled EQ knobs on a DJ system. Please stay tuned for our next paper! More fun is coming 💕