Android Bridge App - BLE-MIDI to USB-MIDI compliant

Started by cags12, November 01, 2017, 09:28:36 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

cags12

Hi Folks,

After having found that the CME WIDI-Bud (https://www.vguitarforums.com/smf/index.php?topic=18416.msg131079#msg131079)has a hard buffer limit of 256 Bytes not allowing Long SysEx messages to be transmitted, I decided to try and create a solution to this.

So, I created a simple Android App that allows bridging/re-routing different MIDI ports. It also includes a method to pairing to BLE-MIDI devices such as the Quicco Sound mi.1, Yamaha BT-MD01 or any other peripheral MIDI-BLE.

The app is specially useful to bridging BLE-MIDI with USB-MIDI compliant; allowing you to interface with any USB host compliant device and be able to use BLE as the transport method.

The app is the best solution I've found so far to connect to the ATG Settings Manager on Windows as described in this topic. https://www.vguitarforums.com/smf/index.php?topic=21951.0

I will be publishing the App soon to the Play store but if you want to get access to an early preview, please let me know an I will send. I am looking for feedback before publishing the definitive one.





///////////////////////////////////////// Download Link to Beta version //////////////////////////////////////
https://www.dropbox.com/s/3g0pva5ggj88a42/BLIDI-Droid-debug.apk?dl=0

admin

#1
Curious what Android device you are using?
and what version Android ?
Are you using a USB OTG adapter ?
What are the specific connections to the Windows PC running ATG Guitar Settings Manager ?


cags12

Sorry, I should have clarified that.

The app requires minimum Android Marshmallow or newer. It works on any Phone or tablet. I tested with a Nexus 5, Galaxy S6 and MOTO G3.

You only need a regular USB cable (the one for charging). No OTG needed unless you want the phone to act as the host to other devices. In which case the OTG adapter would be needed.

To make Androd to act as a USB-MIDI device you simply have to select the right option:



DLC86

Hi Cags, I just ordered a quiccosound mi.1 and would like to try your app. I should receive it next week.
Just a question though: can it also be used to bridge midi Android apps to midi-ble devices? Basically, does it create virtual midi ports that other apps can see?

Thanks

cags12

Hi DLC86, Android apps will see the MIDI-BLE devices natively with no need of any bridge. Nonetheless, yes, the app publishes a virtual MIDI device that can be used for the bridge is that is what you want to.

DLC86

It seems not all apps recognize midi-ble devices as midi ports, at least that's what I've read in a discussion on Fractal forum about FracPad (an editor for Fractal products for Android and ios).

So that's great, looking forward to try your app, probably it will also avoid to make me buy a widi bud.  ;)

cags12

Quote from: DLC86 on December 01, 2017, 06:19:08 AM
It seems not all apps recognize midi-ble devices as midi ports, at least that's what I've read in a discussion on Fractal forum about FracPad (an editor for Fractal products for Android and ios).

So that's great, looking forward to try your app, probably it will also avoid to make me buy a widi bud.  ;)

Ohh right. Well I obviously have not tested many apps.

The Widi Bud is useful for a permanent setup with your regular gear. I would only use the App for connecting to a Windows PC while native BLE support is not fully supported. The problem with the Widi-Bud is the hard limit of its buffer to 256 Bytes. It cannot transmit long SysEx unfortunately but CC/PC is all grand.

cags12

BTW. I have not published it yet to the Play store because I've been a bit lazy. Also I have not had many people beta test it yet. Perhaps you can be one of them.

Elantric

Quote from: cags12 on December 01, 2017, 07:24:00 AM
BTW. I have not published it yet to the Play store because I've been a bit lazy. Also I have not had many people beta test it yet. Perhaps you can be one of them.
please let me know an I will send.

I hope to find time to test it with my LG V20 phone, and Samsung ChromeBook Plus

send a link to the APK  - contact me via PM

cags12

Quote from: Elantric on December 01, 2017, 07:27:47 AM
I hope to find time to test it with my LG V20 phone, and Samsung ChromeBook Plus

send a link to the APK  - contact me via PM
Will do when I get home to make sure I am sending the latest version.

Cheers

DLC86

Quote from: cags12 on December 01, 2017, 07:24:00 AM
BTW. I have not published it yet to the Play store because I've been a bit lazy. Also I have not had many people beta test it yet. Perhaps you can be one of them.
Sure! As soon as I receive the quiccosound I'll be able to test it with every kind of midi message and gear (ax8, keyboards, Antares ATG, bcr2000) thru a Sony Xperia z3+

Elantric



Quote
I will be publishing the App soon to the Play store but if you want to get access to an early preview, please let me know an I will send. I am looking for feedback before publishing the definitive one.


Cags12, Any news on the Google PlayStore download link for your MIDI Bridge Android app ?

cags12

Quote from: Elantric on December 14, 2017, 12:34:35 PM



Cags12, Any news on the Google PlayStore download link for your MIDI Bridge Android app ?

Sorry Elantric, I am in full procrastination mode lately. Here you have a dropbox link to download the beta version
https://www.dropbox.com/s/3g0pva5ggj88a42/BLIDI-Droid-debug.apk?dl=0

Feel free to share and give feedback so I can make it better before going to the play store.

DLC86

#13
Hi, I've tested your app for a bit today and it seems to work really fine, no issues found for now.
I have a little request though, if it's easy to implement: would it be possible to make it retain in/out port settings? Currently they need to be selected every time the app is closed and opened.

I'm asking this cuz I was thinking about buying a cheap TV box to put on my pedalboard and use it as a widi-bud substitute.
Bluetooth devices auto-connect with it once they're paired and I can make your app auto-start on boot up (btw, an auto-start function would be cool too) but if it doesn't retain settings it's not going to work with a tv box without a display and keyboard attached.

chopsuey

The app also works flawlessly to sync a Boss RC-500 (master), Op-1  and Op-Z over Bluetooth via an Android Oneplus 6 and Nucleum hub. So far, it is the only Android app I know that supports connecting 3 midi USB devices and much better than anything else in the App Store. Big thanks to the original author cags12 for making this available! Only wish would be another one or two pairs of connections :D

josehdx86

Hello! searching on google i found this post, but i was looking for an app that actually makes the opposite. Let me explain. I have a USB-MIDI controller (Lines 6 FBV MKII) which i love to use with my laptop via USB port. But i would like to make it wireless, meaning I want to turn it into a BLE-MIDI device.

I know there are some dongles on the internet but I would say it might be possible to do it with and app when you plug the interface to an android phone, it would even better because the phone will power the controller.

I think is possible because some how i managed to do it partially with a test i did with the "MIGHTY Air" guitar amp from Nux, that little amp has a BLE connection, but the official app on play store does not have that option. There is an unofficial and more powerful app called "mightier amp" let you rout almost any MiDi device to the  amp via BLE. But it must be done trough the app to make the mapping and the connection.

Now, probably, your app can work as bridge for this kind of application as well, but for the way BLE works, i am not completely sure if is possible. I am not a developer but i have basic knowledge of these kind of topics. So, the problem i would see is to turn the smartphone itself into a BLE device being capable to take and export the MIDI data generated by the interface.

BLE and MIDI is supported in android, but maybe an app can turn the device in a BLE-MIDI while the app is on use?

Do you think is possible? Could you try to do it?

I am working with Arduino and i have made a BLE-MIDI small device without many problems. So my bet is it would be possible

Looking forward for your comments

gumtown

If you want to continue the Arduino path, there is the USB Host shield 2.0, uses SPI interface and you can wire it to power USB devices.
Just requires a small midi library to run with it.
https://www.aliexpress.com/item/4001090390430.html?spm=a2g0o.ppclist.product.2.3dd4MiOzMiOz08&pdp_npi=2%40dis%21NZD%21NZ%24%2021.98%21NZ%24%2019.12%21%21%21%21%21%40210312cc16618434350607283e1961%2110000014305756251%21btf&_t=pvid:e4e534d4-6f87-4c16-95b6-1ed9c0f4da2a&afTraceInfo=4001090390430__pc__pcBridgePPC__xxxxxx__1661843435

There is also the CME WIDI uHost which is very small has a USB C Host connector for midi over USB and a USB C power connector for a phone charger type adapter.
It can interface directly with your computer, just install the KORG BLE Bluetooth driver to have your laptop "see" it as a regular midi device.
Free "GR-55 FloorBoard" editor software from https://sourceforge.net/projects/grfloorboard/

josehdx86

Quote from: gumtown on August 30, 2022, 12:15:21 AMIf you want to continue the Arduino path, there is the USB Host shield 2.0, uses SPI interface and you can wire it to power USB devices.
Just requires a small midi library to run with it.
https://www.aliexpress.com/item/4001090390430.html?spm=a2g0o.ppclist.product.2.3dd4MiOzMiOz08&pdp_npi=2%40dis%21NZD%21NZ%24%2021.98%21NZ%24%2019.12%21%21%21%21%21%40210312cc16618434350607283e1961%2110000014305756251%21btf&_t=pvid:e4e534d4-6f87-4c16-95b6-1ed9c0f4da2a&afTraceInfo=4001090390430__pc__pcBridgePPC__xxxxxx__1661843435

There is also the CME WIDI uHost which is very small has a USB C Host connector for midi over USB and a USB C power connector for a phone charger type adapter.
It can interface directly with your computer, just install the KORG BLE Bluetooth driver to have your laptop "see" it as a regular midi device.


Hey, thanks for the information, i was considering the CME WID, but i am not sure if my phone can power the WIDI and the MIDI device at the same time, A power bank surely will do the trick, but this is why i was thinking on an app, as i want to be as portable as possible.

I am not sure what is the goal about the USB host. I mean, will that convert the MIDI controller to BLE midi? i was checking the link but still not sure why i would need something like this


Thanks

gumtown

Is there room inside the midi foot controller to mount BLE Midi and a rechargeable battery inside ?
All you would need is to charge up the foot pedal before use, BLE Midi and a midi foot controller should be quite light on the power draw.

Would make an easy setup where you just drop the midi controller pedal on the floor, and switch it on, ready to go .....  8)
Free "GR-55 FloorBoard" editor software from https://sourceforge.net/projects/grfloorboard/

