Stuck with using Teenage Engineering OP-1 as MIDI controller

Hi Zynthians,

What doesn’t work yet

I would like to map the rotating encoders of an OP-1 to simulate those in the V4 or V5 style kit. I see here that this was not supported yet - is this still true? If not mappable, would I be able to solve this with a driver?

Long version, what works

To fake an official zynthian kit while reusing gear I already have as part of my GAS :sweat_smile: project, I looked for something that had at least 4 rotary encoders with switches.

I almost gave up until I remembered this gadget lurking in a corner: an original OP-1 (so not the updated Field version). And yes, it has 4 colorful rotary encoders with switches.

Is this overkill to use as a controller for a zynthian? Probably. Does it matter? Not to me, as I can still use it for other purposes and I already have it.

Recipe I have so far:

  • Connect OP-1 to Raspberry Pi (zynthian) via USB
  • Power on both OP-1 and Pi
  • Set OP-1 to COM mode: press Shift + COM
    image
  • then Choose the T2 button (the large 2 below the text CTRL) to enable MIDI controller mode.
  • Optionally configure MIDI channel as described here.

Version used:

  • Testing (vangelis) with latest updates.

What works:

  • The keyboard works for playing notes, as you’ld expect.
  • I can map the encoders to specific instrument level controls with MIDI learn.

Best regards,

Bernard

And the MIDI log below:

A Rotating encoder Column 2 Column 3 Column 4
Encoder/Switch Blue Green White Orange
Press and release MIDI CC CH#01 CONTROL_CHANGE 64 => 127 CH#01 CONTROL_CHANGE 64 => 0 CH#01 CONTROL_CHANGE 65 => 127 CH#01 CONTROL_CHANGE 65 => 0 CH#01 CONTROL_CHANGE 66 => 127 CH#01 CONTROL_CHANGE 66 => 0 CH#01 CONTROL_CHANGE 67 => 127 CH#01 CONTROL_CHANGE 67 => 0
Rotate encoder See *** below Same but CC2 Same but CC3 Same but CC4

***:
Absolute mode: CH#01 CONTROL_CHANGE 1 => (value between 0 and 127)
Relative mode, rotate left: CH#01 CONTROL_CHANGE 1 => 127
Relative mode, rotate right:CH#01 CONTROL_CHANGE 1 => 1

Yes. A ctrldev driver would allow this. Indeed it’s the right way to do it :wink:

The best,

2 Likes

Some starting points:

When the wiki refers to “the process that’s described here“ it means:

and for examples of Ctrldev Drivers:

and in this forum:

3 Likes

Thanks @jofemodo and @tunagenes for the confirmation and info, I’ll try it out.