Buying advice and setup guidance needed!

Hi and Happy New Year to everyone,

I’m about to buy one or more Bome products and would be grateful for some guidance as to which program(s) will help me to tackle the issues I try to solve.

So here’s the situation:

First of, I’m on Windows 11 Pro. I am running Dorico 5 and Cubase 13 in parallel on the same machine and at the moment my MIDI keyboard serves as an MIDI input for both programs.

  1. I want to be able to connect Steinberg Dorico’s individual MIDI channel outputs to individual tracks in Cubase.
    I think I already figured that out with the trial version of Bome MIDI Translator Pro. I created some virtual MIDI ports,
    selected individual channels of the ports I created in Dorico as MIDI outputs and set Cubase’ MIDI track inputs to the corresponding
    channels of the virtual ports. Basically a simple MIDI Thru situation. My tests showed that MIDI was correctly distributed to the appropriate channels.

  2. Now, my MIDI keyboard obviously is no longer available as a MIDI input device on any of the MIDI channels in Cubase which have their input set to Bome’s MIDI ports. So, on top of the straight Dorico → Cubase MIDI connection I also want to send all MIDI messages (Note, CC, PitchBend,…) from my MIDI keyboard to every MIDI track in Cubase, as well. So I configured the hardware MIDI port to which my MIDI keyboard is connected as an additional MIDI input device in Bome MIDI Translator Pro
    and connected it to every virtual MIDI output that is going to Cubase. However, my MIDI keyboard is obviously only sending data on one MIDI channel (Channel 1 on my audio interface’s MIDI port 1) and, hence, only the first channel of each virtual MIDI port is sending data from my MIDI keyboard to Cubase. So, here’s my first question: How do I setup Bome MIDI Translator Pro to send all MIDI data from my keyboard to ALL 16 channels? I searched the forum and web and either found the use-cases to be too different from mine or found the way things had to be set up unbelievably clumpsy (as in, hard to believe that it takes so much effort to ‘simply’ pass one channels MIDI data to every channel of a given MIDI port). Surely that’s also because I’m an absolute novice to Bome MIDI Translator Pro and may struggle to understand the presented solutions entirely.

  3. Anyways, once 1.) and 2.) are working, I’ll see myself confronted with a new problem. Now Cubase will receive my MIDI keyboard’s data all the time, even when I’m working in Dorico and Cubase is merely running in the background to forward MIDI to virtual instruments, etc. In such cases I only want Cubase receive MIDI data from my MIDI keyboard on the channel I selected in Cubase. Or in other words, the behavior that would show when I only connected Dorico to Cubase via the virtual MIDI ports since then, whenever I play something on my MIDI keyboard in Dorico, only the selected channel(s) will pass MIDI to Cubase. While fooling around with Bome MIDI Translator I stumbled upon the option ‘Application Focus’ in the translator’s Incoming pane… I suspect that this might be of great help in circumventing the issue I just described? If not, I thought it may also be viable to suppress MIDI data from my MIDI keyboard coming in through the connection established under 2.) whenever Bome MIDI Translator ‘recognizes’ that there is duplicate MIDI data coming from the virtual MIDI input from Dorico and the hardware input of my MIDI keyboard, which are both directed to the corresponding virtual MIDI output of active (selected) MIDI channel in Dorico… I hope my line of thought is understandable. In either case I probably would need some assistance as to how to set things up so that only MIDI data from the MIDI keyboard is suppressed and instead only the MIDI data coming from Dorico is passed through.
    In the near future I also plan on integrating a Leap Motion controller via MidiPaw as an additional MIDI controller into my setup and would like for it to behave the same way as the MIDI keyboard, i.e. sending MIDI data to both programs (Dorico and Cubase) but exclusively to Dorico whenever Cubase is NOT in focus.

  4. The next ‘issue’ is that Bome MIDI Translator Pro’s limitation of 9x16 virtual MIDI channels simply is not enough for my template. Furthermore I want my virtual MIDI ports to have descriptive names to facilitate working with them across the different programs (Cubase and Dorico). Am I right in assuming that buying MIDI Translator Pro and the Unlimited Named MIDI Ports Add on for the free version of Bome Network will best suit my situation? If I understand things correctly this will enable me to set up as many virtual MIDI ports as I desire and name them which ever way I want. In that case I probably could totally omit the creation of virtual MIDI ports inside Bome MIDI Translator Pro and only use it for it’s routing capabilities. Currently I don’t need to have MIDI over network functionality but I assume that upgrading to Bome Network Pro is possible at any time and preserving setups made in the free version can simply be ported to the Pro version?

I hope someone is willing to help me out since I currently really feel a little lost as to how to tackle these issues and which programs are best suited for my situation. :slightly_smiling_face:
Oh, and excuses for the length of my post. I just wanted to make sure things are clear and understandable. :smile:
Thank you so much!

Best,
Manu

Hi and welcome to the Bome community!

Very lengthy and detail description. I hope I got it all right.

  1. We can send MIDI notes on a single channel to all channels the easiest by sending raw MIDI output.
    For instance 90 01 7F is note on MIDI CH 1 note 1 value 7F. The output raw MIDI would look like this.

The incoming trigger for note on would be 90 pp qq

The outgoing action would be raw MIDI:
90 pp qq 91 pp qq 92 pp qq 93 pp qq 94 pp qq 95 pp qq 96 pp qq 97 pp qq 98 pp qq 99 pp qq 9a pp qq 9b pp qq 9c pp qq 9d pp qq 9f pp qq.

