MIDI Bluetooth (BLE) router for Windows

MIDI Bluetooth Low Energy devices do not show up in GP (neither do they in most other DAWs). This is due to the fact that Microsoft only expose these devices using the WinRT/UWP APIs, not by the old MME APIs. Most DAWs and also GP use MME and thus do not ‘see’ the BLE devices. The reason for using MME is probably because it is rather stable and somewhat mature and developers has learned to live with it :grinning:. Further more the WinRT/UWP subsystem is new (2016).

To overcome this issue, I’ve written a small program. It makes it possible to receive MIDI messages at one MIDI device and send them out on another device. These devices can be ‘normal’ MIDI device and/or BLE devices.

To make it work, you also need a virtual midi cable such as Tobias Erichsen’s loopMIDI (loopMIDI | Tobias Erichsen). When you create a virtual cable with the name ‘cable-a’ the flow looks like this:

image

Setup the router:

  1. Unzip it to a folder

  2. Scan the content for viruses: better safe than sorry!

  3. Read the PDF, because you have to make a router config file and (hopefully) this tells you how

  4. Start MidiUWPRouter.exe without extra arguments: That way you get all the device data that can be used in the filters. You can save these also to a csv by right-clicking in the device list

  5. Create the router config file. There is one next to the application: routerconfig.txt, but that one was specific to my computer. Nonetheless, it might serve as a starting-point

  6. Start MidiUWPRouter.exe with an extra argument that points to the configfile you created, for example:

    MidiUWPRouter.exe d:\music\gp\MidiUWPRouter\routerconfig.txt

  7. You should see the program listing again all available devices, but also a log telling which devices got a assigned and alias and which routes were activated

  • In Gigperformer do not use the output device of the virtual cable you created in LoopMIDI: it must be available for the router to use!

A screenshot what this looks like at my computer:

Double-click the guitar-pedal icon in the upper-left corner to close the program.

I’ve also created an installer. That one takes care of downloading the right dotnet version, etc. (if needed), but I’m not too fond of installers myself, although I need them often enough.

This one I have to add (although I did my best):
Disclaimer: Use at your own risk!

SHA256: 9EDA0542A4A258B606EB622A63570B5BCC1F2F9654ACBC840FD1AF296DF5A68E
MidiUDPRouter-0.9.0.4.zip (878.0 KB)

(UDP is a typo: should be MIDIUWPRouter-0.9.0.4.zip).

SHA256: 218223019A5140BC558CEC48CE80825BEF6F0C929919D1E584AEEF483154228A
MidiUWPRouter-NoInstall.zip (647.1 KB)

Source code: GitHub - frank1119/MidiListUWP: A MIDI router using the UWP on Windows

6 Likes

Thank you for sharing! :slight_smile:

You can of course skip this step :joy:
Frank1119 is a “verified” user. :slight_smile:

2 Likes

To gain some experience with BLE MIDI devices I just bought a CME Widi UHost device. No that we have your software router, Is there still an advantage to use a CME UHost to work together with a set of CME Widi Jack devices?

That might be the case (and I’m not malicious and thanks for the compliment, btw), but a supply chain attack is always a possibility. When someone (not necessarily a GP user) gains access to the back-end where the files are stored and replace them with infected files…

I don’t mean to cause panic, but I don’t want to encourage too trusting behavior. :thinking:

1 Like

A GP supported user! :+1: :stuck_out_tongue_winking_eye:

3 Likes

I don’t know. When CME UHost works for you and you’re happy with it, there is maybe no need to use my utility. The reverse might also be true. The only purpose of the program is to make it possible to get these devices working with GP. If someone knows another way, he/she prefers: :+1:

To test my program, I downloaded a free app on my iPhone (Bluetooth Midi Keyboard). Pairing with Windows and getting MIDI working is the proverbial PITA, but you can get it to work. Don’t forget to activate ‘Advertise MIDI Service’ in the app. On the iPhone, you only have to do this in just 1 of the apps, in case you have more than one app installed (for example Bluetooth Midi Controller, also free).

Well your utility is (still) free which is not the cas of the CME Widi UHost device. For the moment I only plan to test the CME stuff in rehearsal…

1 Like

It will stay free, so no worries there. Drawback is that I make no guarantees that I will always be able to update it when needed… That’s one of the reasons I publish these projects on github, so, when the time comes that I can’t do updates anymore for whatever reason, someone else can step up (or is it ‘step in’?) and take over.

Luckily there is a chance that in due time @dhj might try and see how to support MIDI via UWP in GP out of the box in a future release.

1 Like

An post with link to the GitHub C# source code – God bless you!!

I just want to add something to this post as i see is related to windows and midi ble

It is possible to make windows to see and connect to midi ble devices. But there is an additional (korg) driver to be installed:

After installing the driver, i was able to pair my home made digital whammy bar with arduino. Its connected to widows and i can map it for example to the pitch shift effect of the amazing helix native. You can see the result here:

Anyone interested, i can share the code for esp32 boards

3 Likes