For your Saturday morning (or evening) entertainment…
I just bought an M-Audio Code black controller as my MIDI master keyboard, thinking with all these assignable buttons, sliders and encoders this will be way cool for controlling the Pyramid remotely. Overall the device feels sturdy, has tonne of assignable controls and has a nice keyboard touch (for my undeveloped taste and for the price anyway), but I haven’t had much chance to play (in the musical sense) with it yet, I started with setting it up for the Pyramid.
Configuring the thing on the controller itself is arcane to say the least - with all those buttons you think you could’ve afforded an “ok” or “enter” button in there, but instead, you use third-lowest C (I’ll call it C3) on the keyboard for that, and various other things. Including numeric entry, D2 being 0, D#2 1 and so on. The fingers will learn that in time of course, but one would think the pad area with pads that are, you know, numbered, would make for a more natural numeric keyboard. No?
Anyway, due to my setup, getting the transport keys to control Pyramid was the really the first thing I wanted to do. Which is where the absurdity starts.
I skimmed through the manual before buying (of course) and saw all the note, CC, PC/LSB/MSB mapping methods and that it’ll do Mackie control and MMC even. So I thought surely this will do everything I need it to do.
The first of many surprises is that out of the box, the transport controls didn’t seem to do anything at all, nothing on the MIDI wire. The second is that the transport controls are not assignable. So they’re not assignable and they don’t send anything? Suspecting that maybe Pyramid MIDI monitor isn’t showing something here, hooked up to a PC and lo and behold, it’s registering MIDI note events from the transport. So they do something, but they only send over USB, and this is not configurable. Wut? Turns out this “something” is Mackie control, but it’s also switchable to HID (to send keyboard strokes to a PC, which appear as funky CC messages). But no MMC. The thing can send MMC, but not from the transport control? WUT? Who would ever want to use transport controls for MMC? And no MIDI clock start/cont/stop either?
It also turns out here’s absolutely no way to send an old-fashioned MIDI clock start/continue/stop messages by assigning any of the other buttons either, so there’s no way to directly start/stop the Pyramid, because it doesn’t support MMC (AFAIK) and PyraMIDI only has special provisions for REC. I suppose this is because in MIDI spec, it’s the clock masters job to send both the start/cont/stop and the clock itself, but AIUI many devices will respond to play/stop even if no actual clock is sent, certainly the Pyramid does so.
So okay, getting this to work on any level will require an external MIDI processor, it’ll simply have to wait a bit. (still waiting for my MidiHub with increasing impatience…) But with transport controls only sent on USB, this means that I’d need an USB host in the setup, which I don’t have, and the MidiHub doesn’t either. So just for the purposes of routing those messages from transport into a processor that can transform them into start/stop for Pyramid, I’d need yet another MIDI box in the 100-200€ range, most of which would also make the MidiHub as a processor unnecessary before it even arrives, IF it wasn’t for the fact that it seems to be the only such thing with an editor for Linux desktop or Android. Which is pretty much a showstopper for me. Anyway, the bottom line is, I will have five dead buttons on the controller (which is a non-trivial percentage) unless I spend a non-trivial amount of further money on an USB MIDI host box of some kind, which is a thing I tried to avoid in the first place.
So here I have a controller on whose color-configurable pads you could almost play Tetris on, and a sequencer whose track selection and effect parameters and record state I can remotely control from the controller that alone are worth closer to thousand euros. And somehow there’s just no way to send that one byte over the 3m wire these devices are connected with to get it to start and stop playback. In this age where low-cost mobile phone are routinely used for surfing the web and watching videos over a wireless global network, this is just all so absurd that it makes a grown man cry in hysterical laughter