2 weeks ago we wrote a controversial article on the effect of HID on MIDI in the digital dj world. There are a lot of great points in the comments but most people missed the most important point of the article. To help clarify, here is part 2 of the discussion which explains what HID, MIDI and OSC are and goes into more detail about what is really at stake in this important discussion.
A Controller Dictionary
MIDI
“universal”
a standardized communication format that anyone software or hardware can use. If your software understands midi and I build a controller that sends midi then they will work perfectly together out of the box. Anyone else can customize the way they work with each other and it will always work well with future versions of any software.
OSC
“faster and more powerful but harder to implement”
a newer, faster communication standard that was meant to replace MIDI. OSC works the same way as MIDI and if adopted by 2 devices, anyone can customize the way they work together. The problem with OSC is that very few controllers send it and even fewer pieces of software support it, therefore it has not really caught on.
HID
“easy, powerful and very proprietary”
HID is a device type that allows any computer to recognize a HID USB device when its plugged in. Common HID devices include mice, joysticks, guitar hero guitars and now dj controllers. The HID standard is very open and only insures that any HID compliant device will work very well with any computer out there. Because its so open, only the software designed for that hardware will work out of the box. HID is easy to implement and capable of doing very complicated things but it eliminates most customization for the end user given its non-standard formats. Its also very difficult for companies like NI to support customizable HID control over their software.
Dj TT asked Friedemann Becker, the creator of Traktor and a digital dj pioneer why that is. He told us:
“HID is a non standardized protocol so each company sends out their own messages in a proprietary way specific to the device. Therefore the software developer must program an interface that understands the data coming from the device and splits it into info that can be used by the software” …”Midi on the other hand is fully standardized so the manufacturer is constrained to sending out data that Traktor can understand and support in the future”
So basically, unless Numark provides Traktor with the secret HID decoder ring for the NS7 then you can only configure it yourself using MIDI which is vastly inferior to what ITCH can do with HID. This goes beyond hi resolution controllers but complex ways that the software and hardware can work together to make your experience as a dj more fluid.
Party Like its 1999
This is not the future we are talking about folks. There are already 2 controllers on the market that tell the story better than I do; The VCI-300 and the NS7. Bottom line is that Serato could not get the performance they needed out of midi so they went to the more robust HID system. To actually use the HID data, other software companies need to spend time and money to program and support each controller manually. Even then, it would would never like the original software and you most likely would not be able to customize the controls. Instead, controllers will also send out midi for the custom programmers. Sure you can do the job that way, but trying to program midi is like building a boat out of scraps from the lumber yard instead of custom ordering the right timber from the start.
Whats to be Done?
- Push software makers to fully support hi-res midi
- Get the MIDI guys to get off their asses and finish the MIDI 2 spec NOW and not in 3 years as planned
- come up with a new standard that can manage to succeed where OSC failed
- Contribute to this poll and tell the manufactures what you really want
To clarify, the original article was not about HID replacing midi. It was about the emergence of HID controllers killing the (dj) midi controller market before it gets the chance to really flourish. Look at it this way, in a few years you will have the following options:
1) a bunch of controller systems that work really well out of the box exclusively with one software but are not customizable.
2) a few boutique controllers which are fully customizable but cant compete with the others in terms of performance features.
Its not hard to see which option will win the majority of customers over time. Eventually, some software manufactures may just decide to discontinue midi support entirely (Itch does not have it now). There is clearly a good reason to go with the fist option but its in everyone’s best interest if we find the right balance between both.