Squarp Hapax & ROLI Lumi Keys integration

Good day!!

I have been on a two week long journey and now am here asking for guidance!

Current set up:
Squarp Hapax sequencer
ROLI Lumi Keys 24 key light-up keyboard
Bome Box
Bome MIDI Translator Pro

Situation:
The Squarp Hapax is an incredible sequencer with a Ableton Push type format pad grid that allows you to change melodic scales inside that grid effectively omitting all the incorrect notes in that melodic scale.

The Lumi Keys’ native software also allows you to to change between melodic scales and gives visual feedback via LED lighting up the corresponding ‘correct’ notes of that scale.

Currently, I have been able to successfully route the LUMI Key and Hapax into the Bome Box, giving me the ability to record and play notes into the Hapax sequencer and the Lumi Key responding visually to the notes recorded. If I record a pattern on Hapax track 1, I get the visual LED feedback of those recorded notes. If I record a pattern on track 2, I get the LED feedback from both tracks 1 and 2.

Desired effects:
A. When the Hapax changes melodic scales, I want the LEDs on the correct corresponding keys on the Lumi Keys to light up.

B. I am looking for a solution that will allow only the ‘focused’ track to give the visual feedback, not every MIDI note generated by the Hapax globally.

Issues:

  1. I am attempting to use the BomeBox and MIDI Translator Pro to monitor when the Hapax changes melodic scales, but it does not seem to register as a PC, CC, or other information from the midi out in either the 5 pin din or the USB device connection.

  2. I have been on squarp forums for weeks and have had some success learning as I go, but as with most programming when one answer is found another question is also. The thread can be found here:
    Sending messages via USB - Hapax - Squarp Forum

  3. I have attempted to use a MIDI 2.0 proxy to make this connection and have been unsuccessful. I have used ChatGPT for a lot of baseline information, and one of my queries returned a MIDI Manufacture ID for squarp as another company’s ID which leads me to believe they are using that company’s ID for beta testing. Regardless, I am unable to bridge the proper proxy to show up as a connection option for the device in Box or Translator.

Question:
Is there a way for Box or Translator to ‘listen’ for the code for the melodic scale change Hapax’s internal sysex (or other signal)? If there is, how would I go about doing it? If not, would I assume that it would be a feature request for a future Hapax update? If that is the case, I believe I won’t be sucessful in my venture as this is very proprietary and not widely requested.

Ultimately I would like all of this to happen with the BomeBox as a bridge between these devices in my DAWless standalone setup, while not only giving an exciting element to visual feedback while performing, but also giving me the opportunity to learn on a classic keyboard layout what the notes are actually to be played in that given scale, not just using a pad grid that bypasses the learning process.

Sorry for the long post, but it was the first one and I figured make it count!
Any and all suggestions or critiques would be greatly appreciated.

Thanks in advance!
Brian

Hi,

First, I don’t see any reference in either product that it supports MIDI 2.0 which is not a big surprise as although the original standard was developed, there is still much work going on in the MMA to define more details behind the standard.

Secondly, it appears that neither the Roli or Squarp have any documentation on what they send when switching scales so if you are not seeing any MIDI messages then they probably are not sending anything. Without some sort of MIDI trigger from the sender when switching scales, there would be no way to tell that the scale was switch and to what scale so no MIDI device would know what to do.

I’m afraid you will need to reach out to both Squarp and ROLI to determine what MIDI messages are send and received when switching scales. If there are no messages, you would need to ask them to implement something in a future version of their firmware.

Alternately, you could potentially just manually use a different knob or button to send scale change information. We could then use a project file running in BomeBox to take that information and format it to a form the receiver could understand.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

Thank you much for the response,

Since the Bome is already acting as a go-between for the two units, could there be some coding to get the Bome to respond to a specific sequence of notes with a specific output using an if/then statement?

‘If notes XYZ are played, output led ABC’?

Hi,

The following will take the incoming note-on 60,61, and 62 on MIDI CH 1 with any velocity and when received will send out note-on 0,1, and 2 MIDI Channel 1 with a velocity of 127 (0x7F).

You could do similar for any given sequence by adding translators with the incoming sequence you are looking for.

You could also have another translator with the same incoming sequences that clears all LED’s first. This is generally done by sending note-on with a value of 0.

If your controller sends out a series of notes any time a scale is changed, this should be a workable solution.

Sequence out on Sequence in.bmtp (779 Bytes)

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

I finally had a chance to check this out. Thank you for this by the way.

It seems that when I press note 5C on the hapax i get these messages…
Press: 91 3C 64
Release: 81 3C 00

But when I press the same note on the Lumi it returns message
Press: 94 3C 56
Press: 91 3C 56
Release: 84 3C 6D
Release: 81 3C 6D

This tells me that the 94 and 84 are the signals for the LEDs.
I am trying to re-work a string of code that will allow me to set a function that allows for once the note on/light on is received, that the light off is able to be modified to a number that i set, that allows the LED to stay on.

I have been tinkering for a few hours and figured I would post where I got.
I tried to use oo pp and qq as conditions of dynamic notes and velocities, trying to apply this across all scales while interrupting the 84 off signal or prolonging the 94 on signal with no luck.

94 for is a note-on message on MIDI Channel 5. 9 indicates note-on. 4 indicates MIDI Channel 5 (Starting with 0 for MIDI Channel 1).

The 3C is the note number in HEX so 60 decimal.

The last number pair is the velocity in Hex.

Typically a Note-on will turn on an LED and a Note off will turn it off. The velocity indicates the desired color.

A note-off in the form of 9x xx 00 will typically turn off an LED. This is a special kind of note-off. Any 9x xx yy with a yy of a value greater than 00 is a note-on.

8x xx yy is a note-off but usually will not effect and LED state so 84 3c 6d is a Note off on MIDI channel 5 note 60 (3c hex) velocity velocity 109 (6d hex).

So it appears your Lumi is actually sending out 2 note-on on push and 2 note-off on release. Both the same notes and velocities but on different MIDI channels.

To test your LED’s you can experiment with sending these messages back to your Roli and look at the lights.

On Windows, I typically use Bome SendSX to do this.

You might find this tutorial on LED feedback useful.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz
1 Like