MIDI over LAN

DSP, Plug-in and Host development discussion.
RELATED
PRODUCTS
Klawzz
KVRist
Topic Starter
83 posts since 28 Aug, 2004

Post Fri Nov 25, 2005 2:21 pm

Hello people :-)

This is hardly a plug-in related question, but I thought some helpful folks here might direct me to the right pointers.

I would like to find a solution for sending MIDI sync over a LAN network. I know of two commercial projects who provide this :
IPMIDI http://www.nerds.de/en/ipmidi.html
and
MIDIoverLAN http://www.musiclab.com/products/rpl_info.htm

However, I would rather find a free (open-source ?) solution. I wouldn't mind having a go at developing it myself, if it is not hugely complicated. The target platforms run Windows (host= Plogue Bidule), I have some programming experience in Python, Java and C.
What would be the steps involved ? I can think of :
- creating a virtual MIDI device on both sides,
- sending the MIDI bytes over the LAN and syncing them.

Would you think it feasible ? Can you think of some resources that would set me on rails ?

Thanks for your attention :-)

iwantfreemp3sbadly
KVRist
87 posts since 30 Oct, 2005

Post Fri Nov 25, 2005 10:32 pm

fx teleport

$119 best thing there was ever made for midi ovr lan

iwantfreemp3sbadly
KVRist
87 posts since 30 Oct, 2005

Post Fri Nov 25, 2005 10:33 pm

try using that for help w/the midi over lan architecture

synthedit will b quite difficult in your type of project

bulletPip
KVRer
18 posts since 5 Apr, 2004

Post Fri Nov 25, 2005 10:55 pm

Klawzz wrote:Hello people :-)

This is hardly a plug-in related question, but I thought some helpful folks here might direct me to the right pointers.

I would like to find a solution for sending MIDI sync over a LAN network. I know of two commercial projects who provide this :
IPMIDI http://www.nerds.de/en/ipmidi.html
and
MIDIoverLAN http://www.musiclab.com/products/rpl_info.htm

However, I would rather find a free (open-source ?) solution. I wouldn't mind having a go at developing it myself, if it is not hugely complicated. The target platforms run Windows (host= Plogue Bidule), I have some programming experience in Python, Java and C.
What would be the steps involved ? I can think of :
- creating a virtual MIDI device on both sides,
- sending the MIDI bytes over the LAN and syncing them.

Would you think it feasible ? Can you think of some resources that would set me on rails ?

Thanks for your attention :-)
Here are a couple of links to development in this area, not windows related, but open source so you can check out the code:

http://llg.cubic.org/tools/multimidicast/
http://openmuse.org/transport/mip_oview.html

Hope this helps,

Doggit

acousmod
KVRist
435 posts since 27 Jan, 2004 from France

Post Fri Nov 25, 2005 11:41 pm

However, I would rather find a free (open-source ?) solution.
http://www.harmony-central.com/Software ... ianet.html
Not open source, but freeware and working well.

User avatar
aciddose
KVRAF
12518 posts since 7 Dec, 2004

Post Sat Nov 26, 2005 12:03 am

sending midi data over sockets is probably the easiest thing you can ever have to code.. you'd need a server and a client plugin, the server would need to have a constant listen thread and generate serve threads for each connection, then simply send blocks of data the maximum size of a midi chunk (which is.. well i'd have to look it up, sysex might be slightly more complex but not really.) then fill in the chunks with incomming midi data and send it away async. client simply connects to the server and listens for data, and sends midi messages out. you should code it yourself actually, it would be a fun exercise. personally, i'd think latency might be an issue for any complex network..

obviously writing a server isnt extremely easy, but it isnt too hard either. you could also manage seperate connections linearly by adding new connections to a linked list and sending/listening in order. a threaded server might actually be a bad suggestion.

User avatar
aMUSEd
KVRAF
34005 posts since 14 Sep, 2002 from In teh net

Post Sat Nov 26, 2005 12:40 am

Try this - VSTNETMID:

part of Tobybear's MIdibag suite

