Start a new topic

Orba hacking knowledge base

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


28 people like this idea

>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.


image



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.

 

 

 

 

csv
(750 Bytes)

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...;-)

 

Here is what I describe above..


SampleOrba-Tilt-OneTimeVibrato

> I think I can confirm that Spin Pitchbend will never work


You may be right. I'm interested in tilt/movement sensors and vaguely aware of ideas like 6DoF sensors (six degrees of freedom) that can measure linear and angular acceleration in three axes each.


 Accelerometer and Gyroscopes Sensors: Operation, Sensing, and Applications


https://industrial.panasonic.com/ww/products/pt/6dof-inertial-sensor


I guess the Orba probably has a 6DoF sensor, or separate 3DoF accelerometer/gyro or whatever. They seem to be square, blocky components. I haven't been able to identify any specific type on the PCB, though I'm wondering if they might be one of these...


image


I was aware that these things generally seem to measure velocity, so I didn't understand how they could measure static values like the "Tilt" metric evidently can. But apparently it's to do with gravity.


https://www.hobbytronics.co.uk/accelerometer-info


 Sadly gravity doesn't help with rotation, so measuring static angle is more tricky. It can be done, but seems to require a different kind of sensor, which the Orba might or might not have.


https://www.ti.com/lit/an/sbaa503/sbaa503.pdf?ts=1655917586951&ref_url=https%253A%252F%252Fwww.google.com%252F#:~:text=Using%20Hall%2DEffect%20Sensors,-Scott%20Bryson&text=Hall%2Deffect%20sensors%20are%20a,insight%20to%20the%20device%20configuration.





My understanding about finger position is that Radiate provides a value (up/down on Pad) and Vibrato provides a value (left/right on Pad). These two values could be mapped to two parameters making every movement on the Pad significant. There is also a Vibrato sound similar to Tilt Lead.. I think its natively in the Bass Presets or maybe I downloaded it. I intend to document what gets output in the future but I think Artiphon updated the User manual to already include this information. 

What kind of port is that at J1? It looks like you could plug-in and maybe get some debug info?

...that's where the main board plugs into the touch sensor. (That's an excellent piece of design; not easy to calculate velocity, pressure and position from a capacitive-touch sensor. No wonder it needs its own separate processor and firmware. The only similar thing I've seen is the Snyderphonics Manta.) 


That patch you posted is weird; it divides the pads down the middle with a three-semitone drop the first time you cross from one side to the other.

You can control the 3 semitones up/down by editing the 32 value at index 23 (I believe)

I'm starting to lose the plot; will need to revisit later. I did have a thought, which is that it was interesting that this patch seemed to have doubled the circular resolution from 8 to 16...and I wondered if the value you'd changed was one that was usually an 8. I don't think it was...? But nevertherless, looking at row 5 in that data table...


image


...it's interesting that Tap, Radiate, Press and Vibrato have 8, whereas the rest have 1. Which is presumably because the end result of Tap, Radiate (and Vibrato?) depend which pad you start with, whereas the others, like Tilt and Bump, don't.


So that's probably what all the 8s are about. Perhaps there's scope for other values.

...I then wondered if touch-based gestures had a final zero, while movement-based gestures had a final 4. The exceptions to that would be "Bump" and "Shake note", which are calculated from movement rather than capacitive-touch, although they do play a note like "Tap".

I recommend comparing the Tilt Lead SeekerData against the Weird Lead SeekerData. I don't remember what I did.. I was just noodling around and stumbled on the weird behavior.

I was puzzled when I was trying to find out what caused the pads to split. I couldn't seem to recreate the effect, and the only value that you'd changed was the same one I was using for pitchbend; 32 to 30 in this case IIRC.


I finally realised that the difference was the starting preset. If you swap out the SeekerData in the Tilt Lead preset, you just get the pitchbend. But if you swap it out in any of the other standard Lead presets, you also get the weird pad-split behaviour. So, something else on the to-do list is finding what's different in Tilt Lead compared to the others that causes that.


Another observartion is that the only difference between 1981 and your weird pad-split-pitchbend patch was that single SeekerData value. I usually keep the original Modifier/Seeker pair from Tilt Lead intact, but if you simply swap that one seekerData value out in one of the regular patches you get a different pairing with the corresponding ModifierData entry. 


Having said that, the only difference in this case is seekerUuid, and after my last experiments with that I'm not convinced it's doing anything anyway. But it's worth bearing in mind that some of the ModifierData entries among the Lead preset gestures are different, and might also come into play when fiddling other Seekers. (In this case, Tilt Lead has a standard/basic ModifierData entry which still matches the other examples like 1981.)

...I just found that whether you swap just the one seekerData value or the whole Modifier/Seeker pair into a regular Lead preset, you still get the pad-split behaviour. So there's something else about the Tilt Lead preset that suppresses that.

...quick note about the "weird" patch; it's slightly more complicated than I realised.


If you touch and bend, it goes up and down a tone.


If you touch and cross, it drops three semitones.


If you bend after crossing, it jumps back up the three semitones at a slight angle, then continues to bend up another tone, and down a tone.


********************************************


Looking at differences in Tilt Lead, I previously mentioned that it had a...


<SynthPatch>

</SynthPatch>


...pair, while the others were't closed. I don't really like them not being closed. I tried closing one, not expecting it to make a difference, but it did seem to; it seem to cancel out the weirdness. At one point I just got a vibrato from sideways movement that I wasn't really expecting. 


But the App likes to rebuild stuff according to its own ideas. If you delete a standard preset and run the App, it puts it back. When I added a closing </SynthPatch>  to one of the Lead Presets that was missing one, it seemed to kind of dumb it down, like I say; but then by the time I'd opened a different patch and then opened the newly "fixed" one, the </SynthPatch>  line had gone again.


It stays put in Tilt Lead though, because the App likes it how it is. 


I don't really trust the dodgy XML or the App's propensity to mess around with it. In future I might just work with renamed presets that it doesn't know about and hope it leaves them alone.  

...actually I think it still tinkers with newly named patches too. Dunno, it's slightly confusing. Maybe it doesn't matter for now. 

Login or Signup to post a comment