DIY 14 Bit Midi

Home :: Reviews of DJ equipment :: DIY 14 Bit MidiReply
DIY 14 Bit Midi
Posted on: 24.05.2010 by Toby Suttles
I'm looking at designing my own midi controller and I'm interested in finding out more about 14 bit midi. Hi-resolution faders and pots for everything just sounds super sweet to me. I can see that the Vestax VCI-300 and the Xponent both use this technology - and importantly that traktor can use it - but I can't seem to find much info in terms of midi DIY kits. Can anyone help me?
Carletta Riemer
11.12.2011
Pretty sure the Xponent is a 10-bit fader. Just because they update it to send 14-bit messages doesn't mean the fader itself is 14-bit. 10-bit is certainly a step up from 8-bit, though, which is useless. Think of 10-bit faders as equivalent to 45 or 60mm analog faders and 14-bit faders as equivalent to a 100mm analog fader. A 10-bit 100mm fader will not respond to the smallest movements, though, as you see on the Xponent and Versadeck that too teeny a movement won't do anything... even in Deckadance with its three decimals visible. On a true 14-bit 100mm pitch fader, even the smallest motion will register and you never need worry about it not making a difference. If it
Carletta Riemer
11.12.2011
Pretty sure the Xponent is a 10-bit fader. Just because they update it to send 14-bit messages doesn't mean the fader itself is 14-bit. 10-bit is certainly a step up from 8-bit, though, which is useless. Think of 10-bit faders as equivalent to 45 or 60mm analog faders and 14-bit faders as equivalent to a 100mm analog fader. A 10-bit 100mm fader will not respond to the smallest movements, though, as you see on the Xponent and Versadeck that too teeny a movement won't do anything... even in Deckadance with its three decimals visible. On a true 14-bit 100mm pitch fader, even the smallest motion will register and you never need worry about it not making a difference. If it
Carletta Riemer
11.12.2011
Pretty sure the Xponent is a 10-bit fader. Just because they update it to send 14-bit messages doesn't mean the fader itself is 14-bit. 10-bit is certainly a step up from 8-bit, though, which is useless. Think of 10-bit faders as equivalent to 45 or 60mm analog faders and 14-bit faders as equivalent to a 100mm analog fader. A 10-bit 100mm fader will not respond to the smallest movements, though, as you see on the Xponent and Versadeck that too teeny a movement won't do anything... even in Deckadance with its three decimals visible. On a true 14-bit 100mm pitch fader, even the smallest motion will register and you never need worry about it not making a difference. If it
Carletta Riemer
11.12.2011
Pretty sure the Xponent is a 10-bit fader. Just because they update it to send 14-bit messages doesn't mean the fader itself is 14-bit. 10-bit is certainly a step up from 8-bit, though, which is useless. Think of 10-bit faders as equivalent to 45 or 60mm analog faders and 14-bit faders as equivalent to a 100mm analog fader. A 10-bit 100mm fader will not respond to the smallest movements, though, as you see on the Xponent and Versadeck that too teeny a movement won't do anything... even in Deckadance with its three decimals visible. On a true 14-bit 100mm pitch fader, even the smallest motion will register and you never need worry about it not making a difference. If it
Carletta Riemer
11.12.2011
Pretty sure the Xponent is a 10-bit fader. Just because they update it to send 14-bit messages doesn't mean the fader itself is 14-bit. 10-bit is certainly a step up from 8-bit, though, which is useless. Think of 10-bit faders as equivalent to 45 or 60mm analog faders and 14-bit faders as equivalent to a 100mm analog fader. A 10-bit 100mm fader will not respond to the smallest movements, though, as you see on the Xponent and Versadeck that too teeny a movement won't do anything... even in Deckadance with its three decimals visible. On a true 14-bit 100mm pitch fader, even the smallest motion will register and you never need worry about it not making a difference. If it
Carletta Riemer
11.12.2011
Pretty sure the Xponent is a 10-bit fader. Just because they update it to send 14-bit messages doesn't mean the fader itself is 14-bit. 10-bit is certainly a step up from 8-bit, though, which is useless. Think of 10-bit faders as equivalent to 45 or 60mm analog faders and 14-bit faders as equivalent to a 100mm analog fader. A 10-bit 100mm fader will not respond to the smallest movements, though, as you see on the Xponent and Versadeck that too teeny a movement won't do anything... even in Deckadance with its three decimals visible. On a true 14-bit 100mm pitch fader, even the smallest motion will register and you never need worry about it not making a difference. If it
Carletta Riemer
11.12.2011
Pretty sure the Xponent is a 10-bit fader. Just because they update it to send 14-bit messages doesn't mean the fader itself is 14-bit. 10-bit is certainly a step up from 8-bit, though, which is useless. Think of 10-bit faders as equivalent to 45 or 60mm analog faders and 14-bit faders as equivalent to a 100mm analog fader. A 10-bit 100mm fader will not respond to the smallest movements, though, as you see on the Xponent and Versadeck that too teeny a movement won't do anything... even in Deckadance with its three decimals visible. On a true 14-bit 100mm pitch fader, even the smallest motion will register and you never need worry about it not making a difference. If it
Carletta Riemer
11.12.2011
Pretty sure the Xponent is a 10-bit fader. Just because they update it to send 14-bit messages doesn't mean the fader itself is 14-bit. 10-bit is certainly a step up from 8-bit, though, which is useless. Think of 10-bit faders as equivalent to 45 or 60mm analog faders and 14-bit faders as equivalent to a 100mm analog fader. A 10-bit 100mm fader will not respond to the smallest movements, though, as you see on the Xponent and Versadeck that too teeny a movement won't do anything... even in Deckadance with its three decimals visible. On a true 14-bit 100mm pitch fader, even the smallest motion will register and you never need worry about it not making a difference. If it
Carletta Riemer
11.12.2011
Pretty sure the Xponent is a 10-bit fader. Just because they update it to send 14-bit messages doesn't mean the fader itself is 14-bit. 10-bit is certainly a step up from 8-bit, though, which is useless. Think of 10-bit faders as equivalent to 45 or 60mm analog faders and 14-bit faders as equivalent to a 100mm analog fader. A 10-bit 100mm fader will not respond to the smallest movements, though, as you see on the Xponent and Versadeck that too teeny a movement won't do anything... even in Deckadance with its three decimals visible. On a true 14-bit 100mm pitch fader, even the smallest motion will register and you never need worry about it not making a difference. If it
Carletta Riemer
11.12.2011
Pretty sure the Xponent is a 10-bit fader. Just because they update it to send 14-bit messages doesn't mean the fader itself is 14-bit. 10-bit is certainly a step up from 8-bit, though, which is useless. Think of 10-bit faders as equivalent to 45 or 60mm analog faders and 14-bit faders as equivalent to a 100mm analog fader. A 10-bit 100mm fader will not respond to the smallest movements, though, as you see on the Xponent and Versadeck that too teeny a movement won't do anything... even in Deckadance with its three decimals visible. On a true 14-bit 100mm pitch fader, even the smallest motion will register and you never need worry about it not making a difference. If it
Carletta Riemer
11.12.2011
Pretty sure the Xponent is a 10-bit fader. Just because they update it to send 14-bit messages doesn't mean the fader itself is 14-bit. 10-bit is certainly a step up from 8-bit, though, which is useless. Think of 10-bit faders as equivalent to 45 or 60mm analog faders and 14-bit faders as equivalent to a 100mm analog fader. A 10-bit 100mm fader will not respond to the smallest movements, though, as you see on the Xponent and Versadeck that too teeny a movement won't do anything... even in Deckadance with its three decimals visible. On a true 14-bit 100mm pitch fader, even the smallest motion will register and you never need worry about it not making a difference. If it
Carletta Riemer
11.12.2011
Pretty sure the Xponent is a 10-bit fader. Just because they update it to send 14-bit messages doesn't mean the fader itself is 14-bit. 10-bit is certainly a step up from 8-bit, though, which is useless. Think of 10-bit faders as equivalent to 45 or 60mm analog faders and 14-bit faders as equivalent to a 100mm analog fader. A 10-bit 100mm fader will not respond to the smallest movements, though, as you see on the Xponent and Versadeck that too teeny a movement won't do anything... even in Deckadance with its three decimals visible. On a true 14-bit 100mm pitch fader, even the smallest motion will register and you never need worry about it not making a difference. If it
Keli Vandenbergh
28.05.2010
...

