Midi / OSC functionality in the keyboard

I am currently waiting for the message that my Pocket has been shipped. Should be any day now :grinning_face: .

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 :smiley: ? 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.

3 Likes

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

1 Like

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

2 Likes

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.

1 Like

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.

Very happy to give feedback on any ideas. :slight_smile:

2 Likes

You might have seen it already, but just for completeness, yesterday the parts for the standalone Pocket Keyboard case arrived and i took some pictures: Lucie / minute: "just took some pictures of the new MNT Pocket Key…" - Mastodon

1 Like

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.