At least I've become an expert in flashing dead Orbas. I just revived another £30 one to replace the one I pulled apart. I'm planning to try actually playing them at some point...;-)
"None of it made any difference."
I do not understand what you do but it looks like you do a lot. Keep it up :-)
So...after all that, I just tried the following experiment. Tilt lead does bend on Tilt, and some other filtery effect on Radiate.
First make a copy of the preset with a Modifier/Seeker list for just Tap, Tilt and Radiate. Then:
1) Swap the values of gestureUuid between the Tilt and Radiate gestures
2) Swap the values of seekerUuid
3) Swap the values of seekerData
4) Combine 1 and 2
5) Combine 1 and 3
6) Combine 2 and 3
I tried this with and without editing uuid to force a "refresh", and used new file names each time. None of it made any difference.
The ModifierData and ModifierUuid values for these two are the same anyway, so I'm out of ideas. I'm starting to think maybe we're not playing with a full deck, and some of the values aren't going to do anything when changed in the Preset XML, like that intervals list.
The Modifier data list from Tilt lead all seems to match the one from the utility presets above. There's also Tap, which matches SHake CC from the utility presets.
(Hope you don't mind this data dump, it's kind of helping me get my thoughts straight, I think.)
seekerUuid comparison from Tilt Lead, based on matching the GestureUuid from the utility presets:
bump / tap (as above, shake note missing)
accc8538-d6cf-4b68-88f2-b99400fad3d1
tilt (move missing, matches vibrato above)
6e2b617b-4c1e-4752-96fb-2ac707909aad
spin / radiate / shake cc (matches move / tilt above)
1cc30432-c214-4c6a-97ab-491975e412d6
press (as above)
64358c1f-2ef5-4fd0-b3fd-ad8c4f93b839
(no vibrato)
There's a problem in that the utility presets are based around CC output instead of synth output, because that's what I'm mainly interested in. So I'm not sure how useful this data will be in that respect. Maybe I should start again, referring to the Lead presets instead. :-(
Quick undecoded seekerUuid comparison from the utility presets. (At the moment I'm basically trying to understand the structure of the Modifier/Seeker pairs in order to try and construct a different one.)
bump / tap / shake note
accc8538-d6cf-4b68-88f2-b99400fad3d1
move / tilt
1cc30432-c214-4c6a-97ab-491975e412d6
spin
2cc30432-c214-4c6a-97ab-491975e412d6
radiate
3cc30432-c214-4c6a-97ab-491975e412d6
shake cc
4cc30432-c214-4c6a-97ab-491975e412d6
press
64358c1f-2ef5-4fd0-b3fd-ad8c4f93b839
vibrato
6e2b617b-4c1e-4752-96fb-2ac707909aad
*************************************************
The fact that bump, tap, and shake note all share the same value seems to make sense; they all do the same thing. They all play a note.
Interesting that move/tilt share a value, then spin, radiate and shake cc all just increment the first character; 1, 2, 3, 4. The rest of the string is shared.
Press and Vibrato are outliers.
I haven't decoded them yet, but here's a glance at the ModifierData for the utility presets. All the Metrics have the same pattern, while the Events add a bit of extra data.
Spin
Radiate
Press
Move
Tilt
Vibrato
Pitchbend
AAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAABAAEAAA
Shake CC
AAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQgAAAAEAAAAAAAAAAABAAEAAA
Bump
AAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAACQEAAAAEAAAAAAAAAAABAAEAAA
Shake Note
AAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAACgEAAAAEAAAAAAAAAAABAAEAAA
...just realised I was getting confused about this "effect" thing. It seems to be a gesture like the others after all...?
I'm not sure how it's supposed to work. Is it a kind of shake...? The notes in Ian's repo say:
<!-- vibrato [pitch wheel] -->
...as if it's a MIDI input or something.
I guess we could think of the SeekerData from the Tilt Lead preset as Pitchbend, which I've added here.
It follows the same general pattern. It's an effect like Vibrato. This pair have several shared values (63, 29, 76, -128) that set them apart from the others.
Here's the XML for the library definitions in the app code, and a full log from flashing a working Orba from a file.
The Tuning library is the only one that's populated with values; the others look blank. There are some XML tags we haven't seen in the presets such as:
<DevicePreset tuning="Dorian" key="C" />
...from the Preset library.
>You can modify the experimental Fiddler by changing the Base64 string at line 502
It’s useful to know how to fiddle other values. I just decoded the SeekerData strings for the gestures in the utility presets.
Tap, Bump and Shake are the kind of single-value things that appear in the app code as “Events”, whereas Tilt, Spin, Radiate etc can have a range of values and appear as “Metrics”. Events start with 0, and Metrics start with 1.
Vibrato is different from the others because it’s an effect, whereas the others are gestures. The fourth value from the end here is -1, whereas all the others are 127.
The second value shows the most variance. The rest either have the same value across all the examples, or a selection from up to four options, eg:
0 or 4
0 or -128
1 or 8
0, 2, 3
When experimenting with new values, I guess it would be sensible to start by picking one of these common ones, and one that’s relevant to the type; eg changing one of the 8s to a 1. The second value looks like a good place to start.
The app code has several separate sections of XML. The purpose of these is to define various "libraries" - a "Tuning Library", a "Pattern Library", a "Preset Library" and a "Sound Library".
I was previously able to get results from changing the intervals list in the app's Tuning Library that I wasn't able to get by changing it in the preset XML, so I was wondering if we might also be able to get new results by hacking the other libraries.
I've imagined adding Tilt to a voice to control pitch (not sure if even possible). The idea is that you could get many more notes in a scale knowing that tilting the Orba to its side would flatten all the notes a semitone.
That's a neat idea. You can bend the notes quite accurately up and down a tone by turning the Orba vertically. Here's a quick sample recorded from the headphone jack.
I'm wondering what scale would provide the most tonal variety within the limit of a whole-tone bend...
...just to add @Subskybox's comment from the Utilities thread to this for reference...
My thinking is that there are some characters in the Seekers that are pointers into Orba memory. It applies the ModifierData bytes to the location pointed at by the corresponding Seeker. (This is my theory so far).
Andrea Mannocci
This thread is intended to gather the feedback of Orba tinkerers.
29 people like this idea