Midi through Ethernet

  • Thread starter Thread starter CarlJ
  • Start date Start date
C

CarlJ

New member
I know that the MIDI interface is the traditional interface for musical instruments but as a netwoork type of person, I see this protocol as old, S-L-O-W and expensive! Has anybody seeing any sequencers/synthesizers/keyboards using an Ethernet interface maybe even a box with TCP/IP for enveloping the existing MIDI protocol? Seems to me it would be a whole lot easier, less expensive and many orders of magnitude higher performance than the USB ideas and the numbers of “ports could be as many as 256 ins and outs and still be using the 100 base protocol at 20% of what they are now trying to push through USB with 8 ports…
 
It would be theoretically possible, sure. But USB will be cheaper and simpler. First hurdle with IP-MIDI: How do you select IP-numbers?
 
regebro said:
It would be theoretically possible, sure. But USB will be cheaper and simpler. First hurdle with IP-MIDI: How do you select IP-numbers?

Shouldn't be that difficult in theory. Just because something runs across ethernet doesn't necessarily imply IP. Many protocols can be utilized. Arp, Rip, OSPF, IPX, smtp, TCP/IP, CMSA/CD, PPP, DECnet, XNS, Vines, Netbios, ISO, NFS, VLAN are many protocols that one can shove over ethernet, so don't necessarily assume an IP address would be assigned to a piece of midi gear.

Anyways, one way to do this is to make a simple PIC based ethernet to midi converter, using whatever protocol you choose, and doing it that way. Bidirectional would be preferable :) Then your PC/MAC would need the appropriate "midi protocol" drivers written, but what the other gentleman is proposing is not impossible to do. The question is, how much time do you want to invest in making this work? I currently use E-Magic Unitor/AMT Midi interfaces to avoid congestion on my midi tracks, and guess what, it chokes sometimes anyway, because you combine a few zillion high-hats with midi fader/pan/EQ settings for digital mixing, and viola - no more bandwidth! 38K serial is not a helluva lot of data space.

Anyway, just adding a few cents to the equasion.
 
Thanks so much guy... Like I said the 38k serial bandwidth is very limiting and I was sure that I was not the first to be frustrated with it... As for expensive the 100 base NIC cards are going for under $100 dollars and a cheep hub and wires that can be up to a 100 meters and not 20 feet...
A converter box simpler to the printer boxes that about every network has for under $100 type of thing could handle the protocol stuff and like I said we should be able to "shovel" up to 256 channels of the existing Midi packet down it’s thought on a standard broadcast and still have bandwidth to spare for things like smart controllers and other fun things like that…
I take it that you don’t know of anybody out there that has tried this on a production basis?
 
I'm surprised nothing better than the standard 38K MIDI has arrived either...

Frederic: CarlJ specifically mentioned IP, and actually, whats the point if you can't easily talk to your computer becuase you run some obscure protocol? Of course IP should be used. And of course the address issue can be solved, it's just a matter of making everybody adhere to specifications.
But these have to be conjured, and accepted, and so on. Making two pieces of equipment that you connect together with a TP-null wire talk IP together is not entirely trivial. And if one of them is a PC, things get even worse...

I don't know if USB is the solution. It solves these problems, but doesn't USB need to have a master device and the others as slaves? In that case it's a no-go, becuase in MIDI all devices are equal.
 
I'm surprised nothing better than the standard 38K MIDI has arrived either...


Well, Roland made a brief attempt at doubling it in some kind of proprietary setting in certainly early 90's synths, but that of course died since it wasn't standard. I'm sure other manufacturers made attempts here and there.

Frederic: CarlJ specifically mentioned IP, and actually, whats the point if you can't easily talk to your computer becuase you run some obscure protocol? Of course IP should be used. And of course the address issue can be solved, it's just a matter of making everybody adhere to specifications.

I wasn't knocking your reply to Carl, please don't take it that way. While my writing seems to be condescending, its not intended to be that way. I write corporate memos for a living :)

Anyway, all I was attempting to say was that IP is not the only choice, and all of the above protocols I mentioned, there are drivers for windows. IPX & Netbios are probably the most common aside from IP, and of course, the MAC supports both of them as well.

Honestly, I would LOVE IP based Midi. Being an old LAN/WAN guy I could easily wire things up with krone patch panels etc. There would also be no more contention on the midi cables, and even more important - every midi device would be one cable away (or so) from the computer/master keyboard. I hate midi thru jacks, I never use them, and never will again. Even though I have a Emagic Unitor-8, and two AMT8's connected to that, I have midi thru boxes connected to most of the output ports, just because I have a ton of gear, and thru ports add 7 msec of delay (more or less). Four synths in series (thru to in, thru to in, etc), and the last synth could be off almost a full 1/4 beat!

Bah.

I don't know if USB is the solution. It solves these problems, but doesn't USB need to have a master device and the others as slaves? In that case it's a no-go, becuase in MIDI all devices are equal.

I have the ability to use USB with my Unitor/AMT8 configuration, however I do not do so simply because while windows 95/98/ME support USB somewhat well, windows NT does not, and 2000 is giving me tremendous problems. I hate serial (same problems as midi - potential data contention), but at least it works across all platforms (95/98/ME/NT/2000 + MAC) fairly well.

Of course, once I upgrade the studio PC's to 2000 and use 2000 only, I'll not have these irritating problems any longer.

Ethernet-based Midi (okay, with IP) will solve a lot of my current problems.
 
I didn't for a minute think that you were knocking my posts, I just think that MIDI over ethernet isn't the most practical solution there is. For it to work in practise with computers and without too much pain, IP is really the only choice. And it WOULD be cool to run it over the internet. :)

