Returning Newbie

Greetings,

I have been away from this for a long time. I reinstalled my Music OS and am going to do music again. I have Bome MIDI Translator and Unlimited Ports installed.

-I setup 16 virtual MIDI ports in Unlimite Ports Network.
-setup a project to connect my controller DMC-122 (input) to the virtual ports (output).
-DMC-122 was only input
-I opened 4 virtual ports as output
-I connected the DMC-122 to 4 virtual ports in the router window
-Bome Translator showed output
-a standalone MIDI monitor and Serum in Gig Performer did not get any input
-I then setup 9 virtual ports native to Bome Translator
-set DMC-122 as input and 4 Bome Translator virtual ports as outpouts
-all 4 ports sent output to the MIDI monitor and Gig Performer got input

I’m sure I missed something totally obvious. Can you help me out? What I do typically requires several virtual ports (lots of multi timbral stuff).

Hope this finds you well,
Graham

If you use Bome Unlimited Virtual ports, keep in mind when you create a virtual port, unlike MIDI Translator Virtual ports there is no routing, they are just endpoints that connect to nothing.

To create a route you need to go to the Bome Network MIDI Router and set them up. I usually route an input to an output as that is what is needed most of the time. Then use the port names which look like local ports to your PC or Mac. In the below example, I’m routing input from my physical APC-MINI to 3 separate virtual output ports. I can then monitor these ports with separate applications and receive MIDI.

image.png

This seemed quite confusing at first but once you get used to it, it is quite nice. Here are some notes I took as I tried to figure this stuff out as a Beta tester before Bome Network released.

Bome Unlimited Virtual MIDI ports are really just connectors or endpoints. Without routing, they actually do nothing as they are connectors to “nowhere”.

You need to use the Bome Network Router to make them actually useful by creating MIDI routes between the connectors and putting real devices or applications on one end of a given connector.

The below is a summary of my discovery while experimenting with Bome Unlimited Virtual Ports:


INPUT to OUTPUT

When you create a Bome Virtual MIDI point you create two endpoints. One for INPUT and one for OUTPUT.
You can route the input of one port to the output of the same port to create a one way pipe. For instance if you have INPUT “A” routed to OUTPUT “A”. Then with your application you can send MIDI to INPUT “A” and whatever you send there will be also seen on OUTPUT “A”.

You can also direct two inputs to a single output with 2 routes. For instance if you have INPUT “A” routed to OUTPUT “A” and OUTPUT “B”, whatever MIDI comes in to INPUT “A” will be seen on both OUTPUT “A” and OUTPUT “B”.


INPUT to 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 split function that can quickly be turned on and off with by checking or un-checking a given routing.

Example:
Route 1 - IN: A Virtual In ->IN: B Virtual In
Route 2 - IN: B Virtual In → OUT: C Virtual Out
Route 3 - IN: B Virtual In → OUT: D Virtual out

In the above, anything coming into either A or B will be sent to C and D. However, 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 split to C and D.


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

Example
Route 1 - IN: A Virtual In → OUT: A Virtual Out - MIDI pipe as explained earlier
Route 2 - OUT: A Virtual Out → IN: B Virtual In
Route 3 - IN: B Virtual In - > OUT: B Virtual Out - MIDI pipe as explained earlier

Anything coming from input A will go to output A and input B which in turn will go to Output B. Anything coming from input B will only go to output B. Essentially we get a split on input from A (to A and B) and a pipe from B (B to B)

Note, that physical devices don’t seem to act as virtual ports for this example. For instance I cannot make a virtual port output look like a physical port input of an actual physical device. You cannot make actual device act like a virtual port.

For instance, the below example does not work:

Route 1 - IN: A Virtual In → OUT: A Virtual Out - MIDI pipe as explained earlier
Route 2 - OUT: A Virtual Out → IN: APC MINI

Rather you should do this:

Route 1 - IN: A Virtual In → OUT: A Virtual Out - MIDI pipe as explained earlier
Route 2 - OUT: A Virtual Out → IN: Virtual APC MINI
Route 3 - IN: Virtual APC MINI → OUT: Virtual APC MINI - MIDI pipe as explained earlier
Route 4 … - IN: Virtual APC MINI → OUT: (Any other destination)

Or you could do this to achieve the same result (but not represented as output to input) See OUTPUT to OUTPUT Below:

Route 1 - IN: A Virtual In → OUT: A Virtual Out - MIDI pipe as explained earlier
Route 2 - OUT: A Virtual Out → OUT Virtual APC MINI


OUTPUT to OUTPUT

You can duplicate output ports in this configuration essentially providing a MIDI split function

Example
Route 1 - IN: A Virtual In → OUT: A Virtual Out - MIDI pipe as explained earlier
Route 2 - OUT: A Virtual Out → OUT: APC MINI
Route 3 - OUT: APC MINI → OUT: BMT 1

Route 2 above creates a new output to my attached APC MINI device. Everything coming in Virtual Port A (which is a Pipe to Virtual Port A Output) will go to my APC MINI

Route 3 will also send anything that is going to the APC MINI to BMT 1 Output

In summary:
When the source is input and destination is output you create a 1 way pipe
When destination is input you are injecting the MIDI data from the source (input or output) to the endpoint. 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 essentially duplicating existing ports to allow for a MIDI split function.
It appears that the quickest way to get a MIDI merge function is to take multiple existing INPUTS as a source and route to a single OUTPUT as a destination.

NOTE: This all appears NOT to work correctly with BMT Ports if used with Bome MIDI Translator PRO since BMT ports cannot be routed between themselves and one and only one end of a BMT port connection must be MT Pro while the other end must not.

Also virtual MIDI ports generated by other applications such as LoopMIDI or LoopBE may behave differently as most appear to be MIDI pipes.

There are limitations when including physical ports into the mix as described above. Best to create virtual port connections with the physical ports and use applications with the virtual port connectors only. Attempting to inject into a physical port input does not seem to work, although routing signal to output does.

Below is an example configuration I came up with to remotely share my Pacer Foot controller with my Chrome enabled configuration update and MT Pro. That way I don’t need to disconnect anything when updating my foot pedal. It helped me when I was able to make it more visually oriented.

image.png

Steve Caldwell
Bome Customer Care


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

Thanks Steve,

The images didn’t make it to the post. Could be an issue at my end. I created 16 virtual ports in Bome Unlimited Named ports.I set up a project in Bome translator with a physical controller as input and Bome virtual ports from the Unlimited Named ports app as output. I set up input and output in Bome translator. I also set up the routing in Bome translator. Shouldn’t that work. Sorry if I seem a bit thick.

I’ve never tried that way but I can test when I get back to my computer this evening.
In general I would set up as the physical controller as input and then create 16 routes to the output virtual ports in Bome Network. Of course if you want to do translation, as well that wouldn’t work so conceptually I think what you are doing should work.

If not you could :

Create 16 routes from input of virtual port to output of virtual port
Create 16 routes from input of your controller to the input of 16 virtual ports

But before you go through the time of doing that, give me until this evening when I’m back at my computer where I can check your configuration. I suspect that the reason you are doing it differently is that you want to have different translations to the 16 virtual output ports in to override static routing if you wish which makes sense.

Steve Caldwell
Bome Customer Care


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

Actually thinking more.

  1. Route 16 input virtual ports to 16 virtual output ports in Bome Network
  2. Route your controller to 16 virtual input ports in MT Pro

Then it should work

In MT Pro you are trying to send output to the input virtual ports that are not routed to anything. Everything on the output side of MT Pro is the virtual input on a Bome Network Port.

Steve Caldwell
Bome Customer Care


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

Thanks Steve,

Just to be sure: 1 to 1, 2 to 2, …? Or 1 to 1…16, 2 to 1…16, …

Whatever names you gave them in Bome Network. Just route in to out to create a MIDI pipe for each. Then in Bome MIDI Translator Pro, draw lines from your controller to all of the ports you want to split the signal to.

Steve Caldwell
Bome Customer Care


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

Thanks Steve,

I finally got the basis down. I setup 16 virtual ports in Bome Network. I then routed each port: 1IN to 1OUT, 2IN to 2OUT, etc.

I no longer have to route anything in Bome Translator. I only have to select the input and output ports. I created a project with a couple of translators and made output conditional upon passing through the correct MIDI channel(s). Looking at the output in my MIDI monitor utility, it behaved as expected.

I was a bit thick headed through it all and I’d like to thank you for your help. I’m sure I’ll be tripping over other things, and so I’ll thank you in advance for your ongioing assistance.

Graham

Glad to help. I completely understand your confusion as I was there once as well.

Steve Caldwell
Bome Customer Care


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