josehdx86

you just gave me an amazing idea. or maybe i was not really clear

first, i think i will need an Arduino board with USB-host capabilities (my ESP32 dos not really have it) in order to accept the midi messages from my usb midi controller.

let me explain. as i said i have the USB MIDI and i am making another device which so far is working via BLE, The goal of this device was to be a kind of digital whammy bar (like the virtual jeff pro, but the VFP works as wireless MIDI controller and as a stand alone pedal), i have order some special potentiometers to make the bar to return to 0 when pressing the bar up or down (left or right to the center in the potentiometer) but i am able to generate MIDI messages on this Arduino built it buttons. So far so good

Now, if i understood you correctly, one of the ideas i just got, could be make some program that can handle the upcoming MIDI data generated via USB, connect my current USB MIDI to the arduino board, and then transmitted via MIDI. Additionally, with the "surface control" library i am using from github, i will be able to use the whammy or the buttons on the arduino board and send it as well via BLE, so it would be a win win situation.

The battery will be built in on the whammy device, and should be able to power both devices (i guess)

The only problem, as i said is now my arduino board, it needs to have the USB host mode, and then i need to find a way to make the data transmission from the USB MIDI to BLE MIDI

Let me know your thoughts

Thanks

gumtown

Yes, that is similar ideal to what I was thinking
Midi foot controller USB out > Arduino USB Host shield SPI data out > Arduino BLE board with extra digital and analog inputs + merge incoming SPI midi data with on boar midi input data > out on Arduino BLE bluetooth >>>>>>>>>> Laptop Bluetooth in > KORG BLE Bluetooth to Midi driver > laptop apps.