I've been thinking about this for ten years now, and actually started writing an FRC first, but then I realized you need reference implementations, which is not possible wothout having a standalone hardware thingy, really, so a manufacturer needs to be involved. And now other options, such as USB has turned up.
 
regebro said:
I didn't for a minute think that you were knocking my posts, I just think that MIDI over ethernet isn't the most practical solution there is. For it to work in practise with computers and without too much pain, IP is really the only choice. And it WOULD be cool to run it over the internet. :)

Fair enough. I just wanted to make sure I wasn't offending anyone :)

And yes, I do believe its not terribly practical, however I can visualize how it can be done. Midi, is basically the same current-loop concept as RS422. I theorize that an ordinary terminal server might work. This device has multiple RS232/RS422 ports on one side, and ethernet on the other. The particular unit I have sitting in my garage, has 64 RS422 ports, and 1 ethernet. I may have to have my programmer buddy come over and see if we can send anything to the serial ports, through midi. Would be a neat experiement none-the-less. Of course, not everyone has a Xyplex terminal server in their garage :)

I've been thinking about this for ten years now, and actually started writing an FRC first, but then I realized you need reference implementations, which is not possible wothout having a standalone hardware thingy, really, so a manufacturer needs to be involved. And now other options, such as USB has turned up.
[/B]

Yeah, but doesn't USB require additional hardware, and a vendor (or vendors) to make products? This is why I went with the E-Magic solution - serial/USB, up to eight units can be cascaded with the PC, 16 units cascaded for the MAC, and it does work well. I'm probably worrying about contention problems I don't have at this point in time.

:)
 
//Of course, not everyone has a Xyplex terminal server in their garage//

I have a Xyplex terminal server in my garage too.
No shit. Only 16 ports here though.

The problem with midi over ethernet is more than just addressing. It is also serialization delay. You have too packetize the serial data which is going to take time. That time is going to present itself no matter how fricking big your network pipe is because the device has to wait for n amount of data to come in to become packetized or for a period of time to pad the frame by writing spare bits to size it. Then you have more time for an ethernet card on the other side to strip off the headers and hand the data to the application or driver.

Where does your clocking come from once you start digitizing this data on a network that will cause jitter in the transfer ? You will need something like a stratum clock somewhere to do your timing and encode that timing into the packets.

What about packet loss ? What should I do ? do I retransmit per general ip/ethernet or drop the data ? To make those decisions appropiately then you will need to use a protocol over ip to do that like RTSP (real time something protocol) like IP phones and IP video use for the same reasons.

What about contention for resources ? If you have a hub and everyone is hogging it with FTP or whatever how do you make sure your data gets through in appropiate time ? You need a switch that can do packet quality of service writing to COS bits at ethernet and TOS bits if you want to route.

All this shit has to be engineered.

Another alternative is just to have a cheap PC that runs win2k term server or vnc or pc anywhere and control the pcs with midi interfaces/devices remotely.

I imagine that it happened first with USB because USB is a closer fit. I imagine firewire is closer and that ATM would be a closer layer 2 trans than ethernet.

If you do it though let me know and I'll help.
 
Thanks again...

It is nice to know that I am not al;one in thinking about this sort of idea... I think there could be a lot of differant ways to handle a lot of these problems.
 
Originally posted by frederic
Yeah, but doesn't USB require additional hardware, and a vendor (or vendors) to make products?

Yes. Which is why I singlehandedly can't make a standard for that either.
 
I have a Xyplex terminal server in my garage too.
No shit. Only 16 ports here though.

Okay, so I'm not the only nut filling my garage with stuff I'll never use :)

What about contention for resources ? If you have a hub and everyone is hogging it with FTP or whatever how do you make sure your data gets through in appropiate time ? You need a switch that can do packet quality of service writing to COS bits at ethernet and TOS bits if you want to route.
You brought up a lot of good points I'm not going to respond to just yet, because I want to think about how I'd do it, and the method of attack to solve the syncing problems.

term server or vnc or pc anywhere and control the pcs with midi interfaces/devices remotely.

While an excellent idea, basically we have a Emagic Unitor8 or Motu midi interface, and might as well drop the 400 bucks to acquire such.

fit. I imagine firewire is closer and that ATM would be a closer layer 2 trans than ethernet.

Firewire... firewire... I don't have firewire ports on my PC. Since the Motu 828 (I think) came out, I've been considering (yet again) dumping my external hard disk recorders, breaking down and purchasing a firewire interface, and daisychaining audio A/D converters.

It would be nice if Midi could go that route also.

If you do it though let me know and I'll help.

That would be really cool :) So far, I was able to convert RS422 interface on my xyplex to drive a midi port, telnet to it, and freak the synth out. Then, I slopped together a simple program that basically "telnetted" to the xyplex, and did the same thing, sending a chromatic scale. Unfortunately, thats about the limit to my programming ability (I spent more time figuring out how to code a tcp/udp connection to the xyplex than I did figuring out the wiring)

And you're right, I saw that the timing would be a bitch to keep straight. While the xyplex takes what comes in and sends it out right away, I'm sure if there was a lot of data and/or other devices on the hub, the midi would get out of sequence easily.

I think the end device (xyplex) would have to take in time stamps of when the note/data should be sent, then collect it as it comes in, sending it at the appropriate time. But again, this just duplicated what is commercially available now. And they do it cheaper than we could.

I'm starting to like my e-magic interfaces and multiple thru-box kluge more and more!
 
Back
Top