I need some technical help and info from everyone who owns a DJ midi controller...

I need some technical help and info from everyone who owns a DJ midi controller…

I’m working on an update to this here…

I’m adding support for DJ midi controllers like the mixtrack pro, s2, s4 etc…

The thing i need some help with is that they all use slightly different midi messaging systems.

The mixtrack pro that I have now, use a midi value of 127 to go backwards and a midi value of 1 to go forwards.

Then as you spin the platter faster and faster the forward value of 1 starts to raise up to a value of 32 or so to show that it’s going faster.

While spinning backwards the value of 127 comes down to around 96 or so to show that it’s going faster.

That’s for the Numark Mixtrack Pro 3.

My old VCI used to use a value of 65 going forward and a value of 63 going backwards.

Then as you spin the platter faster and faster the forward value off 65 starts to raise up to a value of 127 to show that it’s going faster forward.

While spinning backwards the value of 63 comes down to 0 to show that it’s going faster backward.

That’s for the old metal VCI units.

If you have a midi DJ controller with jog wheels and a midi monitor I’d appreciate a little help of this, I need to know as many midi ranges and methods as possible so I can implement the controller support properly.

Take your controller and spin the platter slowly in each direction and see what the base midi values are for forward and backward.

Then spin it as fast as you can and see what midi values come out of it then.

Please let me know what controller you have and what the midi messaging output is.

Thanks.

IIRC the S4 does the 63-65 thing with no distinction between fast/slow

Thank you for letting me know this, I really hope some people will chime in with info about Pioneer and Denon stuff, also the new Rane stuff would be nice to get a bead on.

If I recall correctly, most manufacturers use a binary offset message for their MIDI encoders. This is a 00-63 / 65-127 message that sends a value on every “tick” of the encoder. Spinning the encoder faster may give you a different message, so for example spinning the platter slowly may generate a 63 on every tick, while a backspin may change that to 58 or 52, etc. Generally normal rotation is tracked using the number of ticks combined with the message time stamps.

I think Numark used a 2’s comp message instead of a binary offset, which works in a similar way but is a 65-127 / 63-00 message. It seems I’ve seen a couple wacky control schemes out there as well, but I can’t remember the specific product right now.

What exactly is a binary offset message?

I’ve never heard of this term or the 2’s comp message terminology, can you tell me what that means?

Thanks.

Offset Binary
2’s Complement

Generally speaking, all you really need to know are the following…

2’s Complement from 64 is 065 - 127 / 063 - 000
2’s Complement from 0 is 001 - 64 / 127 - 065
Sign Magnitude is 065 - 127 / 001 - 063
Relative Binary Offset is 001 - 063 / 065 - 127
Single Value Increment/Decrement is 096 / 097

These all refer to the behavior of the 3rd byte of the MIDI message (7bit) in response to control movement. The most common type for DJ platters seems to be the binary offset message.

Thank you, I think my system can already do all of these except for the single value increment decrement system.

Thanks