I now have an interesting little setup running…
Which is passing MIDI over IP using multimidicast, a2jmidid -e & bit of patching in qjackctl via a remote shell… .
So on a remote machine connected only via wired ethernet and an Ethernet Hub I can get, using aseqdump and a bit of aconnect I can display the MIDI data coming out of zynthian. . . .
So to give a little detail.
There is a generally agreed way to pass MIDI across Ethernet (IP) networks and it grew out of some Windows stuff. . . .(http://nerds.de/) .
The UDP based protocol was supported on linux by QmidiNet(https://qmidinet.sourceforge.io/) which is what you would use on a desktop machine because it uses the XWindows infrastructure to display a tiny little system icon . . . .
It’s the one between the two arrows and the battery . . .
So because of that, it won’t run on a zynthian.
Luckily our friends in the lighting world (which uses MIDI but calls it DMX) have got a stripped down version that just uses a command line, so will run in our rarefied community.
Which is good.
So what are we actually doing here? Well we are opening up a range of IP linked MIDI ports on two different machines that will appear as ALSA MIDI devices to anything that generates and receives MIDI.
But something has to route the MIDI between devices and most applications have some way of doing this …
once you have got QmidiNet running on your desktop linux machine ( It could probably be a Pi althou I’m using an old 32 bit laptop) you can see the ports in something like MidiEditor…
The local QmidiNet instance is in my case set to 4 ports under the options menu in the Icon… ( ok so it’s not completely irrelevant).
On the Zynthian
You will have to log on via a remote ssh shell.
from your desktop machine
ssh -X email@example.com
Download the files (http://llg.cubic.org/tools/multimidicast/) expand them and then run the make file to build the code for your Broadcom architecture ( This is why you couldn’t copy the file around like a .exe in windows, You might not be using the same processor).
Once it’s run make it will generate a runnable file called multimidicast which you run by going into the directory and typing ./multimidicast&
This will build 20 Network MIDI ports on the zynthian, which will auto connect themselves to the 4 ports on your desktop machine.
I really useful couple of commands at this point are run in terminals on either machine and display helpful information . …
which display alsa MIDI ports for input and output
aconnect 130:0 128:0
which actually connects the qmidinet port 13):0 to 128:0 which is the other useful command aseqdump which displays MIDI date received on a alsa MIDI port as in the picture at the top of this post . … .
So this is great apart from one thing… ALSA & JACK. The Zynthian world uses JACK2 whilst all this network stuff is ALSA based.
Basically there are two different world and the aconnect trick on the zynthian will ‘see’ the midi ports but it wont be able to join then to anytihng zynthian like cos they are all in the Jack world… Don’t you love technology.
Luckily there is a bridge to cross this great divide . it’s called
and it should already be on your zynthian as part of the jack installation (correct me on this if you know better) .
You run it on the zynthian with
a2jmidid -e &
The & run’s it in the background…
Now we can use one of the great ssh feature. … when we ran ssh to log onto the zynthian we specified -X this allows ssh to run XWindows programmes over the ssh pipe…
So you can now type
into the ssh shell and you will see…(eventually it can take a little time …)
Pressing Connect brings up . . . .
In this window connect the Zyncoder output to the multimidicast playback Port 01 and you should be seeing MIDI notes played by the Zynthian appearing on your remote machine in the aseqdump window…
p.s.The stuff above was done using the USB connected AKAI MPK. The direct connection from the Nord MIDI OUt to Zynthian MIDI IN was patched but seems to be not working in my case. Good MIDI data going into Zynthian …
I have tried getting data out of the tty port ( the Hard wired Zynthian MIDI port ) but all I get instead of notes as I should is the occasional Clock, Active Sensing and stop messages with occasional other garbage… I can’t use the MIDI IN port anyway on this zynthian ( It did work originally) feature, error bad plumbing …?
I have had a little encoder chatter on the LS knob which has connections on the sub board and relocating they wires internally fixed that so perhaps it’s wiring related but I’d like to know if it’s a known issue, or am I just slowing everything down with all this network stuff? The USB port works fine.