OVERRIDING MIDI pt.II (III?)
Magnus Danielson
magda at it.kth.se
Sun Feb 9 06:54:19 CET 1997
Hiya!
I haven't followed the debate all that much, just read a few messages out of
this second round.... well, anyway:
I have been thinking of a replacement for MIDI of and on for years now, and
I have collected a number of thougths which migth be worth something for you.
First, I think that MIDI in it's present form has several deep disadvantages
and those would mean such a great constraint to an new system if it would be
directly backward compatible that the result would not represent the quantum
step of improvement necessary for people to become really interested.
Just boosting the speed or change connectors or maybe modify the protocol is
simply not enougth...
The weekness of MIDI of today can be noted in several ways, and here is some:
Speed
The speed of MIDI (31250 baud = 3125 command words) is not by far up
to todays demands with large patches and samples being sent down the
line. Excess use of running controlers is know to cause bandwidth
trouble in live preformance... and how any haven't fallen asleep while
transfering samples over MIDI? :)
Connectors
Really, the standard 5 pole DIN connector is not by far the ideal
connector. They are not mechanical stable in their average apperance.
They do also lack a decent lock method, something which is also
important now that people have gotten the habit of jumping around the
stage with their various MIDI controllers. Even in a studio situation
would a more rugged and locked connector be intersting.
Topology
If you only want to slave a number of sound generator from a controller
(master keyboard or sequencer) will the MIDI approach be appropriate
since it honours a strict tree topology (via splitters and midi-throug)
with typhically only one feedback (which is the link which breaks the
strict tree topology). Today is however the controler and generator
doing much more interactive communication and this causes a trouble
with which box has the feedback line. Except for multiple input
interfaces, midi-mergers or plain old cable swaping I can't see any
other way to do it as the standard is today...
Protocol & Parsing
The current protocol has several drawbacks on different levels and
among those I find that the strictness of the specs and the somewhat
unclear parsing method is one know drawback. Also worth noting is the
precuted selection on resolutions and channels etc... it leaves a lot
to be desired.
Now, there is more to the drawbacks of old MIDI, but I thougth these where the
ones that could act as a lesson on what migth be done when doing a replacement.
Here's some thougths on what can be achieved on these topics:
Speed
Today we can easilly set a twisted pair up to 100 Mbps without loosing
bits or set the cables on fire... and there is chips around to do it.
One could also settle for 10 Mbps just to be cheap...
One way to get it up fast is just say "Ethernet" and accept all the
(known) twists and tricks and sealoads of chips around for it.
Ethernet has know troubles with to many transmitters and/or to active
ones. This drawback could comes from the fact that Ethernet act as a
shared medium of the CDMA/CD fame and there is not much fact that would
say that the trafic shape of musical control data would make it much
better... there is know cures for these problems and they are of the
shelf products nowdays.
A different approach is to go for a splitted medium where traffic is
being sent on point-to-point lines and being switched in various ways.
ATM *could* represent such a technology but there is other and
possibly more interesting techniques to consider. A downside to this
approach is that switches would be needed for all configurations
larger than two boxes.
My point is that there is several ways to go and much can be learned
from watching the things learned in the network and telecom buisness
over the years. A replacement of MIDI faces about the same trouble as
the transmission of a video conference or a webpage from bigtits.com.
Connectors
I personally like the XLR contact much for it is rugged enougth and
will survive that I stand on it (by accident or in educational purpose)
However, the 3 pin XLR migth just confuse things a little bit too
much... why add yeat another signal among Mic, Mic with Phantom, Line
Speaker etc. A 4 pin XLR is more uncommon but is still not unique...
ah well. The RJ45's are kind of OK but is not that rugged that I'd like
them to be... maybe one cannot make everyone happy with one contact but
splitting into two types will cause trouble too... most manufactures
will use the cheaper one (for obvious reasons) and professionals would
like to have the more expensive one to keep their system stable...
Topology
A dramatic break with todays topology is needed. A star topology should
be possible with a hub. A shared medium *migth* be a way to go
sometimes but migth not allways be great. A ring structure migth also
have advantages.
The shared medium strategy usually turns out to be cheapest but has the
distinct disadvantage that everyone will hear everyone which will cause
that every transmitter *migth* collide with any other transmitter.
To avoid inrecoverble trashing of data is several strategies possible:
Collision Detect
Both senders detect collision and backs off for a (hopefully
diffrent) random time.
Collision Avoidance
Transmitters actively avoids collisions by listening first and
also have diffrent "death" times after the last packet on the
medium (used in radio nets) to avoid collision further.
Token Passing
Transmitters pass the transmitt allowance token among them.
Also notworthy is that shared medium is usually also restricted so that
the boxes much be almost directly connected to the same wire... if some
one breaks the wire at his box then will more boxes suffer... happends
all the time with Cheapernet (cheap form of Ethernet using coax and
T-connectors to all nodes).
A ring topology also suffers the flaw that the system as a whole
suffers when a line is broken. In a one-way ring is the suffering
acute while in a two-way ring is it to some extent recoverable since
there is an alternative way that trafic may take. There is however one
advantage of ring networks that isolation of transmitters can be done
quite effectively and collision avoidance is a simple task. With some
tricks can bandwidth be reused quite effectively.
A star topology has the advantage that a broken link will only affect
those devices which talkes to the device with the broken link. This has
a quite underestimated effect on the systems stability. In reallity is
many office networks star topology these days... the downside is that
a central isolating device (sometimes called hub) is needed.
In reality is these techniques being used together to combine their
various strengths. Shared medium and star topology is used in todays
office lans with twisted pair cables on RJ45's connected to hubs which
will electronically simulate the shared medium. Advanced hubs will
even isolate transmitters as much possible. Ring and star topology is
mixed in the FDDI rings connected to a FDDI concentrator which will
be the FDDI equalent of a hub.
There's many pros and cons in this buisness, but I thougth I would
mention some of them.
Protocol
Oh, what a chapter :)
I think they key issue here is the ease of parseability and the
strictness of the rules which governs it.
One migth feel attracted to the idea of just go simple and pick the
TCP/IP protocol suite (used on the Internet... I think you heard of
it :) which will involve a known amount of CPU and memory load and
also a know set of traps but also a know set of possibilities...
One has to figure out the protocol that goes on top of TCP/IP anyway...
Personally I think it is a little overkill for all devices to keep a
minimal but still a TCP/IP stack... but why not?
I think that it can be a good thing to give alternate routes for the
same data to be transfered. One route would require the full parsing
info but each such transmission would involve more processing in both
ends. The other route would be a pre-allocated "channel" for which
several things is being taken for granted once allocated.
I beleive strongly that no single techinque will be *the* way to do it
but rather that wise use of several techniques may create a much better
result. I also see how some kind of various hardware support of channel
isolation could be usefull (consider transmission on various continous
fixed bandwidth channels could help over a fully shared bandwidth).
The specs must give a strict description of a minimum system and also
how that system is to be expanded into richer functionality.
The specs must allow for future expansion in several various ways
which also includes protocol revisions.
The specs *should* (preferably must) specify for a unique way of
remotely over the protocol determine the support of various features
and the lack of those feature must be detectable.
The specs *should* have some form of link state diagnosis power in them
to aid the debugging of a link. This is a very simple tool really but
solves many troubles in the telecom world.
Things like non-data (clocking) must also be considered... the system clock
to keep the system synchronised must be delivered within some limits in time.
The lower jitter and the lower various delays that can occur in the system the
more predictable (and possibly less irritating) will the system become.
I would vote for a stable house clock of decently high frequency (say a
megahertz or something *even*) distributed as part of the carier on a
synchronious system. Once you have a stable common clock in the system, what
would you not be able to do over the system?
I *strongly* beleive that such a new system *must* be an open standard with
no entry fee or royalty for the usage of it. There is an overbeleif in what
comersialisation will do for you... personally I have seen how such things tend
to fail commersially when people went for the open alternative... but then,
there is of course number of cases saying the other thing... this is my
personal view :)
This was written to give my view of things... and maybe add some new fuel into
debate... and hopefully some usefull info and ideas...
Cheers,
Magnus
would you not be able to do over the system?
I *strongly* beleive that such a new system *must* be an open standard with
no entry fee or royalty for the usage of it. There is an overbeleif in what
comersialisation will do for you... personally I have seen how such things tend
to fail commersially when people went for the open alternative... but then,
there is of course number of cases saying the other thing... this is my
personal view :)
This was written to give my view of things... and maybe add some new fuel into
debate... and hopefully some usefull info and ideas...
Cheers,
Magnus
PS. Sorry for repeating the last stuff.. I did a copy-n-fail over a slow line
and doesn't want to redo it... sorry!
More information about the Synth-diy
mailing list