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...
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.
>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.
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.
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.
...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 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
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.
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. :-(
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)
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.)
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.
"None of it made any difference."
I do not understand what you do but it looks like you do a lot. Keep it up :-)
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...;-)
Yay, I've finally obtained a useful new result from editing a Seeker...changing pitchbend range for "Tilt Lead" on the built-in sound. :-)
I've been using the "experimental fiddler" on the seekerData for the Tilt Lead ("pitchbend") entry, and found that the 23rd value in the decoded string changes the pitchbend range, although the way it changes it is slightly strange.
The usual value is 32, allowing you to bend up two semitones by tilting the Orba from horizontal to vertical in either direction when "Pitchbend scaling" is set to 100% in the App settings. At 50% this drops to a semitone; at 25% to something like a quarter-tone.
The widest range I've got is four semitones with a value of 0 instead of 32, with Pitchbend scaling set to 100%.
As you increase the value to a maximum of 127 the pitchbend range gradually reduces. The change in pitchbend range is continuous and non-linear. At 20 you get around three semitones; at 32 the standard two semitones, at 40 just under two semitones, and by 60 less than a semitone.
By using negative values you get a slightly odd "snap" effect. As you tilt the Orba you get a gradual pitch bend with a sudden jump to the starting note when you reach the furthest position.
I found this parameter by working along the lines described previously, by swapping a value in the seekerData string with an alternative from the set of values seen across the table shown above (in this case, changing the final 32 to a 0).
It's useful to have discovered that certain values in the seekerData string can change the effects of gestures, and the experimental chord fiddler has been invaluable here. I wish I could figure out the mapping, to get effects like the rotate-pitchbend shown in the promotional video posted earlier, if that's possible. But for now I'll carry on fiddling the seekerData strings. I haven't given up hope of tuning the Bump note.
Andrea Mannocci
This thread is intended to gather the feedback of Orba tinkerers.
29 people like this idea