Start a new topic

Searching for advanced midi implementation

I'm wondering, as a max developer, if there's a way to configure some of Orba's parameters, perhaps via SysEx. Specifically, I'm looking for a way to ensure that my app is listening for the right signals, regardless what scale a user might have selected. (Best I can do, at this moment, is ask the user to run their finger along the circle, playing all eight pads so I know which notes to expect. It's viable, but not ideal.) Likewise, being able to determine for myself which sensors are running (without relying on the user to select a particular mode) would be handy. Hopefully, it's just an unobtrusive "send this command to enter Programmer Mode" situation. But if it is, I can't find where that's documented.

1 person likes this idea

Also, this is neither here nor there, but my post included linebreaks to help with legibility, and your forum discarded them. (Your old forum respected whitespace. Why move to a system that doesn't?)

On the first, it might be looking at a MIDI mapping utility such as MidiFire, Bome (or on iOS Midiflow, but that's presumably no use for Max purposes). There may be something you can use in this thread; Artiphon's single-gesture presets look helpful, though I haven't dug into them.

Freshdesk forums are fussy about browsers. The penny only dropped that the reason the ROLI forums had been stripping out all my whitespace was that I was using the normally superpowered iCab. Safari respects whitespace and gives you all kinds of formatting options that aren't there at all in other browsers, but I haven't looked further. If you have a formatting bar in the message window it's an encouraging sign.

I've done my own MIDI monitoring, and mapped out all the signals Orba appears to be sending. I've not been successful, however, at monitoring the signals that Orba is receiving from the editor. (If I could intercept a key change, I could trigger one, and be a lot closer to knowing what pitches to expect back) Again, knowing which signals are active in each of the four modes is different from having a consistent set of signals to count on.

1 person likes this
Orba is sending the midi controllers as described in the manual. When monitoring the midi there is a lot of controllers at the same time so it is hard to discern them. The sensors are very sensitive so when do a radiate gesture (cc74) there is likely also a little vibrato (pitch bend), some spin (cc112), move (cc113) all at the same time. For that reason we will release a Max for Live mapping utility that also allows to adjust the ranges.

If you would like to preview the Max for Live Utility before we release it, you can download it here:

Artiphon Orba Max for Live Utility

1 person likes this

As Nick mentioned above, we have some single gesture presets available here:

Orba Downloads

Let's use the max for live utility to better illustrate the problem.

The mappable sources are:

  • "Radiate" (CC#74)
  • "Tilt" (CC#1)
  • "Spin" (CC#112)
  • "Press" (channel aftertouch)
  • "Vibrato" (pitch bend)
  • "Move" (CC#113)
  • "Shake" (CC#2)
  • "Bump" (your patch also generates an envelope based on note #39 sounding)

If I'm in Drum Mode, those first five do nothing.

If I'm in Bass or Chord Mode, there's no Vibrato.

The full set of parameters is only available in Lead Mode.

Here's the thing.  I don't know that the user is in Lead Mode.

Reasons the user might not be in Lead Mode:

  • they found the pentatonic scale limiting
  • they turned on their controller, and it defaulted to Drum Mode

Let's focus on that last one for a moment.

If they just turned on their Orba, it defaults to Drum Mode, where five degrees of expression are effectively broken in this patch.

Radiate, Tilt, Spin, Press, and Vibrato.  All disabled.

What you want, when you open a patch, is the other thing.

(Y'know.  Unfettered access to sensor data.)

(...for the patch to work.)

1 person likes this

To some degree, this does give me my working orders.  Just require that the user be in Lead Mode.

...and if I care about tracking which buttons are pressed, I need insist that they remain in C Major.  Or provide a "press every note so I know which scale you're using" mechanism.

Fair enough.

...until a new set of presets change these requirements.

Then, evaluate whether or not I need to rewrite everything.

Worth reiterating, I don't think you're going to be able to add "Slide" to that max for live device, through this approach.  You're basically dancing on the edge of a level of complexity which requires bidirectional communication to let apps manually enable or disable these features as needed.

We are planning to keep the gestures and their mapping as consistent as possible while adding new features as they come in. 

1 person likes this

The Slide gesture will be added as a separate gesture with its own default midi cc. We did not get to do that yet. The cc's are planned as midi cc114 (slide distance) and midi cc115 (slide velocity)- but since we have not released that yet it may have to change for unexpected reasons.

2 people like this

Side note:
Your device is producing error messages in the max console.  The cause is in your [press] subpatch.  Bottom-right corner.


(that inlet is for limiting which ports and channels [notein] listens to.  which is a thing in the max runtime, but your MIDI stream is already filtered down by Live itself, so whatever.  honestly, I'm a little surprised that max for live even reads that inlet.  anyway, you're feeding in raw MIDI bytes.  it's not expecting those.)

Thanks! We’ll have a look.

1 person likes this

Aaron, try this new version for the Orba Max for Live device, if you like:

Orba Max for Live Utility 1.1

Login or Signup to post a comment