BMT, SoundDiver and LoopMidi - going crazy

First post, hi everyone!

After almost one year of despair, here’s my last attempt to solve this issue with your help!?

Scenario: Windows 10, two Steinberg Midex8, SoundDiver*, Reaper and a Yamaha VL-1.
Due to the multi-client restrictions in Windows I have to use LoopMidi - 1 output to each instrument for each client (SD and Reaper) and 1 input for each instrument in SD, Reaper only receives the breath controller CC from the VL-1.
All LoopMidi ports are routed through BMT to the respective Midex ports.

When I open SoundDiver and transmit a patch to the VL-1, I can do this exactly once. All subsequent attempts won’t affect anything. The midi interfaces aren’t registering on the respective port, the VL-1 doesn’t receive the patch nor would it react to a send request by SoundDiver.

I know, the software is ancient and the (8.1) drivers for the Midex’s are unofficial, but it did work in Windows 7. If you know what might be wrong, please help me out! Thanks a lot!

*run as administrator, compatibility set to XP. I also tried to restrict CPU affinity to one core only

Hi, and welcome to the Bome Community!

I can take a look if you post your project file. I don’t think I can troubleshoot your whole setup but I can certainly look to see if there are any issues with your Bome Project file and perhaps any MIDI routing issues. I don’t know if your Midex8 may be transmitting to multiple ports that converge to the VL-1 or loop back to the source (MIDI loop) which could b problematic.

I’ve seen situations where synths cannot handle data coming in fast enough (usually via USB) and also where older software just isn’t compatible with the newer OS’s.

I think that is the best I can do.

Steve Caldwell
Bome Customer Care


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

Hi Steve,
thanks a lot for having a look into this! (Sorry about the delay, but the notification had landed in the spam folder).
Let’s hope you’re able to find the culprit (which is me, I guess :))! The project file is here.
Have a great day, thanks again!
Marc

Wow, your routing looks like the spagetti I had for dinner. However, I cannot see any loopMIDI ports so you must have set them up with aliases. I would need to see a screenshot of your alias assignments so that I can figure out the real port names that are assigned and which ones are loopMIDI ports. With only a few ports, do you really need this many MIDI routes?

Steve Caldwell
Bome Customer Care


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

Yes, right! (Hope they were tasty!) Aliases are used, the whole pasta plate would get too confusing.
So here’s the LoopMidi ports:

I definitely need 2 ports per device due to the multi-client limitations in Windows, one for SoundDiver, one for Reaper. SoundDiver would shut off all ports when a coincidence is detected.

Thanks a lot, Steve!

P.S. Yes, I know that LoopMidi creates bidirectional connections, so you might think that the same “cable” for input and output would suffice. But it doesn’t. Hence another port for “in”!

OK, well nothing jumps out at me except maybe you should check that your VL-1 does not send MIDI thru otherwise you might end up with infinite MIDI loops.

The below are examples of what might be creating the issue if your have MIDI thru set on your VL1

Midex8 1 -> VL1 - Rea -> VL1 - Rea in -> Midex 8-1
Midex8 1 -> VL2 - SD -> VL1 - SD -> Midex 8-1

Also, I’m unclear whether the Midex ports internally route to each other.

For troubleshooting, maybe you should disable routes coming out of your VL1 to see if this clears things up.

I hope this helps!

Steve Caldwell
Bome Customer Care


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

Great observation! The VL-1 is set to “local off” and is transmitting and receiving on different channels.
The only (really only, but it has worked in the past) loop I could think of would happen in Reaper internally, when the track inputs are switched to live monitoring and sending the breath CC (received on ch.9) back to the device (on ch. 10). Those midi routes are also strictly filtered by channel, so basically I should be safe. I have also checked that a thousand times as it’s the most likely spot for messing up the data.

At least I’m not as dumb as I thought I am - thanks!!!

P.S. There’s no way to re-route Midex ports in the interface itself, so there’s no feedback either.

You might also be able to see if LoopMIDI has muted the port. This usually happens if it gets overloaded. This is a sure sign of a possible MIDI loop issue.

Also, just because your VL1 is transmitting on a different channel, if it has MIDI THRU set, anything going in will also come out untouched (same channel).

