Start a new topic

Orba hacking knowledge base

This thread is intended to gather the feedback of Orba tinkerers.


28 people like this idea

I setup a song with these nodes edited like this:

<Mode name="Drums" quantizationMode="0" volume="200">
...
<Mode name="Bass" quantizationMode="1" volume="200">
...
<Mode name="Chords" quantizationMode="2" volume="200">
...
<Mode name="Lead" quantizationMode="3" volume="200">

 The icons from above appeared in the Orba App:

image

image

image


Now I need to test the relationship between the hardware setting and the software settings.. Its hard with a small quantize adjustment like 1/16th note. I think using a slow tempo its easier to be "off"


1 person likes this

1 person likes this

Tilt Lead is quite minimal from an XML perspective, so maybe the Seekers/Modifiers are not totally distinct and there is some overlap?


1 person likes this

@BJG145 said: " I don't know if you might have a clearer idea what kind of differences there are...?"

Unfortunately, I don't. I can tell you that this .bin file is likely just a memory dump that can be downloaded/uploaded from/to the device. It definitely contains what I would consider compiled C code. Disassembling compiled C would be almost as cryptic as the bin itself. It might be best to hunt through the bin file looking for any bytes that hold the values 120, 240 or 240. It might be possible to zero in on where the default values are defined. Since this is C, there won't be any indication of variable names so we need to hunt by value rather than by name. There are likely numerous hits if you search for those bytes, but if we're lucky they might appear close together which would be an area of the code where all these variables get initialized. 


1 person likes this

...as you say, there's more going on with the pitchbend, with detuned notes etc. Maybe the three rows 15-17 all have some effect on start/finish/range etc.


1 person likes this

Adding these to check for correlations.. @BJG145 Are Radiate & Bump really both Index 9?


From the Orba Manual:

image

image



1 person likes this

The gestures with zero at index 9 are Tap Lead, Tap Chord, Bump and Shake; Events which produce notes. 


The gestures with 2 at index 9 are Tilt, Spin, Move, Shake CC; Metrics which produce modulation.


1 person likes this

Wow.


1 person likes this

image


There is something curious about the highlighted area.. pattern for a gesture is either 00000, 20011 or 31111. In one case it is 31110.


1 person likes this

The three entries with a 3 at index 9 are Radiate, Press and Vibrato; the three axes of touch.


1 person likes this

@BJG145 Hoping you have Excel.. Here is a spreadsheet (with formulas which completely validates the 8-byte note structure)

xlsx
(11.7 KB)

1 person likes this

Notice the 112 and 113 under Spin and Move. These correspond with the CC numbers for the Orba Manual. 


Could you add a few extra columns to your spreadsheet (Index for 0-n and Comments to record what we think that index does). I think I'm starting to see some of what might be going on here. Can you share up the updated csv file so I can add to it?


1 person likes this

The Chord Editor specifically sets those values (11 & 32). Here is that section of code:

   

tmpModifierArr[0] = 2; // Modify required ModifierData pointers to apply note offsets

// Modify required SeekerData pointers to apply note offsets
let seekerDataNode = doc.documentElement.getElementsByTagName('SeekerList')[0].firstElementChild;
tmpSeekerArr = fromBase64(seekerDataNode.getAttribute('seekerData'));
tmpSeekerArr[1] = 11;
tmpSeekerArr[4] = 32;
seekerDataNode.getAttributeNode('seekerData').value = toBase64(tmpSeekerArr);	

modifierDataNode.getAttributeNode('modifierData').value = toBase64(tmpModifierArr);
modifierDataNode.removeAttribute("modifierUuid");
modifierDataNode.removeAttribute("gestureUuid");
modifierDataNode.removeAttribute("uuid");

   


1 person likes this

@BJG145 I notice when you press in 'e' in the serial log that you received:

 Detected HW Version: 0


However I receive

 Detected HW Version: 1


I wonder if I have newer hardware since I only got my Orba 1 a few months ago? 


Also I found you get the detailed event log data when you are playing back a song.


1 person likes this

Okay now I'm thinking that Looper Configuration Values are not in the Event Data BUT I think I now know the message format for CC and PB but I need to prove this out.


Theory: Note is 16, CC is either 20 or 23. In the example I looked at 20 is bound to CC:225 and 23 is bound to CC:74 (possibly via ccB from Looper Config)


CC messages require 4 bytes: 20|23, startTickLSB, startTickMSB, Value

PB messages appear to be 6 bytes: 21, startTickLSB, startTickMSB, unused, valueLSB, valueMSB


1 person likes this
Login or Signup to post a comment