Basic info? What are 'virtual ports'

i’ve been all over the net and can’t seem to find anyone talking about this basic definition. it’s like everyone already knows what a virtual port is and that knowledge is assumed. I blame my mother. i just need a basic understanding of what it is and why i need it. I have a 4 keyboard rig with another 3 rack synths, a few software synths and impulse 61 controller and a hacked fire controller. Also a midi pedal. have usb connectivity from keyboard controller and akai fire controller. my triton has usb but useless… can’t see it in bome MT. … so it as with the rest are just daisy chained but i do have an out from the triton to my pc via usb adapter. I’m wondering if virtual ports are individual components of my rig and need them to make connecting to them easier? don’t know. what is a virtual port and how will it help me save the world?

Hi,

Welcome back.

MIDI virtual ports are basically seen by a computer or another devices like it is a device but you have more flexible ways of attaching them to real devices.

For instance, if you have two applications that are MIDI enabled and you want to communicate between them, you can tie them together with a virtual port.

In the diagram below there is a real MIDI device connected to Application1 and since a real device has a physical port, you can use that. However Since neither Application1 or Application2 have MIDI port on their own, you use a virtual port to connect them allowing the two MIDI enabled applications to talk to each other.

image

Another advantage of virtual ports, especially on the Windows platform is the abilitity
to split or merge MIDI streams. On Windows, a MIDI port can only be opened by one application at a time. The below diagram shows how this is solved with the routing capability of Bome MIDI Translator Pro (MT Pro). Say you want your single keyboard to talk to two separate applications. You can use MT Pro’s MIDI routing capabilities to split the keyboard signal coming from the left to two different applications. as below.

You can also reverse the process and merge MIDI data coming back from two different applications back to one MIDI stream to go to somewhere else (like maybe a MIDI sound Module).

Bome MIDI Translator Pro has up to 9 virtual ports and also has a capability to translate and conditionally route MIDI dynamically depending on the message type.

Bome Network with Unlimited Named Virtual Ports (as an add-on) has as many as you want to create with more advanced routing capabilities.

This covers the very basics.

As far as your synths and controllers, you can also use Bome MIDI Translator Pro to tie the real ports together so they can talk to each other using their own physical ports.

You could have each of your 4 keyboards routed to your synths either statically (using the MT Pro MIDI Router), or dynamically switch between different routes using translators. Although this will not “save the world”, it can certainly make a musicians live more easy in connecting all there gear and associated software.

I hope this helps!

Steve Caldwell
Bome Customer Care


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


