MIDI Routing Techniques in Bome Network

In Bome Network, the MIDI Router lets you define any number of MIDI routes. Each route is defined by a source port and a destination port. The order of MIDI routes does not matter.

Below is a summary of how the different routing options work.


INPUT to OUTPUT

Standard routing (pipe)

By using an IN port as source and an OUT port as destination, you create a one way pipe. This is the standard way of MIDI routing. Everything received on the input port will be forwarded to the output port.

Example (cross-connect)
Route 1 - IN: Launchpad → OUT: LP Virtual Out
Route 2 - IN: LP Virtual In → OUT:Launchpad

This will cross-connect the (physical) device with the (virtual) port ‘LP’. Anything coming from Launchpad will be sent on to the LP Virtual Out port. Anything received on the LP Virtual In port will be forwarded to the Launchpad device.

Example (loopback)
Route 1 - IN: Launchpad → OUT: Launchpad

Here, everything that you receive from the Launchpad will be immediately sent back to the Launchpad. This is a loopback route. When using loopback routes, be careful to not create MIDI feedback.

Example (merge)
Route 1 - IN: LPD8 → OUT: MyApp Virtual Out
Route 2 - IN: Nanokontrol2 → OUT: MyApp Virtual Out

Here, you direct two different inputs to a single output with 2 routes. This is a MIDI merge.

Example (duplicate)
Route 1 - IN: LPD8 → OUT: MyApp Virtual Out
Route 2 - IN: LPB8 → OUT: Remote PC

Here, you use the LPD8 MIDI input and duplicate the incoming MIDI messages to both the MyApp virtual port and also to the MIDI output port Remote PC.


INPUT to INPUT

Advanced: duplicate input

Another thing you can do is direct an INPUT to another INPUT. This could be handy if you want to inject an input from one input port to another. You can then route the initial destination ports to other ports, creating a MIDI duplication function that can quickly be turned on and off by checking or unchecking a given routing.

This advanced routing technique is only available if you’ve enabled Advanced MIDI Router in the settings.

Example
Route 1 - IN: A Virtual In → IN: B Virtual In – (inject)
Route 2 - IN: B Virtual In → OUT: C Virtual Out – (pipe)
Route 3 - IN: B Virtual In → OUT: D Virtual Out – (pipe)

In the above, anything coming into either A will be injected into B. Now routes 2 and 3 will forward B to C and D, so essentially, everything coming from A will be sent to C and D. Anything received on B will also be forwarded to C and D. You could turn off Route 1 and then only B will be sent to C and D. A will essentially be turned off allowing only B to be duplicated to C and D.


OUTPUT to INPUT

Advanced: loop back

This is used for injecting an existing output port’s data into a different input connector. You can take the output of one port and direct it to the input of another port.

Again, this advanced routing technique is only available if you’ve enabled Advanced MIDI Router in the settings.

Note: injecting MIDI to an INPUT port only works within Bome Network. Other applications using the same MIDI INPUT port will not see the injected messages.

Example
Route 1 - IN: A Virtual In → OUT: A Virtual Out – (pipe)
Route 2 - OUT: A Virtual Out → IN: B Virtual In – (inject)
Route 3 - IN: B Virtual In - > OUT: B Virtual Out – (pipe)

Anything coming from input A will go to output A (route 1) and from there to input B (route 2) which in turn will go to output B (route 3). Anything coming from input B will only go to output B (route 3). Essentially, we get a duplication of IN:A (to OUT:A and OUT:B) and a B-pipe (IN:B to OUT:B).

Or you could do the following to achieve the same result by using OUTPUT to OUTPUT explained below:

Example (using OUT to OUT)
Route 1 - IN: A Virtual In → OUT: A Virtual Out – (pipe)
Route 2 - OUT: A Virtual Out → OUT Virtual APC MINI – (duplication)


OUTPUT to OUTPUT

Advanced: duplicate output

You can duplicate output ports by selecting OUT ports for both source and destination. Anything sent to one output port will also be sent to the other output port. Essentially, we’re duplicating an output port.

