Denon SC5000M hardware issue

Hi. In this post on the Virtual DJ technical support forum

where I reported a failure in the non-constant, but oscillatory playback speed, since the integration as oficially accesorry or native support of the Denon SC5000M device, djdad (Development Manager), tells me that it may be due to a “hardware issue”.

What does Denon technical and development team have to say at this point?

Could this also be happening in the new Denon SC6000M motorized drives?

A software solution has never convinced me. Everything that is software correction or adjustments of speed, tone, tonality, etc. those of us who like to mix music “by ear”, do manual beatmatching, see the result as an artificial sound.

Also, after the suspicions that it may be a hardware issue, I await an official reply and explanations from Denon, to clear up doubts and mistrust.


Well this statement sounds completely out of logic. What do You expect in a digital software environment to be changed? A screw? A cable? Or a button? Non consistent speed of playback can be solved by software, but if it only happens to You then it is more likely subject of Your computer running VDJ or any other software related issue acctually.

@NoiseRiser Sorry, but I don’t understand your reply and input at all. It seems as if this post has been an offense to you, as if you were a commercial part of the Denon team.

It also gives the impression of not having readed carefully and put attention the post that I published and to which I refer. It doesn’t happen to me alone. It is more than evident. It is also a bug recognized by the Virtual DJ development team. What more justification do you want? Don’t put the blame on me.

Regarding software correction I mean something like what serato offers: “Anti-Drift”.

This is a feature that takes away all the appeal and illusion of mixing by ear. The fact that the sound source and the equipment are digital does not imply or prevent at all that manual and audio beatmatching can be done.

Oh, and of course, if it seems so clear to you that it is not a hardware issue, why not reply to the developer djdad in the Virtual DJ forum and let it be known. This will save them work.

Your answer, to me, is irrelevant. I am still waiting for an official reply.

It looks like You didn’t read my replay with understanding. No offense here from my side at all. Just wanted to know what is the logic behind that one strange statement you made. Software wise a lot can be done, not by anti drift but to alter the communication between software and the device. So don’t say that software fix is not acceptable. Beatmatching has nothing to do with this - You can beatmatch as You like, Nothing wrong with that.

I assume pure DVS-style won’t work and in order to make the MIDI right in something like VDJ, you can’t simply watch the platter speed all the time. I believe the Ms have a kind of ‘ignore the actual record speed’ play mode and, once a threshold of deviating from the record’s expected speed is reached, another ‘follow the actual record speed’ bend mode that will transition into a kind of scratch mode in the right circumstances. When it’s in the first mode, there might be other MIDI flags or real time data available that’s telling the PC software the speed, sort of like it should see for a layer that’s in the background.

If there are no actual flags or separate play mode, bend mode, and scratch mode MIDI feeds that can be tapped into and just the record’s rotation data, then VDJ might need to map one or all three type of modes like the M’s Engine OS firmware apparently does, i.e. ignore the record rotation rate most of the time if it’s within a certain percentage (???) of the ideal pitch fader rate (e.g. do the math of zero % rpm * pitch fader + zero % rpm) and then if it deviates sufficiently then VDJ sees the exact record rotation. I presume VDJ itself has independent bend and scratch modes in such a state.

Is it related to this?

Hi all,

My name is Kotisi and I am one of the software team leads at Serato, and in particular this “drifting” issue is one I have spent time on this year. First of all apologies for not replying sooner. Please note that we have actively been looking into this issue for several months now, and the final solution is not a simple one - else we would have implemented something already.

