Hello Denon/Engine Community,
So lately, I had issues with the key analyser on Engine DJ. It doesn’t find the right keys.
To give you the hole context : I was searching for new ideas of associations. I was testing two tracks in 8A (camelot key), but they didn’t matched at all: it sounded bizarre, even if they were supposed to match perfectly in terms of key. After searching on beatport and tunebat, I found that both keys determined by Engine DJ were incorrect. I then found myself in the same situation with several tracks, more and more.
After reanalyzing all the tracks, nothing changed.
I finally decided to go through some tracks manually and compare their key with beatport and tunebat. I reviewed 200-220 tracks that did or didn’t contain a key in their MP3 file. I was shocked to find that more than a half (around 150) had an incorrect key (I will go through all the tracks in order to give you a precise statistic to Denon; this means going through more than 1400 tracks, ouch).
Did you have the same issues? if yes, where does the problem come from?
I don’t think any software algorithm out there is wholly accurate with Mixed in Key being the highest in independent test that have been done.
There is a length discussion on reddit which shows where software developers are in terms of Key accuracy.
Here is a quick snapshot, as you can see Engine is very high in the rankings, to perhaps boost your confidence in Engine a bit further, a year or 2 prior they were half way down the list in accuracy.
This comparison was from 2022, i haven’t went back to see if it was updated again.
Without knowing what the tracks are (and therefore what they sound like) it’s difficult to put a finger on why they didn’t work together.
It’s also not wise to assume the key is “wrong” because it’s not the same as [name of analysis software].
The recommended thing is to analyse all tracks in the same software so that the algorithm used is identical for each track. This way the keys should (in theory) be compatible regardless of whether they match another software’s analysis.
Even MIK gets it wrong. Even trained musicians do, because there has to be enough note pitch info in the track for the ear (or algorithm) to work out the key. The fewer notes used, the harder it is to detect accurately, as notes often fit into more than one key.
Other things can enter into it too, like the track being between keys or using an unusual scale. Of course tracks can also change key, but software tends to only assign one (the average), so if one of the tracks you used has more than one key, that could explain the clash.
At the end of the day, use your ears. If it sounds out, shift the key up or down and try to match it.
Thank you for sharing this Reddit thread!
I only ever loosely use key match during a warm up or when im playing music im not familiar with, and it’s generally accurate enough.
Saying Engine ‘badly’ analyses the key doesn’t fit with my experience at all.
At the end of the day though, knowing your music is the number one way of picking the right track to mix next… people can get caught in a ‘key wormhole’ during a set and it’ll end up a bit formulaic if not used with care.
I have to say that I actually think the key analysis is very tight on the software, sure you get the odd ones that clash a bit but on the whole I find it works very well.
Again though if you know the tracks well enough to begin with you don’t often even need to know the key, ears always give the best analysis
I always use mixedinkey, give great result and after analysing i import into engine prime.
If only the MIK Devs would sort out importing cue points to engine as opposed to having to import to serato or traktor first.
That would be amaze balls.
I used Mixedinkey with Rekordbox, but the thing it imports are memory cues. Importing memory cues in engine give 8 memory cues ontop of hot cues which make things a bit awkward. Ecspacialy when importing RB into Engine. I prefer choosing my own cue points.
It’s just a setting that you can adjust in MixedInKey
I use Keyfinder KeyFinder (which Mixxx now use) and has always been great. It now seem (according to that test) that Engine gets much better results now than it did in previous years. The test states:
Updated the chart results + overview image with the new results of Engine DJ BETA, which uses a new improved algorithm, and will be in the upcoming release.Big improvement: from ~55,8% (Engine DJ 2.1.0) to ~72,7% accuracy.
Also great to see Engine DJ director reached out to me to improve their key detection, and so they did!
The 2020 version of his test had Keyfinder listed as a separate app (not in Mixxx) and it got 72% yet it dropped to 70% the following year (2021) after using double the dataset for the this test:
Another recomendation for Keyfinder, been using it for years.
It’s been my go-to for around 10 years now and I run everything though it first but maybe Denon DJs algorithm is good enough now.
I write custom codes that correspond to the Camelot wheel which I don’t think anyone else does unless they licence from MIK. They convert from classical but not write directly if I’m correct?
Me too, custom Camelot codes and then write them to a non-key field in the id3 tag, then run a custom script to clear all tag info that I’m not using and only then it goes into DJ software for beatgrid and waveform analysis only.
There are so many great apps on Mac, I really wish there was a Windows version, not an alternative.
I just couldn’t justify buying into a new computer ecosystem.
V1 was both Mac & Windows and he was asking for donations for V2 to help hone the algorithm.
Rather annoyingly he closed the donations and once they were all in he announced that V2 wouldn’t be for Windows. Rather a crappy move to be fair.
As Mixxx incorporated Keyfinder, it’s made it available on both Win & Mac. Download Mixxx instead and that’ll give you a Win version.
Exactly what I am doing. Also Mixx doubles as a backup DJ software.
Brilliant, i’ll give that a spin.
Nice to see that Engine is doing better than most and soundly smacking VirtualDJ, Serato, and even Rekordbox.
I think that the claim Engine DJ badly analyses tracks is too general. I do a lot of key analysis at the moment. In the beginning I used Mixed in Key, but its BPM analysis was off in about 50% of the tracks that I analysed - I used this mainly for techno tracks and the genre of music will certainly influence the analysability of the tracks, especially in terms of the Camelot system. I often do not agree with the results in either Mixed in Key or Engine DJ. So I skipped the Mixed in Key step. Now I start with organizing files first, renaming files in a consistent way, I use mp3tag to fill in all the details that I like. Then I put the tracks into Engine DJ. The BPM analysis is usually spot on, only every now and then I have to adjust the beat grid.
I use a keyboard synth and a piano to play along a track. Engine DJ is quite good at identifying the harmonic center note, but often it seems to classify a fast high-energy techno track as major rather than minor. And here I also see how limited the Camelot system is, because I often find that other scales are used in a track which are not covered by the Camelot system. Especially acid tracks often have some squelchy psychedelic weirdness in them, the software may say it is F minor, but if you play along the melody you may find it to be F phrygian. In that case I still leave the Camelot key at F minor, but I put a note in the description field that something else is going on in the track.
The major/minor decision is often a matter of asking: does this sound happy or sad … happy or sad ? … happy or sad ? … but in electronic music it may not sound like either, but like or … mysterious, sinister, otherworldly, garbage, really-fluffy-colourful-in-a-weird-way, experimental …
For some tracks I find it really hard to even find the harmonic center, the note which feels mostly at home. And in some of these cases, after listening closely and for quite some time, I find myself agreeing with Engine DJ in the end. Most of the time I go for the bassline and the tune of the kick drum first, for mixing these are important … then I look if there are other notes in the track and I look at the possible scales that contain these notes … it is a lot of work, but I feel that it connects me to the tracks on a deeper level. So I would conclude that Engine DJ is not doing such a bad job and I guess that it will even do a better job at more pop-like tracks.
Even if two tracks have the same BPM and key, they may absolutely not mix well together. There is more to rhythm than BPM and two tracks that are both actually in 8A may have a wholly different vibe. The Camelot keys do simplify the harmonic information of a track, providing a sort of training wheels approach when it comes to mixing in key. But there is often more nuance and complexity in the harmonic structure of electronic music that these simplified keys do not fully capture. In the end we have to trust our ears and intuition and in a live set make people go crazy by picking the right track in the right moment regardless of key and tempo and rock the house!