Again, this advanced routing technique is only available if you’ve enabled Advanced MIDI Router in the settings.

Example
Route 1 - IN: A Virtual In → OUT: A Virtual Out – (pipe)
Route 2 - OUT: A Virtual Out → OUT: APC MINI – (duplication)
Route 3 - OUT: APC MINI → OUT: BMT 1 – (duplication)

Route 2 creates a new output to my attached APC MINI device. Everything sent to the virtual port OUT:A will also be sent to the APC MINI output port. Route 3 will also send anything that is going to the APC MINI to BMT 1 output. Now given route 1, everything coming in virtual port IN:A will go to virtual port OUT:A (route 1), to my APC MINI (route 2), and then also to OUT:BMT 1 (route 3).


MIDI Feedback

Be careful with cyclic MIDI routes where the MIDI messages will end up on the same ports so they will enter an infinite loop. Inside Bome Network, you can only create MIDI feedback with the advanced routing techniques (injection and duplication).

Bome Network detects MIDI feedback within the Bome Network MIDI Router and disables such MIDI routes. They’re marked with a lightning indicator too.

Feedback Example
Route 1 - IN: Launchpad → OUT: A Virtual Out – (pipe)
Route 2 - OUT: A Virtual Out → IN: Launchpad – (inject)

Route 1 will inject everything coming from the Launchpad to the virtual output port OUT:A. Route 2 will then inject everything sent to OUT:A back to the Launchpad input port, so the MIDI messages will be back to processing by Route 1, where they will be sent again to OUT:A, and so on.

Feedback Example
Route 1 - IN: Launchpad → IN: A Virtual In – (inject)
Route 2 - IN: A Virtual In → IN: Launchpad – (inject)

Another way for MIDI feedback…

Feedback Example
Route 1 - IN: Launchpad → IN: Launchpad – (inject)

You can also create feedback with just one route.

Be careful with virtual MIDI loopback ports by other applications such as LoopMIDI or LoopBE. They can easily lead to undetected MIDI feedback.


Summary

  • When the source is input and destination is output: a one-way pipe.
  • When destination is input you are injecting the MIDI data to the input endpoint (loop back).
    This appears to only work with Virtual MIDI ports if you are injecting to a destination input.
  • When the source and destination are outputs: you are duplicating existing ports.
  • The quickest way for a MIDI merge function is to take multiple existing INPUTS as a source and route to a single OUTPUT as a destination.

Note that injecting into a MIDI INPUT port will only work inside Bome Network. Other applications using that MIDI INPUT port will not see the injected MIDI messages.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz
1 Like

Hi Steve

How are you? Hope I’m not pestering… think Ive got to grips with this, but was hoping to increase the amount of virtual ports. I feel quite confident in the re-routing part, but are we limited to 9 options total? For eg, is it possible to, for eg, bank the “Gig Performer Port 1-9” in a bank A, then another 9 in bank B etc? If you tell me that’s possible, I’ll persevere and get to the bottom of it, but not sure that it is?

As far as I have been able to do so far, I’m re-routing but they still go back to the original 9 virtual ports (hope I’m making sense here)

Many thanks
Jon
Gig-Performer-Virtual-Controllers Proper-a.bmtp (9.6 KB)

Hi not pestering, good questions!

For Bome MIDI Translator Pro Virtual Ports, you are limited to 9.

For Unlimited Named MIDI Ports, you can have as many as you wish.
You need to install Bome Network and then purchase Unlimited Named MIDI Ports. You don’t need Bome Network Pro to use Unlimited Named MIDI Ports. You can just use the free version of Bome Network.

Only if you need to network MIDI between computers and/or iOS device would you need Bome Network Pro. If networking between computer and iOS, you also need to purchase Bome Network Pro for the iOS device at the Apple App store.

I hope this helps!

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

Thanks Steve

Yep I do have Unlimited Midi Ports but I can only get them routing back to my original ports 1-9…knowing that it’s possible though, I’ll retrace my steps
thanks again
Jon

cracked it Steve, …this is gonna be great!!

1 Like