Cool.

Maxforlive patch planned?


...
Diogo Dj Dragão
28.05.2010
On SCS.1, our main focus right now is internal testing of the Windows 7 driver. But we also have several new presets in the pipe and a new DaRouter as well.
Diogo Dj Dragão
28.05.2010
...but if it is encryted sysex (like APC40) or plain and can do the work... COOL!
It's not encrypted. It's out in the open plain MIDI. And it's not all SYSEX. There are SYSEX messages for things like device ID, motor start, etc, but the bulk of the messaging is garden variety MIDI. And while I haven't sniffed traffic between the APC40 and Live, I know that by default it sends unencrypted MIDI as well. There is a challenge/response between the ACP40 and Live in order to enable the APC40 specific functionality, but it's not necessarily encrypted (although it might look like it). It's much simpler than that.
Keli Vandenbergh
28.05.2010
...

Ok guys... then I believed that NS7/V7 (or better said ITCH) work with relative interrupting trought HID but if it is encryted sysex (like APC40) or plain and can do the work... COOL!

About SCS.1d I have some love/hate relationship I can try it and I'm not sure if the issues were on soft or hard side but if Nemonic said that work in is progress... well count for my support. I prefer open platforms ever. If you can share more details or what kind of help do you need I will try to bring some net research or ask my teachers (I get wrong but because I'm the madman student ).

