The MIDI Bridge is intended to connect two MIDI systems together when both systems are USB Hosts. A typical example is a Digital Audio Workstation (DAW) running on a PC and a NonlinearLabs C15 Synthesizer.
As the C15 only offers a USB host-type socket (USB Type A) it cannot be connected to the PC directly, therefore a data bridge is needed which has USB device-type sockets on both ends (USB Type B) so that the device can be connected to both hosts.
The applications on both hosts then can communicate with each other in any direction through a USB MIDI Device which appears as NLL-MIDI-Bridge
. The bridge does not change orinterpret the data in any way and is fully transparent.
he device waits for a MIDI data packet to be received on one port and when this happens, the packet is send out on the other port.
This happens for both directions independently and simultaneously.
The transfer process can be monitored with the two LED indicator lights on the top, one for each port, showing incoming data and its delivery status.
The bottom plate of the MIDI Bridge is internally equipped with magnets so that you can attach the device to magnetically responsive surfaces, notably the steel chassis of a NonlinearLabs C15 Synthesizer.
Those magnets have considerable strengths so keep the Bridge away (> 0.5m) from mechanical watches, cathode ray displays/monitors, credit cards etc with magnet strips, audio or video magnetic tapes and recorders/players, and especially from body-implanted medical devices like pacemakers.
The typical transfer time for the usual short MIDI packet is about 100μs (μs is micro-seconds
;one-millionth of a second) of in either direction, assuming very little other traffic loads on the two USB busses.
When a packet could be sent within less than 300μs, the transfer is considered REALTIME.
When a packet could be sent within 300μs and 2ms, the transfer is considered LATE.
When a packet could be sent only after more than 2ms, the transfer is considered STALE.
All these considerations are for information, they do not represent error conditions.
When a packet cannot be sent out in due time, the transfer is considered DROPPED and will be aborted. This is an error condition and may happen either when the outgoing port is not connected/ready or the host computer is currently not reading data within due time, stalling the transfer.
Windows will always accept MIDI data over USB and will never stall whereas on Linux and MacOs a running application that actually reads MIDI data is required to avoid the stalling condition
When the outgoing port is not ready (not connected or not detected by the USB-host) the packet is dropped immediately.
When the port is ready and a first stalling condition occurs, a timeout of 100ms is used and the packet is dropped. For subsequent stalling packets, the timeout is reduced to 5ms. It then takes one successful packet delivery to reset the timeout to 100ms again.
Until a transfer has finished (or was aborted), receiving of further packets is blocked temporarily. There is no internal buffering, rather the transfers are in real-time, one at a time.