Below I will summarise some points that will hopefully answer some comments and questions that I’ve read across different threads. When I talk about platters, I mean the motorized platters SC5000M and Rane 12.

  1. When it comes to controlling the motorized platter speed, Serato can only tell the hardware what pitch setting to play at. For example, if the pitch range is ±8%, and pitch is set to 1.5%, Serato sends a message to the platter “play at 1.5%”. Then it is up to the motorized platter itself to control the platter speed to that pitch setting / motor speed. If the platter plays slightly faster or slower, that is because of the internal motor control on the platter has not been calibrated exactly right.
  2. One question is: why is the SC5000M able to control motor speed better in standalone mode vs Serato mode? The reason is because in standalone mode, the Denon Engine software is also controlling the motor speed (rather than just the internal motor control that’s used when in Serato mode). Denon Engine has the ability to control the motor speed directly and forms part of the feedback loop, which allows better control of the platter. Serato does not currently have access to control the motor in the same way that Engine does - see point 1, whereby SDJ can only set the pitch to what the user has set the pitch slider to. We’re looking into Serato trying to emulate what Engine does - but it is not a simple change, and we are not sure that we have the necessary info and controls to do it.
  3. When it comes to the Rane 12, one question is: “why can Virtual DJ keep a Rane 12 playing at the right speed, but Serato drifts?” The reason is because during normal song play (i.e. when not scratching) Virtual DJ is ignoring the actual speed of the platter and just playing the song at the speed it’s supposed to play it. The advantage of this method is that a platter can appear to be playing at the right speed, so you can appear to keep songs in sync. A disadvantage of this VDJ method is that you get sticker slip (i.e. if you play a song for a bit and then manually rewind it back, it won’t come back to exactly the same spot, which can affect things like beat juggling). Another disadvantage is that the platter is less responsive to nudging (for this technique to work, there is a speed fluctuation range that is ignored, which means if you lightly push or lightly slow down the platter, it won’t be detected and the song plays as if the platter wasn’t touched). So Serato is representing the real world behaviour of the platter.
  4. For Serato, since this is a physical motorized platter, we want the song play to represent what the platter is actually doing. The best solution for SDJ is to speed up or slow down the motor if the internal motor control is not exact enough. We have investigated trying to control the motor speed using the limited methods available, and although some things seem to improve and it looks promising, other things get worse and make the user experience bad by introducing another problem i.e. we don’t want to improve one problem and just introduce another noticeable problem that leads to more negative feedback. For example, we might get better platter response over a long period of time, but slower worse response to nudging.
  5. In the last Serato 2.3.4 release, the following was in the release notes: “Improved Motorized Platter accuracy reducing potential audio artefacts”. This fixed a bug that affected short term accuracy, but we don’t think it would have a noticeable impact on drift over a longer period of time e.g. 10 seconds. I did see a comment on this thread that it had fixed the drift, but we can’t conclusively say that is due to this fix
  6. Since it is the platter that controls motor speed, an individual platter will drift by the same amount, whether it’s in MIDI mode or DVS mode. We have tested this in-house e.g. by playing a SC5000M in MIDI mode (motorized platter mode), and in DVS mode by outputting a sine tone signal - and in both cases, the song plays at the same speed with the same error for a given pitch setting. For example, if pitch is set to 1.5%, in MIDI mode it might play at 1.48%, and DVS mode would also play at 1.48%.

It is obvious that we need to change something to satisfy our customers, the tricky part is getting a solution that will satisfy our external and internal customers. For example, one solution may be great for a DJ who does a lot of long mixes, but it might be bad for a turntablist that does a lot of beat juggling and scratching. Too many options for a user can also lead to confusion. So I will keep reading your comments and continue to answer your questions and keep you updated when I can. Cheers

“Another disadvantage is that the platter is less responsive to nudging (for this technique to work, there is a speed fluctuation range that is ignored, which means if you lightly push or lightly slow down the platter, it won’t be detected and the song plays as if the platter wasn’t touched).”

Which is one of the common curses of much digital DJing, in my opinion, right alongside pitch fader increments that are too crude.

If you read later on that post from Serato forum, the latest entry is from April 14, 2020 and says:

Yes, we’re working with Denon to explore this, and check if it’s achievable.

No news later.

Did the Serato people ever manage to get it working well?

After a period of play the drifting goes away on the 5000m when using serato.

So I have changed approach I start both players like 5 mins before a set, I rinse some tracks through them to get to the point where it doesn’t drift again or rather no drifting is observed.