MIDI over LAN

You name it!
User avatar
dahnielson
Moderator
Posts: 632
Joined: Wed Jan 23, 2008 11:25 pm
Location: Linköping / Tranås, Sweden
Contact:

MIDI over LAN

Post by dahnielson » Sun Aug 31, 2008 6:43 pm

I'm not fortunate enough to have a farm of boxes running LinuxSampler, yet. But Greg's inquiry about doing so in a mixed environment (Macs and PCs) got me curious about the state of things (that's a link to a really old page, i.e. DMIDI is dead as a project).

* I found that Benno released a solution, EthernetMIDI, a couple of years ago. But it appears like there wasn't much interest in actually testing it and reporting back. Windows only, lacks GNU/Linux and Mac clients.

* I found that IETF's MWPP (a.k.a. "RTP Payload Format for MIDI") is to be considered the standard. According to Wikipedia:
After the initial fight between different protocols (IEEE-P1639, MIDI-LAN, IETF RTP-MIDI), it appears that IETF's RTP MIDI specification for transport of MIDI streams over Ethernet and Internet is now spreading faster and faster since more and more manufacturers are integrating RTP-MIDI in their products (Apple, CME, Kiss-Box, etc...). Mac OS X, Windows and Linux drivers are also available to make RTP MIDI devices appear as standard MIDI devices within these operating systems.
But it appears like it's Apple's simplified protocol that will be the winner, according to the same Wikipedia article.
Last edited by dahnielson on Sun Aug 31, 2008 7:19 pm, edited 1 time in total.
Anders Dahnielson

Ardour2, Qtractor, Linuxsampler, M-AUDIO Delta 1010, Axiom 61, Korg D12, AKAI S2000, E-MU Proteus 2k, Roland R-5, Roland HP 1300e, Zoom RFX-1000, 4GB RAM x86_64 Intel Pentium Dual 1.80GHz Gentoo Linux

Alex
Moderator
Posts: 316
Joined: Wed Jan 23, 2008 9:08 pm

Re: MIDI over LAN

Post by Alex » Sun Aug 31, 2008 7:16 pm

Anders,

You can add Jack to this , as Stephane, over at Jack Central, is near a completed Windows version, which means Netjack can be an option too.

Alex.

User avatar
dahnielson
Moderator
Posts: 632
Joined: Wed Jan 23, 2008 11:25 pm
Location: Linköping / Tranås, Sweden
Contact:

Re: MIDI over LAN

Post by dahnielson » Sun Aug 31, 2008 7:29 pm

Stephane Letz at GRAME, the same GRAME that is apparently developing a RTP-MIDI driver for GNU/Linux...

Ok, so NetJack can also do Jack MIDI? I thought it was audio only since there hasn't been a release since 2006 according to the project home page (or has the project moved?).

With the existence of JackOSX, NetJack could then be the solution for Greg to run LinuxSampler on GNU/Linux boxes with sequencer running on a Mac.

Of course, the cool thing with NetJack is that you don't need audio interfaces for the LinuxSampler boxes in the farm, the audio is delivered over the network too. However, is it possible to use NetJack as an MIDI only solution with no audio over the net?
Anders Dahnielson

Ardour2, Qtractor, Linuxsampler, M-AUDIO Delta 1010, Axiom 61, Korg D12, AKAI S2000, E-MU Proteus 2k, Roland R-5, Roland HP 1300e, Zoom RFX-1000, 4GB RAM x86_64 Intel Pentium Dual 1.80GHz Gentoo Linux

Greg
Newbie
Posts: 12
Joined: Wed Aug 27, 2008 7:12 pm
Location: Southern CA
Contact:

Re: MIDI over LAN

Post by Greg » Mon Sep 01, 2008 7:45 pm

I installed JACK OSX on a PPC (dual 2 ghz, 3.5 gb ram, 2-250 gb drives, OSX 10.4.11) and linuxsampler OSX to try and get a feel for linuxsampler. The documentation for JACK OSX says that NetJack has been removed "until it is fixed" but doesn't have anything about midi. Does anyone know when the audio and/or midi features will be implemented? If it works reliably, it would be a great solution. My situation would require midi over lan to work with OSX, XPpro, and Linux. Otherwise, are there linux drivers available for older midi interface hardware? The box I would be using for LS used a MOTU MidiExpress XT-parallel port before I switched to MolCp3.

How is audio latency on NetJack compared to say a RME HDSP9652 using the ADAT ports?

BTW, I haven't had any luck trying out linuxsampler on OSX.
My main daw (PPC dual 2.7 ghz, 8 gb ram, 4-7200rpm, 8.9ms seek hard drives, OSX 10.4.11) is running Digital Performer 5.13 and MolCp3. I can see lights indicating midi input (through MolCp3 Monitor on slave system with Linuxsampler) but not hearing any audio output when I send midi. I think everything seemed to setup and load ok in LS, Midi Patch Bay, and JACK, but this is all very new to me.
Here's the log after loading gig file
gig::Engine: WARNING, CONFIG_EG_MIN_RELEASE_TIME too big for current audio fragment size & sampling rate! May lead to click sounds if voice stealing chimes in!
Starting disk thread...OK
Scheduling '/Volumes/Dual 2 Audio Drive/Gigs/BRS_'6 Fr.Horns/BRS_'6 Fr.Horns.gig' (Index=0) to be loaded in background (if not loaded yet).
Loading gig file '/Volumes/Dual 2 Audio Drive/Gigs/BRS_'6 Fr.Horns/BRS_'6 Fr.Horns.gig'...OK
Loading gig instrument ('/Volumes/Dual 2 Audio Drive/Gigs/BRS_'6 Fr.Horns/BRS_'6 Fr.Horns.gig',0)...OK
Caching initial samples...OK
JackEngine::XRun: client = LinuxSampler was not run: state = 2
JackAudioDriver::ProcessAsync Process error
JackEngine::XRun: client = LinuxSampler was not run: state = 1
JackAudioDriver::ProcessAsync Process error

Is there a way of knowing if midi is getting to LS? I don't know if it's a midi or audio issue or both? The MolCp3 ports show up and allow routing to LS midi ports in Midi Patch Bay.

grishata
Developer
Posts: 138
Joined: Thu Jan 24, 2008 7:21 pm
Location: Bulgaria
Contact:

Re: MIDI over LAN

Post by grishata » Mon Sep 01, 2008 8:58 pm

Is there a way of knowing if midi is getting to LS? I don't know if it's a midi or audio issue or both? The MolCp3 ports show up and allow routing to LS midi ports in Midi Patch Bay.
I guess you are using qsampler, right?
In qsampler on the sampler channel screen, right above the instrument name, there is a little dark green square which lights up when there is midi activity on the channel.
You can also use telnet to get additional info. If linuxsampler is locally started issue the following command:

Code: Select all

telnet 127.0.0.1 8888
Then type this LSCP commands:

Code: Select all

SUBSCRIBE DEVICE_MIDI
SUBSCRIBE CHANNEL_MIDI
If there is activity on a midi device you'll get something like:
NOTIFY:DEVICE_MIDI:0 0 NOTE_ON 26 78
NOTIFY:DEVICE_MIDI:0 0 NOTE_OFF 26 0
...


If there is activity on a sampler channel you'll get something like:
NOTIFY:CHANNEL_MIDI:0 NOTE_ON 24 81
NOTIFY:CHANNEL_MIDI:0 NOTE_OFF 24 0
...


To quit, just type QUIT

More info: SUBSCRIBE DEVICE_MIDI, SUBSCRIBE CHANNEL_MIDI

So, as you can see, it is not a bad idea if you have internet connection to use a firewall to drop the incoming traffic from outside to port 8888 ;)

