Let's replace MIDI at last, after 40 years of holding us all back! Do you really still want to work at 3 kilobytes per second? Today, we are not limited to a slow serial link, let's tunnel the data through the higher speed S/PDIF or Toslink interfaces, capable of 1.5Mbps. Just don't listen to the stream as a sound. Or send over raw UDP packets over 100BaseT or whatever.
At this moment, n00n is mostly a real-time oriented, one-way, general encapsulation protocol, based on "overkill oversampling". While MIDI represents music performances with a lot of "discrete events" that describe state changes (like a press or release of a key), n00n is stateless and represents the complete state of the devices, all the time, allowing for "a certain amount of losses" that makes it more resilient. There is room to define almost anything, even encapsulate MIDI if you wanted, and also support for ad hoc compression.
-o-O-0-O-o-
Logs:
1. 16 bits
2. More drafting
3. Even more drafting
4. Header and payload checksums with PEAC (deprecated)
5. The project is renamed !
6. Packet types
7. Topology
8. Ring-or-star : General dataflow structure of a device
9. High-resolution timestamps
10. Updated header structure
11. Filtering
12. Streams vs packets
13. Timestamps
14. Addressing and naming
15. Non-volatile configuration parameters
.
.
....
What about MIDI 2.0 ? Well it's funny that a few things converge : mostly the same address space (16-bit addresses ?), more bits for certain types of values, but all the layers of compatibility get in the way. n00n is bidirectional from the ground up (when wired as a ring or star) and there is nothing to negociate (except dynamic addresses). And it is stateless.
But more importantly : n00n does not try to map to, or mimic, a musical or instrumental feature (this would lead to its demise). n00n transmits sensors' output as raw data in continuous streams, they are simple vectors of numbers and they are interpreted and mapped late in the process. So there is no pitch, velocity, pan, modulation message : only numbers that the synthesisers interpret and route as they wish. All the interfaces are considered agnostic and repurposable. The "Instrument class" types are only a hint, as a knob can be routed to a pedal or a keyboard to a mixing deck.
Time to revive this project...