LoopMidi had muted the port until I set up different ports for each program and different ports for in and out, that’s how I got the idea initially.

As far as the VL-1 is concerned, that’s the whole Midi Settings menu:

No Midi thru there, if I wanted that I’d have to plug another cable into the dedicated Thru port on the back.

Probably time to get one of those iConnectivity MIOs and hook up a laptop or a virtual machine just for SoundDiver. But why on Windows 10 and not on Windows 7? Is the compatibility option working differently now?

No Idea on why it wouldn’t work on both Windows 7 and Windows 10.

I just bid on an iConnect Midi2+, let’s see if that works.

(Anyone want two Midex8’s? :wink:)

So, well, I hit a dead end.

After lots and lots of testing and tweaking I can certainly say BMT does not work with my Reaper install, for whichever reason. As soon as BMT is not active, and I access the interface only via the native drivers, Reaper works without any hiccup.

But now: How can I run SoundDiver alongside Reaper? Because of SoundDiver I need some kind of multiclient solution, which I hoped to find here. What really drives my insane is that BMT works with any other DAW I’ve tried - so what exactly is different in Reaper’s Midi stream that BMT will constantly interrupt it?

First the outputs won’t transmit the project events any longer (I can monitor that the global reset commands are sent whenever I hit play or stop!), when I hard-reset the interface and Reaper’s Midi devices, suddenly the Reaper inputs refuse to forward the events from the interface to the DAW.

Maybe you have an idea, Steve and Florian? Both programs are indispensable for me, and I need a solution. Thanks, guys!

Hi,

I’m not sure how you have Reaper set up but it important that Reaper does not try to open the original MIDI ports of your device and only opens the loopMIDI ports that you are routing your devices through in Bome MIDI Translator. Is this what you are doing? Maybe Reaper is seeing the original ports and still trying to open them?

Also loopMIDI ports are 1 way ports (pipes) so you need two ports for each connection to Reaper.

  1. From Bome MIDI Translator to Reaper
  2. From Reaper back to Bome MIDI Translator

If loopMIDI is muting something, the most likely possibility is you have a MIDI loop somewhere and loopMIDI is muting it to prevent the endless looping which would eventually probably crash your system.

I haven’t played with Reaper in a number of years, but maybe I’ll poke at it and see if it is atomically trying to open the original MIDI ports instead of the loopMIDI ports. I know in Ableton Live, it tries do do this if there is a MIDI remote script for that controller type. For that, I sometime have to go into Ableton Live and re-select to the virtual ports (or loopMIDI) ports before it starts behaving again.

Stay tuned.

Steve Caldwell
Bome Customer Care


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

Hi Steve,
thanks for the superduper quick reply!
I set it up exactly the way you’ve described it, LoopMidi as well as BMT. If there was a feedback loop somewhere (but where?) I assume the whole system wouldn’t work for a second. There is no constant which triggers the error, at least none I would have noticed. It happened twice today when I jumped back a few bars while Reaper was running, in the past I had the impression that leaving an editor or script window would result in the unresponsive outputs.

Of course I’ll stay tuned, I’m more than happy that you have closer look, thanks so much!
Marc

OK, here are some observations and questions. (sorry it is a bunch of them).

  1. Could you show me snapshots of how you have Reaper Configured for MIDI Inputs and Outputs when using Bome MIDI Translators. Under Reaper Preferences → MIDI Devices - You may need to scroll and take snapshots since all of the ports probably will not show at once.
  2. What are you using Bome MIDI Translator 9 for?
  3. What do you have connected to Midex 8.6?
  4. What is USB Trigger Finger used for?
  5. What ports is loopMIDI muting? They are the likely clues to potential MIDI Loops
  6. Are you using any translators or only the MIDI router in Bome MIDI Translator?
  7. You say that VL-1 MIDI thru is off however what about the other 4 devices? If they have a MIDI thru function there might be a MIDI feedback loop in one of those devices.
  8. Please confirm that your Midex does no MIDI routing, just DIN to USB conversion
  9. I noticed you have port names 8 5, 8 5 (2) , 8 6, 8 6(2). Why the strange numbering?
  10. What do you expect happens if Sound Driver and Reaper send back conflicting MIDI messages to the same device? You might need to setup some blocking translators for this type of situation. A blocking translator would be one that triggers on a given incoming action with an output of none and Swallow set so that it doesn’t come through the MIDI thru path.

