I figured if they're sending MIDI "Control change" commands (as is documented for the Total Control jog wheels), then as long as you format it with the: [(status byte) 0xBn ] [ (1st data byte) controller byte] [(second data byte) value].
Then the second data byte can mean whatever you want it to mean relevant to whatever is being controlled, be it position, velocity, delta velocity, whatever. You can have the value even get scaled the same way audio faders aren't linear and send that. I don't think the MIDI protocol is explicit about that and that's why I was curious. If midi is operating constantly at peak frequency then it can send messages at over 1000 Hz (Isn't MIDI 31250 bps with 3 byte frames?) . That's pretty fast relevant to human perception, which I think was the point in MIDI design. It'd be nice to know how fast the actual velocity data gets updated by the controller. I'm just confused for the necessity of these new "Hi-Def midi" even with latencies of 5 ms, like the VCI-300 and the numark NS7 (this one has motorized platters) in order to get better scratching. It seems like you just need to be able to sense speed changes faster and then send them, and has nothing to with the MIDI standard. I guess I'd need to work out the math and see how fast a scratchers hand moves when scratching. I suspect it's all on the encoder side of things and maybe even a part cost thing, like manufacturers were like "we are not putting expensive encoders in a product that we haven't proven there's a market for" and now that the market is well extablished the've figured out a better/cheaper speed sensing tech and are putting that in. But they have so much resolution now they don't know what to do with it, so they increased the transfer rate. But then again, I have poor deck skills. -Nick ----- Original Message ---- From: Mark Glines <[email protected]> To: Nick Conway <[email protected]> Cc: Too Many DJs <[email protected]> Sent: Wednesday, March 11, 2009 4:50:01 PM Subject: Re: [Mixxx-devel] Midi Encoder data details Nick Conway wrote: > So how do they format the velocity data? Position is limited by whatever the > pulses per revolution are but velocity can be pretty unbounded. Hi Nick, The formatting is defined by the communication protocol. For the total control, that's MIDI, so it'll start sending "widget #FOO +1" messages when you rotate the turntable clockwise, and "widget #FOO -1" messages when you rotate the turntable counter-clockwise. As you spin it faster, it sends the messages more often, until you hit some threshold, at which point it always sends the message at its basic clock rate (maybe 100Hz?) but just increases the number instead. The powermate I mentioned earlier is sort of a special case, they have their own protocol (and the device wasn't really intended for dj mixing anyway). However, I would expect most midi controllers to behave very similarly to the total control, as described above. ------------------------------------------------------------------------------ Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are powering Web 2.0 with engaging, cross-platform capabilities. Quickly and easily build your RIAs with Flex Builder, the Eclipse(TM)based development software that enables intelligent coding and step-through debugging. Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com _______________________________________________ Mixxx-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mixxx-devel
