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:
Found these nuggets :) These could be very useful..
https://storage.googleapis.com/orba_firmware_updates/appcast_fw.xml
https://storage.googleapis.com/orba_software_updates/appcast_beta.xml
Tilt Lead is quite minimal from an XML perspective, so maybe the Seekers/Modifiers are not totally distinct and there is some overlap?
@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.
...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.
Adding these to check for correlations.. @BJG145 Are Radiate & Bump really both Index 9?
From the Orba Manual:
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.
Wow.
There is something curious about the highlighted area.. pattern for a gesture is either 00000, 20011 or 31111. In one case it is 31110.
The three entries with a 3 at index 9 are Radiate, Press and Vibrato; the three axes of touch.
@BJG145 Hoping you have Excel.. Here is a spreadsheet (with formulas which completely validates the 8-byte note structure)
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?
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");
@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.
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
Andrea Mannocci
This thread is intended to gather the feedback of Orba tinkerers.
28 people like this idea