I am currently waiting for the message that my Pocket has been shipped. Should be any day now .
And I am wondering about something. I will be using my Pocket Reform as a musical instrument (among other things), probably with Puredata. I have bought some translucent keycaps and I am planning to make a grid of 4x8 of them on the keyboard. I was wondering how hard it would be to include a midi-mode in the firmware of the keyboard. OSC would be even better, but midi is fine and probably easier. I read that the chip for the keyboard has a midi library so I hope it would be not too hard.
Is also the trackball on the same controller?
My dream scenario would be
Normal keyboard mode at boot & reboot
Press shortcut - 2-3 buttons to switch into midi mode
Midi notes and velocity would be easy to set by the user. Does not have to change often.
Button down = send note x, velocity Y
Button up = send note x, velocity 0
Send midi note x to the keyboard = control light on corresponding button. Velocity 0 = light off, velocity Y = different colors and fade level
Trackball move left = CC x, value 1-5 depending on speed
Trackball move right = CC x, value 122-127 depending on speed
Trackball move up = CC Y, value 1-5 depending on speed
Trackball move down = CC Y, value 122-127 depending on speed
Press shortcut - 2-3 buttons to switch into normal keyboard mode
What do you think ? I would be happy to help where I could, but firmware is maybe a bit above my level. But if something would be started I would be happy to follow up.
Ooh yes to this! I’m still anxiously awaiting my Pocket, but was thinking the keyboard would also make a great launchpad controller, with it’s layout and LEDs
This would be very doable, but I’m wondering about the physical interface. Did you have in mind that this would go over USB MIDI internally to the processor? Actually, I realize that we could make a kick-ass USB midi controller from the almost-ready-to-launch standalone Pocket Keyboard as well. The backlight matrix can also easily be a step sequencer or launchpad :0
QMK supports MIDI already so i spent a couple hours getting something minimal up on a branch in my QMK port. right now it’s prone to crash, doesn’t have velocity adjustment, and some notes aren’t contiguous, but the proof of concept is there for now, tested and working using fluidsynth.
as far as the stock firmware (pocket_hid), if pico_sdk has support for sending MIDI it shouldn’t be too hard and the hardware seems to support the extra device.
I was thinking USB MIDI internally yes. So it would automatically connect, the OS and any software would see it as a midi device that was plugged in but while in Keyboard mode it would simply not send any messages.
Then you would do a shortcut and the keyboard would send midi instead of keyboard messages. I guess one way to do it would be to have this switch simply be on the OLED but this would also open up for accidentally hitting the power off mode in a performance mement, which would not be good.
I would also encourage to keep the midi itself very simple and have seperate software for making a step sequencer (like Puredata) because it is VERY easy to make a gimmick sequencer that is impressive to boot up, but not very useful.
Another cool thing about having switchable midi functionality inside the keyboard instead of just translating keyboard strokes to things in software is of course that you could connect an external keyboard, screen and mouse to patch / program the software while the internal screen and keyboard on the pocket could show the control gui and send midi.