Steve Caldwell
Bome Customer Care


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

Thanks so much, Steve!
I’ll reply later - as it did work for hours now, without BMT, and just now the error is back! Original drivers, and -boom- all of a sudden, no event from Reaper is sent any longer. I don’t know what to do anymore.

Trying to answer from the top of my head:

  1. At the moment, the settings in Reaper are back to “native”, so no BMT or LoopMidi involved right now, as I need to finish a Midi heavy retro synth project.
    All I can say is that the ports were either LoopMidi ports or native Midex ports, no BMT ports active in Reaper.
  2. BMT 9 was meant as a group for all controllers, but I had deleted it some months ago.
  3. I think that was the PG-200 (JX-3P organix.inque Midi modded programmer).
  4. Trigger Finger was used as a controller for ReaLearn, which allows you to route or trigger every message to internal Reaper automation, scripts or commands. But I suspected that maybe its driver didn’t get along with the Midex driver or that ReaLearn itself corrupts the Midi stream somehow, so I uninstalled both. Unfortunately to no effect.
  5. I didn’t know I can mute ports with LoopMidi. I use them exclusively for splitting the data between Reaper and SoundDiver. Both programs have dedicated inputs and outputs each, for every device I need to control. (e. g. VL-1 Rea in, VL-1 Rea out, VL-1 SD in, VL-1 SD out) BMT then merges or splits the Midex ports accordingly.
  6. No
  7. Either it’s switched off in the menu, and/or the synths are connected via the “Midi out” socket. If there was some kind of Midi feedback, I would see it on the Midex front panel’s LED.
  8. Good call! I’m not aware of the Midex being capable of additional routing, are you? I’ll have to look into that urgently!! Thanks!
  9. At that time I had 2 Midex’s, but sold one and got the iConnect2+ (for the VL-1 mainly)
  10. 2 possible scenarios: Either the device would freeze (e.g. Ensoniq VL-1), so I need to restart it or SoundDiver refuses to receive and transmit data. I didn’t even think about conflicting Midi data , as I always assumed a Windows multiclient issue.

Whoa, that’s really tough! Why doesn’t anyone release a proper editor/librarian for vintage synths (I know there’s Ctrlr, but not for most of my devices) so I could skip SD once and for all? At least it basically still works in Windows 10, which is unbelievable, given the vintage of the program (pre-Apple Emagic).

I guess I will wait until you finish your project and then we can look at your port setting when using MT Pro. It is important that when you are using MT Pro, you do not use any of the native ports and just use the loopMIDI ports that you have set up routes for in MT Pro.

OK then that couldn’t be the issue.

OK so you are not doing anything with Reaper or SD with that I suppose.

Yes you can and if you get any MIDI loops, eventually loopMIDI will automatically mute them to prevent a crash and everything will stop working on the muted port.

I know that iConnect4+ has internal routing that could be messing things up. I’m not sure if the iconnect2+ does.

Yes, would could happen if it gets conflicting data is the device might freeze or respond with some other MIDI back to both Reaper and SD which might mess things up. In this case you might want to block any MIDI messages that you don’t want coming back to a given device. You can use MT Pro log window to see what messages might be happening but or if there are any messages that you know that you want to block, put in blocking translators.

Not much money in creating custom controllers for old out of date synths, i guess. Ctrlr is open source so I suppose you would have to do your own coding there.

Let me know your latest configuration after your current project so you can show me what your current configuration is as it looks like I was trying to debug your configuration from several months back.

When you DO get back to MT Pro check for

  1. Which loopMIDI ports are muted when things break
  2. MT Pro log file to see if there are any MIDI messages that need to be blocked if you are getting conflicting MIDI back from Reaper and SD,
  3. It is possible you might want to create some sort of switcher to manually block SD or Reaper at specific times using a separate MIDI control. Version 1.9 of MT Pro allows for enabling and disabling of MIDI thru paths.

Steve Caldwell
Bome Customer Care


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