rppicomidi / pico-w-ble-midi-lib

A MIDI 1.0 Bluetooth LE GATT service server
Other
4 stars 1 forks source link

BLE Midi Client #1

Open BenZonneveld opened 8 months ago

BenZonneveld commented 8 months ago

Any progress updates on a BLE MIDI Client?

rppicomidi commented 8 months ago

@BenZonneveld Sorry, no. The server was what I needed for myself, which was to hook an iPad app to the Pico to control a MIDI device. There have been very few downloads on this project until just the past few days, so I just assumed very little interest out there for BLE MIDI.

What is your application for the client? What sort of UI is acceptable to you for choosing the server? I am working on a different project now, but if the Raspberry Pi folks update the Pico SDK soon, then I may revisit it.

BenZonneveld commented 8 months ago

The application I'm working on is a wireless Midi Remote Control with Mackie Control.

rppicomidi commented 8 months ago

@BenZonneveld Sounds like a cool application. I will get back to this library after my current projects hit blocking waits. Hard to say what the timeline will be. Maybe March.

BenZonneveld commented 8 months ago

It's what you do when your Frontier Design Tranzport isn't supported on Windows 11 and not finding a substitute for it. And then you start thinking "Damn it, I'll built it myself!"

rppicomidi commented 8 months ago

@BenZonneveld Am I correct in assuming you want to make a USB MIDI dongle out of a Pico W and use another Pico W on the Control surface, then connect them via Bluetooth LE MIDI? You may find some code in this project helpful for Mackie Control stuff.

BenZonneveld commented 8 months ago

Yes, that is the idea. Already got the code you mention but decided on getting the BLE MIDI working first.

almeidatelecomlgs commented 1 month ago

Hello friends, I'm new to programming, I would like to make BLE MIDI CLIENT work. I want to use my ARTURIA MK2 61 MIDI controller, with the iPad or tablet via BLE. I use windows operating system. What applications do I need to download to create or compile the firmware? can you help me?

almeidatelecomlgs commented 1 month ago

Hello friends, I'm new to programming, I would like to make BLE MIDI CLIENT work. I want to use my ARTURIA MK2 61 MIDI controller, with the iPad or tablet via BLE. I use windows operating system. What applications do I need to download to create or compile the firmware? can you help me?

rppicomidi commented 1 month ago

@almeidatelecomlgs This question is a bit off topic for the particular issue, but I am glad to help you. In future, I recommend that you start a new issue with question like this.

Some Bluetooth LE basics The Server is usually also in the Bluetooth peripheral role. The peripheral advertises to clients that it is a MIDI device. The Client is usually also in the Bluetooth central role. It is looking for BLE MIDI servers to connect to.

Usually, the iPad or tablet will be in the client role and central role. The client role and central role is better for the iPad or tablet because the iPad or tablet has a nice display and touch screen. It can show a list of available MIDI servers to connect to and let the user pick one. Applications like Garage Band on the iPad let you do that. I have only used one iPad BLE MIDI application that lets me make the iPad the BLE MIDI server. All the others only let you make the iPad the BLE MIDI client.

What you should do The good news is I already have a project written that you can use to connect your Arturia Keylab MKII MIDI controller with an iPad or a tablet. Please look at the ble-midi2usbhost project. It converts a USB MIDI device like your keyboard to a BLE MIDI server. If you have difficulties with that project or have more questions about how it will let you do what you need to, please post your questions in a issue there.

rppicomidi commented 1 month ago

@BenZonneveld I am nearly done with an implementation of BLE MIDI client. If you want to use it right away, it may already be good enough to work for you. The work I am doing now is restructuring this library so a single RP2040 program can switch between BLE MIDI client and server mode without a restart. I want this feature for a different project.

If you need something now, please let me know an I will push up a branch.

almeidatelecomlgs commented 1 month ago

@almeidatelecomlgs This question is a bit off topic for the particular issue, but I am glad to help you. In future, I recommend that you start a new issue with question like this.

Some Bluetooth LE basics The Server is usually also in the Bluetooth peripheral role. The peripheral advertises to clients that it is a MIDI device. The Client is usually also in the Bluetooth central role. It is looking for BLE MIDI servers to connect to.

Usually, the iPad or tablet will be in the client role and central role. The client role and central role is better for the iPad or tablet because the iPad or tablet has a nice display and touch screen. It can show a list of available MIDI servers to connect to and let the user pick one. Applications like Garage Band on the iPad let you do that. I have only used one iPad BLE MIDI application that lets me make the iPad the BLE MIDI server. All the others only let you make the iPad the BLE MIDI client.

What you should do The good news is I already have a project written that you can use to connect your Arturia Keylab MKII MIDI controller with an iPad or a tablet. Please look at the ble-midi2usbhost project. It converts a USB MIDI device like your keyboard to a BLE MIDI server. If you have difficulties with that project or have more questions about how it will let you do what you need to, please post your questions in a issue there.

Okay, I already downloaded the code, but I use Windows, I downloaded PICO-SDK but when compiling it after using CMAKE it does not accept the MAKE command, only the NINJA command. in the middle of compilation it displays some error messages.

rppicomidi commented 1 month ago

@almeidatelecomlgs Please make a new issue in the ble-midi2usbhost project with your questions. This issue is about adding BLE MIDI Client operation to the library.