Thanks Steve. Good to see you are still at it on here. I have JUST now found the time to rebuild my whole rig and now i’m at the ‘fun’ part at setting the programming up. So, it is starting to sound like I need a usb to pc rack mounted unit for connecting all boards/rack synths. I have realized that midi thru passes only a copy of the in without sending stuff from the host board… so, it’s sort of an imput only option from a controller. My deal is, I really need to be able to trigger the 3 rack mounted synths as well as other synths from any of the boards… not just the controller. I need to be able to stack patches from other boards and rack synths onto any of the 4 main boards (not counting the micro korg. My goal is to be able to hit a button on the fire controller, take that midi signal and use it to send patch setup info to the whole rig. I’m not sure of the overall archetecture that will need to be used ie create presets for each song that loads all patches and acts with translators to send signals to everything from everything for that particular song. If i do that, then i’ll need to be able to load presets from a ‘global’ preset that controls which presets to load per each button pushed. I know MT is able to do this… if I can get an overall archetecture (if different from what I just layed out) I think I can eventually get the rest figured out. What I was hoping for was like setting up ‘virtual ports’ for every piece of gear and then just send from on to another (or multi) as needed etc… but i’m seeing based on your excellent description that the virtual ports are more for software connectivity.

Yes, if you have have USB on a computer with a powered hub and Bome MIDI Translator Pro, you could do it that way. Or you could get a BomeBox with MIDI Translator Pro and attach powered USB hub to that, you could also do it with BomeBox without needing the computer. If you need more MIDI DIN ports, you can hang a USB to din adapter to control the keyboards ore modules that don’t have USB. BomeBox has 1 in and 1 out DIN port but something like MIDIHub by Blokas has 4 ins and outs and has some intelligence built in as well.

There is definitely some planning that will need to be done to ensure everything stays in sync but that is why I bought these products. I was a happy customer prior to helping with support. For basic Q&A I can help you here for free support, however I also do paid consulting jobs for bigger projects.

Reach out to me here for the free stuff and feel free to drop me an email if you want to have a more intense conversation about some paid services.

Looks like me you have a lot of stuff to tie together. Lots of keyboards, controllers, sound modules etc.

Steve Caldwell
Bome Customer Care


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

super. So I ordered just individual adapters for midi to usb. I should be able to see them seperately in MT so, should be good on the physical hook up. Rack stuff, don’t need output so they are fine daisy chained thru. Now as far as the archetecture of the layered control, say a set with 15 songs, each song will have a preset to set via translators all of the voicings (patches) on the rig… right? If so, then i’ll just need to create a preset that selects presets. i think i saw that was possible to do. I had asked before about if I could create like a file that I could reuse for the lighting on the fire controller. not sure if some advancements have been made in that area but i’m thinking I could get that stuff done programatically instead of writing a ton of lines of commands to be sent. Like using loops or something. I think I pretty much got a handle on most of it as long as my basic archetecture is correct… or best use. ie… presets are a collection of patch changes… etc.

Yes, you could set up your presets by song name and the have an incoming MIDI message like a program change, switch presets. Then as you turn a given preset on, have each preset a set of that send MIDI messages to each of your devices. At least that is one way to do it. In this scenario you should set up “turn off all other presets except always active”. That way you only have one of your song presets active at a given time.

Steve Caldwell
Bome Customer Care


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

Another option is to organize your presets by device so that each preset only sends to it’s given assigned device and then use timers in each preset to send commands for that devices

Device 1
Timer Song One
Timer Song Two

Device 2
Timer Song One
Timer Song Two

This way you would be able to set the default device by preset instead of each translator and just arrange your song selections by timers leaving all of the presets active. There are multiple ways to do it. I think I would choose this way as if devices changed around it would require less manipulation of individual translators. Also I would give my device names aliases so that if there is a generic port assignment (IE USB3-4) and you plug into different ports, you can just re-assign the aliases to the ports they are currently using which is much quicker than assigning a bunch of presets.

Steve Caldwell
Bome Customer Care


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

Got my adapters today. i’m putting one on all keyboards but just going with one for all rack synths and keeping those daisy chained with no return. One way to them. that’s fine, but for keeping it all simple, i may go ahead and get an adapter for each of them… eventually. So I created aliases for the keys and the rack as well as the foot button midi controller… it just had a midi out. So far so good. Here’s a basic question, when i’m writing my translators is there a more all inclusive way to just say, send all midi created by board A to a rack synth… or do you have to do key up, key down and whatever else for each?

Hi,
If your rack modules are daisy chained via MIDI DIN, then I would create a single Alias for them since they are all on the same port. Maybe ‘Rack-Modules’. For these, you will either need to put them on different MIDI channels for channel messages or if they handle SysEX messages, then they shouldn’t interfere with one another.

You can have static MIDI routes from say ‘Board A’ to ‘Rack Synths’, but if they are daisy changed they are going to go to all of them. Maybe for your situation it would be better to have incoming triggers that handle a given MIDI channel. for anything that goes to the daisy chain. Maybe you can try a few to see how it is working and come back to me with questions if you get stuck with your particular situation.

There is generally more flexibility in putting them on different ports than daisy chaining them but this might be a matter of budget vs functionality.

Steve Caldwell
Bome Customer Care


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


yeah, i’ll probably get a few more usb adapters but i’ve ,made some good progress so far. everything works including feedback to the fire controller to set the leds.

Good deal. Let me know if you need help with anything.

Steve Caldwell
Bome Customer Care


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