User avatar
dahnielson
Moderator
Posts: 632
Joined: Wed Jan 23, 2008 11:25 pm
Location: Linköping / Tranås, Sweden
Contact:

Re: MIDI over LAN

Post by dahnielson » Mon Sep 01, 2008 9:33 pm

Greg wrote:Otherwise, are there linux drivers available for older midi interface hardware? The box I would be using for LS used a MOTU MidiExpress XT-parallel port before I switched to MolCp3.
I have no idea about that particular device (other than MOTU generally isn't a Linux-friendly vendor), that's something you should ask on the Linux Audio Users mailing list or an ALSA mailing list. One solution would be to get a modern class compatible USB-MIDI interface like M-Audio MIDISPORT 4x4 (two of those per machine will give you 8 MIDI ports, N.B I haven't tried it) or similar like MOTU MIDI Express 128 8x8 Bus Powered Interface (if it's class compatible, i.e. don't require special drivers).

It would be brilliant if there was a USB device that you could connect between two computers and it would appear like a class compatible USB-MIDI device on both of them, without sending any data over a 31.25 kBaud current-loop, 5-pin DIN transport.
Greg wrote:How is audio latency on NetJack compared to say a RME HDSP9652 using the ADAT ports?
About NetJack:
Netjack is a Realtime Audio Transport over a generic IP Network. It is fully integrated into JACK.

When you transport Audio Signals over a Network, you will always have the problem, that two Computers are bound to two different Sample Clocks. The other Network Transports face the Problem of compensating for the drift between these Sample Clocks. This is very hard to do.

NetJack works around this problem, by syncing all Clients to one Soundcard. So there will be no resampling or glitches in the whole network. As long as there is no packet loss. Packet loss can not be compensated.
and
Its designed to have fully (synced) slaved soundcardless jackd's as 'processor farms'. Consists of a jack client for the master box, and a 'network' jack driver for the slave. It features single-period roundtrip latency, transport sync, latency compensation, and support for slow-sync clients.
Actually, I would probably go the hardware way (audio over ADAT ports and MIDI via USB-MIDI interfaces). It's simple. It works. It's linux/mac/win agnostic.
Anders Dahnielson

Ardour2, Qtractor, Linuxsampler, M-AUDIO Delta 1010, Axiom 61, Korg D12, AKAI S2000, E-MU Proteus 2k, Roland R-5, Roland HP 1300e, Zoom RFX-1000, 4GB RAM x86_64 Intel Pentium Dual 1.80GHz Gentoo Linux

User avatar
dahnielson
Moderator
Posts: 632
Joined: Wed Jan 23, 2008 11:25 pm
Location: Linköping / Tranås, Sweden
Contact:

Re: MIDI over LAN

Post by dahnielson » Wed Sep 03, 2008 9:44 am

grishata wrote:I guess you are using qsampler, right?
Greg, I would advise you to try Fantasia if you're currently using QSampler. JSampler/Fantasia will give you a better impression for what LinuxSampler can do, it's more feature complete and actively developed by G. Who is a champ, by the way, when it comes to fixing things an implement reasonable feature requests quickly.
Anders Dahnielson

Ardour2, Qtractor, Linuxsampler, M-AUDIO Delta 1010, Axiom 61, Korg D12, AKAI S2000, E-MU Proteus 2k, Roland R-5, Roland HP 1300e, Zoom RFX-1000, 4GB RAM x86_64 Intel Pentium Dual 1.80GHz Gentoo Linux

sletz
Newbie
Posts: 5
Joined: Sat Jan 26, 2008 1:12 pm

Re: MIDI over LAN

Post by sletz » Wed Sep 03, 2008 5:59 pm

Netjack2 (netjack for jack2) has been developed over the previous months and reach a state where it can be tested:

http://trac.jackaudio.org/wiki/WalkThro ... r/NetJack2

Audio and MIDI can be send over the network and this works on Linux, OSX, and Windows. So it should be possible to have a "slave" machine running LS, having the master send MIDI to the slave and get back the produced audio streams on the master machine.

Greg
Newbie
Posts: 12
Joined: Wed Aug 27, 2008 7:12 pm
Location: Southern CA
Contact:

Re: MIDI over LAN

Post by Greg » Wed Sep 03, 2008 7:07 pm

dahnielson wrote:
grishata wrote:I guess you are using qsampler, right?
Greg, I would advise you to try Fantasia if you're currently using QSampler. JSampler/Fantasia will give you a better impression for what LinuxSampler can do, it's more feature complete and actively developed by G. Who is a champ, by the way, when it comes to fixing things an implement reasonable feature requests quickly.
Hi Anders,
Unfortunately, the OSX LinuxSampler doesn't support Jsampler at the present time from what I've read and see available. Maybe I'll try LS on a Windows XP pro machine. I've been avoiding it because I didn't want to chance messing up a "working" Gigastudio setup. What do you think?

User avatar
dahnielson
Moderator
Posts: 632
Joined: Wed Jan 23, 2008 11:25 pm
Location: Linköping / Tranås, Sweden
Contact:

Re: MIDI over LAN

Post by dahnielson » Wed Sep 03, 2008 7:27 pm

Greg wrote:Unfortunately, the OSX LinuxSampler doesn't support Jsampler at the present time from what I've read and see available. Maybe I'll try LS on a Windows XP pro machine. I've been avoiding it because I didn't want to chance messing up a "working" Gigastudio setup. What do you think?
LOL. So much for Javas "compile once, run everywhere" (if you're correct).

I think it probably should be OK to install LS on a Windows XP machine without messing up anything. The installer will probably install gtk+ and gtkmm in addition to LS, but that can't interfere in anyway with your GS setup.
Anders Dahnielson

Ardour2, Qtractor, Linuxsampler, M-AUDIO Delta 1010, Axiom 61, Korg D12, AKAI S2000, E-MU Proteus 2k, Roland R-5, Roland HP 1300e, Zoom RFX-1000, 4GB RAM x86_64 Intel Pentium Dual 1.80GHz Gentoo Linux

Post Reply