Chocolate Bluetooth

We cross-posted. See my post above that should / may give seemless BLE MIDI connection. If we prove this is robust I will look to add a method of pairing devices.

2 Likes

It will remain routed until Bluetooth connection drops. It will re-route a second after Bluetooth connection re-establishes.

1 Like

That’s as much as we can expect from a Bluetooth connection, if we needed more stability than that we’d be using a cable :wink:

1 Like

Ok. couldn’t wait for the weekend. Added the udev rule above, wrote the test script (had to chmod +x to make it run, should anybody want to replicate). Also did an update, for good measure (got a bit scared when I saw rpi-update messages popping up on the logs, but everything went smoothly).

Turned on the foot controller, and it just works. Turned it off and on a few times, played around for ten minutes or so, and didn’t go down once. Success!

Considering the limitation you mentioned (having just the one BLE device connected at a time), I’d say having this turned on by default is better than the alternative - there’s still the nasty pairing to be done, but that’s a one time thing, harmless with the right instructions as per start of this post (ok, maybe not for everyone - but it’s a step in the right direction :slight_smile: )

Just FIY, I never got around to play with a good looper (just a single push button guitar pedal one, which wasn’t ideal). So getting a £20 device online that extends Zynthian in such a versatile way is making me value this project even more. And yes, that’s thanks to you guys, kudos!

5 Likes

Resurecting this thread because I may be getting some BLE toys for Christmas… I have been trying to get Bluetooth (BLE) MIDI working and was failing because:

  • All the online stuff seems to be wrong!
  • amidi -l does not show ALSA seq devices
  • Android BT MIDI does not seem to be compatible

I created a BLE MIDI device using an ESP32 and got some MIDI messages into Zynthian. This post is mostly to remind myself of the issues I have had so far.

In one of my planned projects, I would like to use the widi core module.

I have good experience with GME WIDI, so maybe it could work. Besides, I don’t want to deal with an order from HONG KONG and customs, tax, etc.

I have read a couple of articles that suggest jack MIDI support is poor with bad jitter, e.g. The Ardour Manual - MIDI on Linux, particularly the statement:

Using a2jmidid acts as a bridge between ALSA MIDI and JACK. The -X seq or -X raw arguments should not be used—the timing and performance of these options is unacceptable.

I wonder whether we should consider changing Zynthian to use a2jmidid exculsively. By using the -e argument you get all the physical ports exposed, including BLE (bluetooth) connections. The current Zynthian code does not recognise these ports but it should be simple to fix this. It would also provide per-device access for ALSA MIDI ports which is currently only done on a combined (all ALSA MIDI ports) basis - they are all or none selected.

When I previously looked at this I thought there were issues to this approach but my (rather brief) tests today suggest it may be a good path. With respect to the topic here (Bluetooth MIDI) it would remove the need for any extra routing scripts and make the ports available natively. I will do some further tests to see how much work would be required to implement this and what the impact may be on operation / behaviour.

That looks cool - much lower power requirement than the ESP32 that I am using for my current tests but a lot more expensive (x10). I like the idea of a BLE MIDI device that can be powered by MIDI DIN-5 (as the CME WIDI devices do:
CME_WIDI

3 Likes

Yes it is true. On the other hand, there is no need to develop software for BLE connection and midi communication. It is compatible with WIDI devices from CME. It is a closed system with which you only need to connect to RX and TX.

What I like about WIDI CME is that it is possible to use the application to create groups that are connected. I have tested the connection between WIDI Master, WIDI Uhost, WIDI Bud Pro, Genki Wave Ring, Artnois Re.corder at home. It was exhausting and sometimes frustrating to figure out how to put it together, but in the end it works.

1 Like