http://www.tobybear.de/p_midibag.html

Klawzz
KVRist
Topic Starter
83 posts since 28 Aug, 2004

Post Sat Nov 26, 2005 6:25 am

Thanks 1.000.000 for your answers, all of which are of interest to me.
I'll have a look at these solutions, and keep you informed.
:D
Peace.

davidv@plogue
KVRian
834 posts since 3 Aug, 2001 from Montreal

Post Sat Nov 26, 2005 9:38 am

Klawzz wrote:The target platforms run Windows (host= Plogue Bidule),
If you want to send MIDI over Lan between two copies of bidule, you know theres a built in method for that?
building blocks/OSC/OSC MIDI
David Viens, Plogue Art et Technologie Inc. Montreal.
https://twitter.com/plgDavid
https://plogue.com

Klawzz
KVRist
Topic Starter
83 posts since 28 Aug, 2004

Post Sat Nov 26, 2005 12:55 pm

davidv@plogue wrote: If you want to send MIDI over Lan between two copies of bidule, you know theres a built in method for that?
building blocks/OSC/OSC MIDI
Well, I was wondering if this would work ... as I have yet to get my arms around OSC ...

Following your post, I searched Plogue's forum, and found this thread useful :
http://www.plogue.com/phpBB2/viewtopic. ... t=osc+midi
as it mentioned you had to right-click an OSC-midi bidule for it to actually start broadcasting (I did not see this mentioned in the online help ?)

So : I have in my client bidule
Physical Midi port -> OSC_MIDI_0

and OSC_MIDI_0 is sending to OSC server.
This part works OK, as far as I can tell by monitoring IP traffic (Ethereal).
The server gets UDP packets OK (message =#bundle, OSC_MIDI_0/MIDI,iiif).

Unfortunately, I fail to get the information back in my server Bidule (running on default port 3210); I have setup :
/OSC_MIDI_0/ -> MidiMonitor
I do not see any MIDI entering /OSC_MIDI_0
Am I missing anything ?

(If this is getting too much Bidule-specific, i could start a thread on Bidules's forum).

Cheers.
:)

Klawzz
KVRist
Topic Starter
83 posts since 28 Aug, 2004

Post Fri Dec 02, 2005 3:26 am

Just for an update on OSC status :
MIDI sync over OSC works great now that I have updated to Bidule 0.9 :hihi:
Thanks David
[edited]
Last edited by Klawzz on Sun Dec 04, 2005 1:58 pm, edited 1 time in total.

beanie
KVRist
109 posts since 13 Jul, 2004

Post Fri Dec 02, 2005 10:31 pm

An open-source solution:

EthernetMIDI (GPL license)
http://www.linuxsampler.org/ethernetmidi/

arakula
KVRAF
1936 posts since 16 Aug, 2004 from Vienna, Austria

Post Sat Dec 03, 2005 1:34 am

Oh, something similar to that is in my MidiTrix, too...
http://www.hermannseib.com/english/miditrix.htm
"Until you spread your wings, you'll have no idea how far you can walk." Image

texture
KVRian
922 posts since 26 Mar, 2003 from Guildford, England

Post Sat Dec 03, 2005 8:43 am

aciddose wrote:sending midi data over sockets is probably the easiest thing you can ever have to code..
?

Won't you need to write a virtual midi device driver? There might be some source code freely available for this part already though. Or you can use midi yoke I suppose.

Actually, you might be able to implement it really easily by scripting Midi OX from a web browser, and using something like AJAX to do the streaming over LAN. You'd obviously need an apache server too, but I reckon this way you would only actually need to write about 100 lines of code. Bit hacky though.

I think the standard "hello world" is still quite a bit easier though..

Klawzz
KVRist
Topic Starter
83 posts since 28 Aug, 2004

Post Sun Dec 04, 2005 2:20 pm

Wow, I never knew Midi OX was so versatile (well I never got to check it, I think). This is gonna be very helpful in my testing processes :D

Thanks for the linkies too :love:

Return to “DSP and Plug-in Development”