MIDI Network

From ZynthianWiki
Jump to navigation Jump to search

The Zynthian can be controlled remotely via 2 different MIDI network protocols:

1 RTP-MIDI

RTP-MIDI (IETF RFC 6295) is a specification for sending/receiving standard "MIDI 1.0" messages using standard networking protocols ("Real Time Protocol" and "Internet Protocol"). RTP-MIDI includes a data recovery mechanism (MIDI event journaling) to address packet loss that can occur on networks, eliminating the need for packet retransmission (which would increase latency and reduce throughput)

2 QmidiNet (IP Multicast)

Qmidinet-about.png
Qmidinet-cli.png
Webconf-midinetwork.png

QmidiNet is a MIDI network gateway application that sends and receives MIDI data (ALSA Sequencer and/or JACK MIDI) over the network, using UDP/IP multicast. Inspired by multimidicast (https://llg.cubic.org/tools) and designed to be compatible with ipMIDI for Windows (https://nerds.de).

Once the network has been started on the Zynthian, then you can communicate with it via tools like QMidiNet running in this case on a Linux desktop.

ANY MIDI event generated on ANY MIDI Channel that subscribes to the QmidiNet local network will be transferred to ALL other machines on that channel.

So in the above case the notes pressed on the remote Zynthian machine (connected by an Ethernet cable to the laptop) appear as events on ALSA channel as displayed by an aseqdump terminal that has been connected to the QMIDINet instance running on the laptop, using aconnect to make the connection. This can all be examined using aconnect -l

This means that you have a high speed (faster than original wired MIDI!) linking the two devices so you have no need of MIDI-USB or 5-pin MIDI leads or any of that sort of physical stuff, all that is needed is an Ethernet connection between the devices. Maybe a little different but as soon as you get a few devices on the network then you really start getting dividends. Remember the Network Traffic is visible in the MIDI status as a blue 'M' and can be examined using the MIDI Network display in the MIDI Log webconf section.

But it's actually much simpler than that...

You can simply plug two Zynthians together with an Ethernet Cable (Raspberry Pi's can do this without needing a router), enable QmidiNet on both devices and both will be able to play each other, or one can simply act as the MIDI controller for the other. So you can have a MIDI Keyboard on stage plugged into a Zynthian and this can control a MIDI socket on another Zynthian up to a 100 Metres away.

Remember to enable _Route MIDI to Output Ports_ in webconf on the zynthian with the MIDI controller physically connected otherwise the MIDI does not reach the (physical or network) outputs.


Why bring audio on to stage if you don't have too?

Simply connect two Zynthians with an Ethernet cable!

3 Zynthian Network Configuration

They can be enabled and disabled as shown below.

From the Zynthian-UI ...

Networks.png

From the Webconf ...

Webconf-networks.png

and the MIDI Data flowing into a Zynthian can be confirmed by a Blue M in the status area and examined using the Webconf MIDI-logger.