About midi fighter and protocols, the 7bits or 14bits has a "bit" detail, almost in arduino or FDTI platforms (which emulate the serial port) because these packets are truncated (the biggers) and make it a bit "laggy", test will be interesting in different scenarios (crabbs, platter scratch and so on...). Also resolution is important and 7bits maybe is not enoght for fast scratching... we could try to (anybody remembers what kind of message sends rastieri scratcher?).

In the other hand (Nemonic) at Traktor support for scs.1d you have another handicap: When stanton released "the system" NI dropped the sysex 14 bits timecode support at same version... it makes me believe in market wars (maybe I'm wrong again) and this is bad for final user.

Let's continue talking because I'm interested so much on contiune learning.

Thanks to all!



...
Toby Suttles
28.05.2010
me too. Thanks again.
Corine Kasman
27.05.2010
Very interesting conversation. I'm learning a lot!

Also looking forward to the software opening to the advances in hardware. It feels like we are only really starting to scratch the surface of what controllers will eventually be able to do.

Thanks, Phil.
robert chanda
27.05.2010
Mudo, keep asking questions! I have no problem with that, it really is the only way to learn. So long as you decide to listen to the responses you'll be fine, which you seem to be doing!

Having programmed USB/MIDI at the low level in the Midifighter, I can't really see how much faster any other system could be. For each MIDI event we essentially wrap it into a 4-byte "packet" and add it to the USB "endpoint". An endpoint in USB is a 16, 32 or 64 byte piece of memory especially set aside for the USB device to hold messages for the Host. Once the 4-byte MIDI event is in the endpoint we can either flush the endpoint (by waiting for the Host to poll it for "bytes to consume") or we can continue adding MIDI events until the endpoint is full. Every keydown, CC change or input MIDI event are just these 4-byte packets stuffed into an endpoint. No device on a USB bus can do anything other than wait for the Host to pass by and pick up the data it has in the endpoints. Hosts do everything, devices do nothing but wait (but they can influence how often a Host decides to drop by for more information...)

HID works in exactly the same way except it has a different packet layout and a different subsystem listening at the Host end of the USB cable. Pretty much the only difference between USB/MIDI and HID is how the Host reads and interprets the endpoint packets. There's nothing that designing a device can do to influence how your operating system has decided to support MIDI. With custom HID drivers, you can route the information more directly to your application. Another difference is that MIDI prefers values to be unsigned integers in the range 0..127, or longer values broken into 7-bit sections whereas HID is able to represent variable length information more easily and has representations for different numeric data types. As for the speed and latency? They're exactly the same.

So, open and limited to some extent (but just as fast) or closed, tied to one particular application and requires drivers that are subject to "bit rot" over time.

I'd go for MIDI every time.
Diogo Dj Dragão
27.05.2010
Serato is writing support for both HID and MIDI in their applications, but according to everything we've seen so far, the NS7 is communicating via MIDI - NOT HID.

The SCS.1 controllers were developed several years ago, before anything like them existed in the market. They weren't working with something that was already in the market, so there were no standards to work towards. MIDI was the standard and a natural choice. They had working prototypes in 2007, and showed the SCS.1 system live and working at NAMM 2008.

Throughout the development, they tried to choose open standards and give developers and users a platform to work with that was easy. That's why MIDI Translator was used for example. But our mistake (in my opinion) was not to target a single app instead of choosing the more open route. It meant that while we had the potential to work with a number of different programs, we were a master of none. This is where we are right now with the platter implementation on the SCS.1d.

If you look at the raw output of the SCS.1d through something like the testing VST we developed, you can see that performance is solid. But just like the NS7 and the VCI-300, the SCS.1 controllers have trouble in apps like Traktor, partially because software hasn't caught up to the leap hardware has made in the last year.

The great thing right now about the NS7 is that it has a program it was made specifically to work with (Itch). Any other application support is icing on the cake. We don't have that right now.

There is a LOT of development going on right now on SCS.1. We're looking at a bunch of things we can do to make the SCS.1d a more solid performer. And I would argue that the SCS.1m is easily one of the most useful controllers out there. And I fully believe that the SCS.1d will grow into it's role as a platter controller and become something cool in the near future. We just have some work to do first.
Keli Vandenbergh
27.05.2010
...

Thanks Nemonic,
I'm not pissed off, I said that I "understood" from the old discussion and I'm not defending HID over MIDI as a closed protocol, I love MIDI but it seems that Numark has MIDI for open solutions but HID for ITCH. They argue it is better for response and (based in my own research with arduino) I could understand why they say those.

In the other hand I know you are involved in SCS.1d develop... is not? Then please explain me WHY is so crappy at scratching? It is due to platter itself and nothing to protocol?

When some users where discussing at Ms. Pinky community about what protocol and why use them... we were talking the same doubts...

I love when Fatlimeny or you correct me (somebody has to I'm only a madman advertiser xD) because there are some facts that not are clear and my argues focus on find answers.

Without my wrong argues I will never find truth, sorry.

My apologizes for booth and please if you (fatlimey and/or yourself) could bring some tech info about protocols, physical connections and so on... please share them!

At last, as I said before:

If you use an arduino (or any micropic based in FDTI chip) you will have a funnel because it is emulating a serial port.

HID "seems" more fast than the other protocols and I believes it is due to kind of interrupt/message output. About close or open (I prefer open of course), well... I'm working on it and I will share my efforts, of course.



...
Diogo Dj Dragão
26.05.2010
The platter and "spindle" send separate messages - the platter sending a timestamp and the spindle sending a traditional relative message. There's also a message required to turn the motor on.
Arcelia Siebeneck
26.05.2010
so how does the motor control work on the NS7?
Diogo Dj Dragão
26.05.2010
In addition to "physical" connections you must take in consideration "protocol" itself. Midi is serial one... the way how message are send and so on.
Wrong. The fact is that MIDI is able to take full advantage of whatever transport medium it's using. It's more than fast enough to convey scratching with precision. For example, the SCS.1d has 4000 counts of resolution per rotation. This translates to 4.7 messages per millimeter of platter movement - more than enough to convey minute movements accurately. And the firewire bus can handle all of this traffic without throttling (applications are a different story). We've looked at the NS7 and it has a very similar platter resolution, and achieves it's rock solid performance over USB. But you say the NS7 is HID...

For regular uses Midi is far enough but for "scratch" scenario (i.e again) numark uses HID because it is far speed and best resolution and DVS use timecode/timestamp because Midi couldn't afford the specs (compare scs.1d with V7).
This is WRONG. PLEASE don't talk about what specific products output unless you've actually tested them yourself. The NS7 sends PURE MIDI - NOT HID. All you need to do to verify this is to fire up MIDIOX or SendSX to see the output. This has been tested thoroughly, and you can search online and find other companies that will verify it (VirtualDJ developed NS7 support right after it was released, and there's a lot of info on their boards as well).

Mudo, ALL of your arguments here are red herrings that are obviously not researched. Normally I wouldn't bother replying to stuff like this, but I felt the need to in this case, because your assumptions hurt the future of controllerisim. HID is a black box environment, and users have little control over devices that use it. In some cases, that's acceptable (especially from a developer standpoint). MIDI is open, the protocol is well supported, and it's not as limited as your posts would have people believe. It's not limited to a specific speed or transport medium, it's fast (faster than protocols like OSC because there's smaller packets and less overhead), and it's not maxed out at a 14bit word length.

I'm not trying to argue that MIDI is superior to HID or OSC. Honestly, I know of situations where I can see all 3 being appropriate to use. What I am saying is that you're maligning a protocol you obviously haven't researched at any length.
Toby Suttles
26.05.2010
Hey thanks for all the info. I didn't realise until this thread that the high resolution midi was strictly for pitch control. I was tossing up whether to include pitch control at all in my design. Would be great if EQs and volumes had higher resolution as well. 1-127 really isn't a lot of detail.
Keli Vandenbergh
26.05.2010
...

@Midifidler:

In addition to "physical" connections you must take in consideration "protocol" itself. Midi is serial one... the way how message are send and so on.

Obviously trought usb it becomes faster in data transmission but the protocol still is serialized in comparision with OSC (i.e) which has multicast options.

For regular uses Midi is far enough but for "scratch" scenario (i.e again) numark uses HID because it is far speed and best resolution and DVS use timecode/timestamp because Midi couldn't afford the specs (compare scs.1d with V7).

It is a issue with protocol itself not developed for "all". At last it is a debate done around the net and my conclusions are clear:

HID best for scratch.
OSC best for interfacing and multicasting.
MIDI (sysex included) for the rest.

And take in consideration the platform because if you want to use an arduino (i.e) the FDTI chip "emulates" a serial connection and again you have a "funnel" in data transmission, not in other platforms like CUI or 18f450 pics based, arms... etc.



...
robert chanda
25.05.2010
We really should do something about reverse engineering that VCI firmware. We have a disassembler, we have an assembler, we have a programmer. Should just be a matter of tracing what connects to which pins, seeing if there's a recognizable ABI, breaking the code into chunks based on calls/returns, finding the USB code to ignore, finding the I/O port reads and writes, and then mapping out the remains of this large amount of assembly to find the inner loops that read switches and writes USB/MIDI packets.

Not enough hours in the day to do all the fun stuff I want to do!
Adolf Hit
25.05.2010
MUDO
USB midi is not limited by the old RS-232 data transfer speeds, only old devices which use legacy midi din plugs are limited by this - you are confusing the hardware and software protocols.

Unfortunatley for now 14 bit resolution is not much help in Traktor as only pitch supports it - hopefully they upgrade the EQ line and cross faders asap.

I believe for most FX especially when in chained mode 7 bit is enough

As a side note any device out there which currently supports 14 bit midi on its knobs/faders will actually only really have 10 bit resolution. That is the typical adc resolution of the device used in midi controllers, yes you can buy higher resolution ADCs but they cost a lot more, and the percevable difference between 10 bit and 14 bit on a knob is going to be nill.

The VCI itself could be upgraded via firmware to support 14 bit midi (once again it would only really be 10 bit ) there is no software or hardware limitation. I would say vestax have an ulterior motive for not delivering this request
Keli Vandenbergh
25.05.2010
...

+1

...
Corine Kasman
25.05.2010
What do you want to do with a 14bit controller? Remember that Traktor can only get any 14bit benefits on the pitch fader (search the 14bit VCI-300 jog issues in Traktor). Until the software can handle it, the hardware is not much use. DJTT looked into 14bit for the VCI-100 (it would have been firmware 1.4), but we have heard little about this in a year, I am guessing, due to the software limitations.

Phil.
Keli Vandenbergh
25.05.2010
...

7bits is not enough resolution for all and midi is not enough "fast" neither as serial dependant protocol but it is still usefull of course.

Check the web with the battle MIDI vs HID vs OSC...




...
Chara Ravine
25.05.2010
For something simple as volume faders or eq knobs, you dont need hi-res midi, 7-bit works just fine. The only thing that needs 14bit is the pitch fader imo.
Toby Suttles
25.05.2010
Hey and thanks for all the links
Toby Suttles
25.05.2010
Still toying with the possibilities of design. I love the simpicity of these dj mixers .... http://www.electronique-spectacle.com/ ... I want to start my design with big fat rotary dials for all the fundamental controls (and if i have that level of control I'd like high resolution). Instead of the knobs for individual EQ I want to use minisliders like this vestax mixer http://www.sounds4uentertainment.co....s/resize-1.jpg

Then include a small matrix of buttons to use for cue points - similar to a monome but probably 5x5 to keep it all compact.

And I'd like to try doing pitch nudge with 4 x strip controllers. I have an inkling that this would be an intuitive way of doing it.
Keli Vandenbergh
24.05.2010
...

http://oscvstbridge.sourceforge.net/


...
Keli Vandenbergh
24.05.2010
...

The first version CUI has some features in this way... it will be interesting if somebody port to the new CUI32x...

About Hid2midi/osc... well if your believeing or use it with Traktor, ITCH or maxforlive you don't need to convert: Hid is the best way but you must need to code/script.

If you need 14 bits (sysex midi) then you must code... and with software I advice you pure data (for bridgering from Hid2midi).

some interesting links, ok!

Check down in Firmwares... OSC, MIDI and HID...
http://www.create.ucsb.edu/~dano/CUI/


it is 7 bits but interesting, don't you believe?
http://www.casainho.net/tiki-index.p...MIDI+turntable


And at last... what are you believeing on develop?



...
Toby Suttles
24.05.2010
Well this chip seems to run entirely on BASIC. Which suits me as proper low-level assembler type languages are something ran running and screaming from 10+ years ago when I studied it at uni.

Might it be possible/easier to convert from HID or OSC to midi at the computer level?
Amos Gmeiner
24.05.2010
I'm still waiting for someone to build a more precise hardware setup in a VCI-100(SE) casing. That would make such an awesome mod.
I have some low-level programming skills, but lack the soldering skills, time and money to build such a thing myself.
Latia Pfleider
24.05.2010
With midi only having 128 positons(as far as I know) this might not help much.

*edit nevermind I believe I am wrong about that... 7bit is 127
Toby Suttles
24.05.2010
Ok with a little more indepth searching I believe this -

http://code.google.com/p/cui32/

May actually do what I'm looking for. Seems like this particular chip can be setup to do a whole lot of things though.

I am feeling a little out of my depth but it is relatively cheap and it doesn't require any usb->serial devices or anything like that get started hacking. hmmmm

<< Back to Reviews of DJ equipment Reply

Copyright 2012-2023
DJRANKINGS.ORG n.g.o.
Chuo-ku, Osaka, Japan

Created by Ajaxel CMS

Terms & Privacy