Here is an interesting Arduino/Teensy midi pedal project which uses the USB Host shield into a Katana amp USB port, with schematics and source code, some bits of it might be of use.
Free "GR-55 FloorBoard" editor software from https://sourceforge.net/projects/grfloorboard/

josehdx86

could you just please elaborate more about the SPI section? im not sure why i should need it, when for example an ES32-s2, has the USB host capabilities. and for the last part of your next, were you going to refer to an external link? cause i dont see it. Thanks!

josehdx86

here is a link about what i just explained with the ESP32s2:

https://www.youtube.com/watch?v=XnqDEV21BSA&ab_channel=AndreasSpiess

Those modules are not that old, so maybe you were not aware. These modules are now to me as well.

I would like know what Arduino libraries you recommend for this USB midi connectivity to the board

gumtown

This is the project link
https://www.vguitarforums.com/smf/index.php?topic=25185.msg183442#msg183442

The USB Host shield uses "SPI" (serial peripheral interface) data protocol/hardware to talk to other Arduino/CPU based project boards, I thought you might have been using just the Arduino BLE boards and needed to add USB Host to it.

CME WIDI also do a ESP32 type project module, just out the past few weeks ago.
Free "GR-55 FloorBoard" editor software from https://sourceforge.net/projects/grfloorboard/