With rules, we could modify it so the same translator can handle both note-on and note-off messages.

  1. We can use any trigger to disable output including application focus. We would use the trigger to set a global variable and then rules to look at the global variable and only pass through MIDI data if it is in the desired state.

  2. Yes you can purchase Unlimited Virtual MIDI ports and use whatever name you wish with Bome Network (not Pro), You would only need Pro if you want to send MIDI between computers and yes, you can purchase Bome Network Pro later. Upon purchase, you will receive a license key and all you need to do is enter it into the tool.

You can also handle receiving from and sending to given ports. As the video below shows, most of the time, it is best to manage port selection at the preset level.
For more information about device selection, see this tutorial.

I can coach you with most of the concepts here for free and point you to necessary tutorials and resources. I’m also available for paid consulting as an independent resource (not Bome) so if you are interested in me helping with a complete solution, then either email or Private Message me.

For free support, I recommend for tackling certain things on the forum, that you handle each one as a separate post to solve just one problem. Then as you learn, you can start building your knowledge to the point that you can put the whole thing together. Of course, you can also review tutorials and previous posts to solve a given problem. Learning by doing is great if you are interested in building your own solution. Some people just want stuff to work and not worry about the details of how it is done. This would be the path that you should follow for private paid services.

Steve Caldwell
Bome Customer Care


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

Oh, wow! Thank you so much for your speedy and detailed reply! For the time being I’ll try to set things up myself and learn my way through the programs. Since I want things to be flexible and quickly adaptable in the future, gaining a fundamental understanding of the workings seems to be the wisest choice! :sweat_smile:

For starters and just so I understand you correctly with regards to 1.) of your reply.

This:

We can send MIDI notes on a single channel to all channels the easiest by sending raw MIDI output.
For instance 90 01 7F is note on MIDI CH 1 note 1 value 7F. The output raw MIDI would look like this.
The incoming trigger for note on would be 90 pp qq

The outgoing action would be raw MIDI:
90 pp qq 91 pp qq 92 pp qq 93 pp qq 94 pp qq 95 pp qq 96 pp qq 97 pp qq 98 pp qq 99 pp qq 9a pp qq 9b pp qq 9c pp qq 9d pp qq 9f pp qq.

With rules, we could modify it so the same translator can handle both note-on and note-off messages.

… is only a partial solution that routes the MIDI on and off (once declared in the rules) messages from channel 1 to all MIDI 16 channels. I’ll have to set up an additional translator for CC messages which I probably can target all at once with variables and another translator for Pitch Bend data, right?
This just confused me when I was searching the web on how to set things up since it appeared quite ‘cumbersome’ having to set this up for all the different types of MIDI messages (be it CC, note on/off, Pitch Bend, etc.) instead of ‘just simply’ routing the hole lump that is coming in on one channel and distribute it to all channels in one go.

Thanks again for your help! I’m sure I’ll work my way through all of this :sweat_smile:

Best,
Manu

Have you considered to use Max for your ideas? It is a big and expensive program and has a steep learning curve, but what you describe here is very easy to make in Max and you can modify and expand it in a fairly straightforward way. Max is the ideal middleware for the type of projects you describe. However, you would only use 1% of the software.

Hmm, never considered Max and have little to no knowledge about it, let‘s not talk about experience :sweat_smile:
I have build my orchestral template painstakingly over the years to suit my needs with Expression Maps for both Cubase and Dorico and really like the workflow with either of the those programs. Adding another program seems a bit counterproductive/counterintuitive. As you‘ve said, it’s quite expansive and probably slows down getting back to the process of actually making music even further. But I surely keep my eyes and ears open to new ways and ideas in the future! Thanks for the hint in this particular direction as I really wouldn’t have thought of Max for my particular use case :smiling_face:

Best,
Manu

Hi,
You might find this useful.

I use the global variable ga to determine which application is active. Bit 0 is Dorico and Bit 1 is Cubase.

I don’t have either application loaded on my PC so I use notepad.exe for Dorico and EditPlus.exe for Cubase. You will need to change this in preset 1.

image

Then in preset 2 and preset 3 I have a translator that looks at any 3 byte message on MIDI channel one and broadcasts it by calling Perform ‘Broadcast3’ with the channel number Control Byte and data bytes.

I have Preset 2 and preset 3 routed from Keyboard to Dorico (preset 2) and Keyboard to Cubase (preset 3). This is how I do port routing.

The second translator in preset 2 and preset 3 look at the value of ga to determine whether to broadcast the MIDI message to that port.

Translator 2.1 rules to determine whether to send MIDI message

// only if Dorico is focused
ss=ga&1
if ss==0 then Log "Log ss=%ss% Dorico is Deactivated, Nothing being sent"
if ss==0 then exit rules, skip Outgoing Action

I use a loop in the rules of translators 2.0 and 3.0 to broadcast to every MIDI channel.

// strip out MIDI channel
oo=oo&240
tt=0
Label "loop"
if tt>15 then exit rules, skip Outgoing Action
// first parameter is MIDI channel
// second parameter is Command byte without channel informaiton
// third parameter is note or CC number
// fourth parameter is value/velocity
Perform "Broadcast3", tt,oo,pp,qq
tt=tt+1
Goto "loop"

So these 4 translators can now handle both broadcasting on all channels and decide which ports to broadcast.

Here is how my aliases are set up for testing.

You can learn more about aliases from this tutorial.
Cubase-Dorico-2025-01-01.bmtp (4.9 KB)

Steve Caldwell
Bome Customer Care


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

Wow, thank you! I‘ll take a closer look at it later and play around with it. This is so incredibly helpful!

Best,
Manu