-
Notifications
You must be signed in to change notification settings - Fork 715
MIDI over BLE #510
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
With random note on channel 10 and about 300 BPM there is nice percusion melody:
|
Looks fun! What task library are you using in the drum example above? |
What task library? |
i would guess its the task library from RTOS |
ah, apologies. (should have realized its Task.h and not task.h ;) ) |
Thanks! I can confirm this example works fine, and using the fluidsynth example I was able to get the same results with the random drum notes triggered on an Android device (Nexus 5). :) What is curious is that it seems like security is not mandatory (but from what I can tell it is "recommended"). However, the name of the device MUST be less than or equal to 5 characters in length! e.g. "ESP32" works. "MIDI" works. but for example if you set the name to "MIDItest", you cannot discover it any more! @chegewara can you confirm this behaviour? On iOS, Android, and MacOS it seems to exhibit this behaviour, while in Windows 10 it is happy to find the device with a longer name. On iOS and OSX you can still pair it with an external BLE utility however, and once paired, you can use the MIDI port; on Android, I'm able to pair it using the NRF utility but afterwards it doesn't look like any MIDI apps can see/use the port...). I wonder if this 5 character limit is inherent in the spec, or something else? |
Yes, i didnt think about it earlier but yes, i can confirm that. There is few issues here about this. In short: we have 31 bytes for advertising and midi service is 128 bit (16 bytes) long. With all other parameters that are advertised we have 5 bytes for device name. To change it some cpp_utils library changes are required. EDIT you can try to comment out
|
Good to know, thanks! This sounds like a limit of MIDI-BLE then? I assume the 31 bytes for advertising is fixed by the BLE spec? and you need to send out the MIDI service advertising otherwise you get discovery issues mentioned above... From here, I guess the question is: Is there any unnecessary data sent with the advertising packet that we could potentially trim? Either way, its not a critical issue, just want to get a better understanding of whats going on under the hood! Thanks again! |
You are right, its bluetooth le limitation. |
THANK GOD! FINALLY I REALIZED IT'S A NAMING PROBLEM!! THIS BOTHERED ME A LOT IN 2 DAYS!! |
Generate code that refered http://oedrum.hatenablog.com/entry/2018/12/28/232018 and nkolban/esp32-snippets#510
Just a quick tip for copy&pasters like me that reach this snippets. The code works, but if you use Platform.IO, remember to add |
The text was updated successfully, but these errors were encountered: