Start a new topic

Orba 2 Hacking Knowledge Base

image

This forum is intended to share Orba 2 hacking tips amongst the Orba 2 community. NOTE: Please post facts that are well understood & useful. If you have theories to discuss, please start another forum and link to it here.


2 people like this idea

I found this image online:

image

I'm trying to see if there is a way to split these arrays that might correspond. One way to split them as you suggest is like this:


Drum:

AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEEAQEBAQE=

[1,

 1,1,1,1,1,1,1,1,

 1,1,1,1,1,1,1,1,

 1,1,1,1,1,1,1,1,

 1,1,1,1,1,1,1,1,

 1,1,1,1,1,1,1,1,

 4,1,1,1,1,1]


Lead & Bass:

AQUFBQUFBQUFAQEBAQEBAQEBAQEBAQEBAQYGBgYGBgYGAQEFAQEBAQEEAQEBAQE=

[1,

 5,5,5,5,5,5,5,5,

 1,1,1,1,1,1,1,1,

 1,1,1,1,1,1,1,1,

 6,6,6,6,6,6,6,6,

 1,1,5,1,1,1,1,1,

 4,1,1,1,1,1]


Chord:

AQUFBQUFBQUFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEFAQEBAQEEAQEBAQE=

[1,

 5,5,5,5,5,5,5,5,

 1,1,1,1,1,1,1,1,

 1,1,1,1,1,1,1,1,

 1,1,1,1,1,1,1,1,

 1,1,5,1,1,1,1,1,

 4,1,1,1,1,1]


I'm not quite sure if this is correct?! One thing is for sure, don't spend any time trying to find patterns in the Base64 string. I went down that rabbit hole last year and any patterns you find are just coincidence. The magic is in the number arrays somewhere..

Basically, from a looping state, two partitions are accessible to Windows. (You can get to the main boot partition by letting the loop time out, and you can get to the fallback boot partition by  wiping the main boot partition.)

There's also a third one that's also accessible to Windows using a hack, but not while it's looping...and that's the one where the problem lies. That's the one with the definition of the rogue failed preset that causes it to reset. That's my theory. I no longer have mine, I sent it back to Gear4Music for (unsuccessful) repair, but I don't think running the battery down will help because as soon as it comes back online again it'll still be tryintg to load the same dodgy preset from solid state memory in the inaccessible third partition.


It's had it.

Just an observation from my experiments with chord presets:

If you remove the chord offset lists by removing the the whole ModifierEntry section (being careful not to break the xml formatting) you get what is effectively another lead voice - with polyphonic capability, but without gestures (although I suspect it might be possible to add that).

The preset seems to work in songs OK, so could be useful for some songs where the chord presets are too limiting, although it keeps you down to notes in one octave. If using a SynthPatch section from a lead you may want to lower the volume in the patch for the best effect.

Last night I was playing about with Orbasynth trying to create a particular sound but what I was got to instead was a harmonica sound.

Today I decided to see how well it would work with pitch bend and tried some presets for the Orba 2.


One observation was that using pitch bend with the MPE Y setting was by far the best way of getting a realistic blues harp sound - however, as was discussed in an Orba 1 thread on pitch bend, it is also prone to creating a cacophony when two discordant notes are sounding at the same time. (MPE Y changed the pitch by moving the finger from close to the centre of the Orba towards the circumference and vice versa)

Using MPE X was good to use at all, I felt. 

Another thing was that I found the best way of using tilt was by holding the orba facing me and vertical. The scale was diatonic in C but I was effectively playing in D and using tilt to lower the pitch.

The pitch thing  also worked  well on the keys.


This begs the question - is it possible to reverse the actions of gestures? I mean making the effect on by default and diminished by the gesture. I've not worked out if I can get a viable gesture to go from below the true pitch to above it, and if that is actually practical - I suspect it might not.


SInce the voice I have seems to be pretty good I will experiment with it to see if I can make a good preset without pitch bend. But I would be interested if anyone wanted to try them and comment.

I have made two versions (both with the same id and hash so they can just be written over by the other.

v1 uses the tilt gesture, v2 uses movement on the keys. These versions are not the finished things.

zip
zip

Stubbornly I'm not convinced the problem lies in the partition (if that's what it is) where the user presets etc. are stored. A bad preset either doesn't show up on the Orba or if it does, only causes a problem when one attempts to play it. But it's almost impossible to tell where the problem is. I wonder whether my experiments have caused the system to write or otherwise  corrupt data elsewhere. But I accept that my Orba has probably had it and I don't really hold hope to save it. I still have one or two ideas to try but with no good expectations.


Having got hold of a B stock Orba now - I've been alerted to an important issue - just as Gear4Music couldn't repair your Orba, retailers aren't in a position to reset a returned product - they should be able to do this, Artiphon should be able to provide retailers the means to do it (and have something similar to help end users with). There's a customer privacy issue here, my new acquisition came with presets the previous owner had made sampling his own voice. They shouldn't be there - they weren't, but they could have had, offensive content. And that's another important issue - especially for something that might be bought for the use of young people.


Having worked in a related retailer area I'd be really unhappy dealing with a company that potentially puts me in that sort of problem. Apart from the fact that I came to feel that any product that got returned wasn't worth having sold in the first place. 


The "new" Orba seems to be fine, so that's a positive at least and it will be treated more gently!

Here is the Mac version of the one-liner to Download all Factory Samples. It should work for a standard Mac setup (although I haven't tested because I have downloaded GNU tools)

for i in `curl https://storage.googleapis.com/factory_content_sample_pools/ | grep -oE '<Key>.*?</Key>' | sed -e 's/<[^<>]*>//g' ` ; do echo --- $i ---; curl https://storage.googleapis.com/factory_content_sample_pools/$i -o $i; done


While I was working on the tool above, I wanted people to have a way to make custom scales. I did this by setting all the offsets for each pad to the same number. For example:

<ChordModifierParams
 majorChordList="0, 0, 0, 0; 0, 0, 0, 0; 0, 0, 0, 0; 0, 0, 0, 0; 0, 0, 0, 0; 0, 0, 0, 0; 0, 0, 0, 0; 0, 0, 0, 0; " minorChordList="..."/>

..And in this case (for C Major) it would produce:


C,C,C,C  [0,0,0,0]

D,D,D,D  [0,0,0,0]

E,E,E,E   [0,0,0,0]

F,F,F,F     [0,0,0,0]

G,G,G,G [0,0,0,0]

A,A,A,A  [0,0,0,0]

B,B,B,B  [0,0,0,0]

C,C,C,C [0,0,0,0]


Orba will not allow to play the same MIDI note twice so you basically get one note. This can be used to make any scale you want or even shift by half octaves. What I found out after a while as that by doing this that it is still monophonic. It was the presence of the ModifierChain that forced it to monophonic. You can drop a Lead voice into the Chord folder and it will work.


There were two more bytes that I had to modify to make a Bass or Lead pickup the Modifier Chain and they had to do with the first Seeker (a.k.a. SeekerType="Note")

@Subskybox - I appreciate your reply, especially the warning about the Modifier Chains. I wasn't going to touch that section in the xml for now - but I might have in desperation to get something to work! With the mod entries  in the synth patch I have been copy and pasting entries from elsewhere and perhaps changing  values that have been used elsewhere. (and much the same with Seekers.)

I had seen Ian Walbachs  list and am currently trying to get an understanding of the seekers and this has helped - I'd like get to a point where I have the equivalent for the Orba 2.


By the way, I did have a thought about a glitch  with pitch bend that you or Ignis (I think) mentioned in the Orba 1 hacking thread - I wondered whether this could be a Y2K type problem - where when a value gets to a level where more bits are used they get misread. ie: if the program expects 4 bits but gets 8 it ignores the 4 high values, or perhaps only accepts them and ignores the lower bits. But that might be just my imagination running wild!



Yes, I had been trying to make a chord preset which would emulate a mountain dulcimer which has two drone strings and two strings in unison for melodies and is fretted for a diatonic scale.  My attempts failed and I had thought this was either because I had settings for two notes the same or because the overall (or perhaps partial) range was over some limit (possibly two octaves). I discounted the first option, except that it seemed to result in the monophonic effect sometimes. 

I noted that some of the factory presets set two notes the same - so maybe you can get away with two notes set the same , but with three or more you get the error? The range issue I put down to a protection against having a setting that would try and play notes outside the range the Orba can handle.

I have one last idea to try and get what I was trying to achieve but if that fails I will abandon the plan. 


I reported the chords as a second lead preset effect because I felt it could be useful and fairly straightforward to implement.


BJG145 noted a similar sort of thing that made the lead behave like a chord preset. I confess I wasn't sure about that - it seemed unlikely to me that the seeker entry would do that. But I haven't experimented with it - it didn't seem to me to have an advantage to it.

@Subskybox - and I should have said that your Pandrum preset is really nice - it has become my default preset - because it's the most fun to play.

Oh, and yesterday I noticed that all the inMax and outMax values used for pitch bend that I have found seem to vary by 171 or multiples of it. Not entirely certain what that means though. (I had expected that they might be on an exponential curve. I had wondered whether the changing the bezier curves might help produce a more natural sounding pitch bend - but my maths  isn't anywhere near good enough to even think of trying to change them!)

I'm also looking at BezierCurvesEntry which has 7 unique Base64 strings:

bezierCurvesData="AAAAAAAAAABx9ChGcfQoRnH0qEZx9KhGAP7/RgD+/0YAAAAAAAAAAHH0qEaOj21EUt/6Ru1F4UUA/v9GAP7/RgAAAAAAAAAAZ5gZRsLVo0N7UDhGUt/6RgD+/0YA/v9GAAAAAAAAAABx9ChGcfQoRnH0qEZx9KhGAP7/RgD+/0YAAAAAAAAAAHH0KEZx9ChGcfSoRnH0qEYA/v9GAP7/RgAAAAAAAAAAcfQoRnH0KEZx9KhGcfSoRgD+/0YA/v9GAAAAAAAAAABx9ChGcfQoRnH0qEZx9KhGAP7/RgD+/0YAAAAAAAAAAHH0KEZx9ChGcfSoRnH0qEYA/v9GAP7/Rg=="/>
bezierCurvesData="AAAAAAAAAAAbIdtFuHmURkLVY0atYNBGAP7/RgD+/0YAAAAAAAAAAHH0qEajwHVEUt/6Ru1F4UUA/v9GAP7/RgAAAAAAAAAAZ5gZRtDVo0N7UDhGUt/6RgD+/0YA/v9GAAAAAAAAAAC+J5xGwtWjQ6PA9UbC1SNEAP7/RgD+f0YAAAAAAAAAAHH0KEZx9ChGcfSoRnH0qEYA/v9GAP7/RgAAAAAAAAAAcfQoRnH0KEZx9KhGcfSoRgD+/0YA/v9GAAAAAAAAAABx9ChGcfQoRnH0qEZx9KhGAP7/RgD+/0YAAAAAAAAAAHH0KEZx9ChGcfSoRnH0qEYA/v9GAP7/Rg=="/>
bezierCurvesData="AAAAAAAAAABx9ChGcfQoRnH0qEZx9KhGAP7/RgD+/0YAAAAAAAAAAHH0qEajwHVEUt/6Ru1F4UUA/v9GAP7/RgAAAAAAAAAAZ5gZRtDVo0N7UDhGUt/6RgD+/0YA/v9GAAAAAAAAAAC+J5xGWDKiQ00x80aspBtEAP7/RgD+f0YAAAAAAAAAAHH0KEZx9ChGcfSoRnH0qEYA/v9GAP7/RgAAAAAAAAAAcfQoRnH0KEZx9KhGcfSoRgD+/0YA/v9GAAAAAAAAAABx9ChGcfQoRnH0qEZx9KhGAP7/RgD+/0YAAAAAAAAAAHH0KEZx9ChGcfSoRnH0qEYA/v9GAP7/Rg=="/>
bezierCurvesData="AAAAAAAAAAAbIdtFMDiURifIY0atYNBGAP7/RgD+/0YAAAAAAAAAAHH0qEaNj21EUt/6RutF4UUA/v9GAP7/RgAAAAAAAAAAZ5gZRsLVo0N7UDhGUt/6RgD+/0YA/v9GAAAAAAAAAAC+J5xG0qujQxe69UYNBCNEAP7/RgD+f0YAAAAAAAAAAHH0KEZx9ChGcfSoRnH0qEYA/v9GAP7/RgAAAAAAAAAAcfQoRnH0KEZx9KhGcfSoRgD+/0YA/v9GAAAAAAAAAABx9ChGcfQoRnH0qEZx9KhGAP7/RgD+/0YAAAAAAAAAAHH0KEZx9ChGcfSoRnH0qEYA/v9GAP7/Rg=="/>
bezierCurvesData="AAAAAAAAAABx9ChGcfQoRnH0qEZx9KhGAP7/RgD+/0YAAAAAAAAAAHH0qEaNj21EUt/6RutF4UUA/v9GAP7/RgAAAAAAAAAAZ5gZRsLVo0N7UDhGUt/6RgD+/0YA/v9GAAAAAAAAAAC+J5xGWDKiQxe69Ub/LSNEAP7/RgD+f0YAAAAAAAAAAHH0KEZx9ChGcfSoRnH0qEYA/v9GAP7/RgAAAAAAAAAAcfQoRnH0KEZx9KhGcfSoRgD+/0YA/v9GAAAAAAAAAABx9ChGcfQoRnH0qEZx9KhGAP7/RgD+/0YAAAAAAAAAAHH0KEZx9ChGcfSoRnH0qEYA/v9GAP7/Rg=="/>
bezierCurvesData="AAAAAAAAAAAbIdtFMDiURifIY0atYNBGAP7/RgD+/0YAAAAAAAAAAHH0qEaNj21EUt/6RutF4UUA/v9GAP7/RgAAAAAAAAAAZ5gZRsLVo0N7UDhGUt/6RgD+/0YA/v9GAAAAAAAAAAC+J5xGWDKiQxt/9UaspBtEAP7/RgD+f0YAAAAAAAAAAHH0KEZx9ChGcfSoRnH0qEYA/v9GAP7/RgAAAAAAAAAAcfQoRnH0KEZx9KhGcfSoRgD+/0YA/v9GAAAAAAAAAABx9ChGcfQoRnH0qEZx9KhGAP7/RgD+/0YAAAAAAAAAAHH0KEZx9ChGcfSoRnH0qEYA/v9GAP7/Rg=="/>
bezierCurvesData="AAAAAAAAAABx9ChGcfQoRnH0qEZx9KhGAP7/RgD+/0YAAAAAAAAAAHH0qEaNj21EUt/6RutF4UUA/v9GAP7/RgAAAAAAAAAAZ5gZRsLVo0N7UDhGUt/6RgD+/0YA/v9GAAAAAAAAAABx9ChGcfQoRnH0qEZx9KhGAP7/RgD+/0YAAAAAAAAAAHH0KEZx9ChGcfSoRnH0qEYA/v9GAP7/RgAAAAAAAAAAcfQoRnH0KEZx9KhGcfSoRgD+/0YA/v9GAAAAAAAAAABx9ChGcfQoRnH0qEZx9KhGAP7/RgD+/0YAAAAAAAAAAHH0KEZx9ChGcfSoRnH0qEYA/v9GAP7/Rg=="/>

Each decode to 256 values. Here I split the last one in groups of 8:


0,0,0,0,0,0,0,0,

113,244,40,70,113,244,40,70,

113,244,168,70,113,244,168,70,

0,254,255,70,0,254,255,70,

0,0,0,0,0,0,0,0,

113,244,168,70,141,143,109,68,

82,223,250,70,235,69,225,69,

0,254,255,70,0,254,255,70,

0,0,0,0,0,0,0,0,

103,152,25,70,194,213,163,67,

123,80,56,70,82,223,250,70,

0,254,255,70,0,254,255,70,

0,0,0,0,0,0,0,0,

113,244,40,70,113,244,40,70,

113,244,168,70,113,244,168,70,

0,254,255,70,0,254,255,70,

0,0,0,0,0,0,0,0,

113,244,40,70,113,244,40,70,

113,244,168,70,113,244,168,70,

0,254,255,70,0,254,255,70,

0,0,0,0,0,0,0,0,

113,244,40,70,113,244,40,70,

113,244,168,70,113,244,168,70,

0,254,255,70,0,254,255,70,

0,0,0,0,0,0,0,0,

113,244,40,70,113,244,40,70,

113,244,168,70,113,244,168,70,

0,254,255,70,0,254,255,70,

0,0,0,0,0,0,0,0,

113,244,40,70,113,244,40,70,

113,244,168,70,113,244,168,70,

0,254,255,70,0,254,255,70


There's definitely some patterns here. I'm not really sure what these do yet but I'm going to try to build a list of Preset types/names that use each of the 7 strings to look for patterns.

>> wouldn't mess with the Modifier Chains unless you really know what you are doing.


Actually,   I guess that's a Vietnam flashback from Orba1,  I've looked into presets I have on hand for Orba2 and there are no ModiferChains with modifierdata encoded stuff anymore. Could not find even one.


However we still have these cryptic curves data to be scared by.


Ive found only two unique values for event_curve_assignments_entry.curveAssignmentsData 


AQEBAQEBAQEBAQEBAQE=


AQEBAQEBAQEBAQQBAQE=


These mean the following in hex:


0101010101010101010101010101

0101010101010101010104010101



for gesture_curve_assignments_entry.curveAssignmentsData  there are 4 unique variants:




AQUFBQUFBQUFAQEBAQEBAQEBAQEBAQEBAQYGBgYGBgYGAQEFAQEBAQEEAQEBAQE=


AQUFBQUFBQUFAQEBAQEBAQEBAQEBAQEBAQMDAwMDAwMDAQEFAQEBAQEEAQEBAQE=


AQUFBQUFBQUFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEFAQEBAQEEAQEBAQE=


AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEEAQEBAQE=


In hex that would be 

0105050505050505050101010101010101010101010101010106060606060606060101050101010101040101010101


0105050505050505050101010101010101010101010101010103030303030303030101050101010101040101010101


0105050505050505050101010101010101010101010101010101010101010101010101050101010101040101010101


0101010101010101010101010101010101010101010101010101010101010101010101010101010101040101010101




Bezier curves  (bezier_curves_entry.bezierCurvesData ) are much more diverse:


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



In hex it would be like:

0000000000000000 1b21db45b8799446 42d56346ad60d046 00feff4600feff46

0000000000000000 71f4a846a3c07544 52dffa46ed45e145 00feff4600feff46

0000000000000000 67981946d0d5a343 7b50384652dffa46 00feff4600feff46

0000000000000000 be279c46c2d5a343 a3c0f546c2d52344 00feff4600fe7f46

0000000000000000 71f4284671f42846 71f4a84671f4a846 00feff4600feff46

0000000000000000 71f4284671f42846 71f4a84671f4a846 00feff4600feff46

0000000000000000 71f4284671f42846 71f4a84671f4a846 00feff4600feff46

0000000000000000 71f4284671f42846 71f4a84671f4a846 00feff4600feff46



0000000000000000 71f4284671f42846 71f4a84671f4a846 00feff4600feff46 

0000000000000000 71f4a846a3c07544 52dffa46ed45e145 00feff4600feff46 

0000000000000000 67981946d0d5a343 7b50384652dffa46 00feff4600feff46 

0000000000000000 be279c465832a243 4d31f346aca41b44 00feff4600fe7f46 

0000000000000000 71f4284671f42846 71f4a84671f4a846 00feff4600feff46 

0000000000000000 71f4284671f42846 71f4a84671f4a846 00feff4600feff46 

0000000000000000 71f4284671f42846 71f4a84671f4a846 00feff4600feff46 

0000000000000000 71f4284671f42846 71f4a84671f4a846 00feff4600feff46



0000000000000000 1b21db4530389446 27c86346ad60d046 00feff4600feff46 

0000000000000000 71f4a8468d8f6d44 52dffa46eb45e145 00feff4600feff46 

0000000000000000 67981946c2d5a343 7b50384652dffa46 00feff4600feff46 

0000000000000000 be279c465832a243 1b7ff546aca41b44 00feff4600fe7f46 

0000000000000000 71f4284671f42846 71f4a84671f4a846 00feff4600feff46 

0000000000000000 71f4284671f42846 71f4a84671f4a846 00feff4600feff46 

0000000000000000 71f4284671f42846 71f4a84671f4a846 00feff4600feff46 

0000000000000000 71f4284671f42846 71f4a84671f4a846 00feff4600feff46



0000000000000000 71f4284671f42846 71f4a84671f4a846 00feff4600feff46 

0000000000000000 71f4a8468d8f6d44 52dffa46eb45e145 00feff4600feff46 

0000000000000000 67981946c2d5a343 7b50384652dffa46 00feff4600feff46 

0000000000000000 71f4284671f42846 71f4a84671f4a846 00feff4600feff46 

0000000000000000 71f4284671f42846 71f4a84671f4a846 00feff4600feff46 

0000000000000000 71f4284671f42846 71f4a84671f4a846 00feff4600feff46 

0000000000000000 71f4284671f42846 71f4a84671f4a846 00feff4600feff46 

0000000000000000 71f4284671f42846 71f4a84671f4a846 00feff4600feff46



0000000000000000 71f4284671f42846 71f4a84671f4a846 00feff4600feff46 

0000000000000000 71f4a8468e8f6d44 52dffa46ed45e145 00feff4600feff46 

0000000000000000 67981946c2d5a343 7b50384652dffa46 00feff4600feff46 

0000000000000000 71f4284671f42846 71f4a84671f4a846 00feff4600feff46 

0000000000000000 71f4284671f42846 71f4a84671f4a846 00feff4600feff46 

0000000000000000 71f4284671f42846 71f4a84671f4a846 00feff4600feff46 

0000000000000000 71f4284671f42846 71f4a84671f4a846 00feff4600feff46 

0000000000000000 71f4284671f42846 71f4a84671f4a846 00feff4600feff46



0000000000000000 1b21db4530389446 27c86346ad60d046 00feff4600feff46 

0000000000000000 71f4a8468d8f6d44 52dffa46eb45e145 00feff4600feff46 

0000000000000000 67981946c2d5a343 7b50384652dffa46 00feff4600feff46 

0000000000000000 be279c46d2aba343 17baf5460d042344 00feff4600fe7f46 

0000000000000000 71f4284671f42846 71f4a84671f4a846 00feff4600feff46 

0000000000000000 71f4284671f42846 71f4a84671f4a846 00feff4600feff46 

0000000000000000 71f4284671f42846 71f4a84671f4a846 00feff4600feff46 

0000000000000000 71f4284671f42846 71f4a84671f4a846 00feff4600feff46



0000000000000000 71f4284671f42846 71f4a84671f4a846 00feff4600feff46 

0000000000000000 71f4a8468d8f6d44 52dffa46eb45e145 00feff4600feff46 

0000000000000000 67981946c2d5a343 7b50384652dffa46 00feff4600feff46 

0000000000000000 be279c465832a243 17baf546ff2d2344 00feff4600fe7f46 

0000000000000000 71f4284671f42846 71f4a84671f4a846 00feff4600feff46 

0000000000000000 71f4284671f42846 71f4a84671f4a846 00feff4600feff46 

0000000000000000 71f4284671f42846 71f4a84671f4a846 00feff4600feff46 

0000000000000000 71f4284671f42846 71f4a84671f4a846 00feff4600feff46  


I've grouped hex data into four sets of 16 hex digits here, I think it has much more sense looking on data that way, maybe it will provide some insight on the data structure.


-------


Common pattern is that length of  data is always the same, so I think that it is true that you are at least never should change length when modifying.


>> BE CAREFUL! I wouldn't mess with the Modifier Chains unless you really know what you are doing. I believe this data is written directly to specific memory pointers in Orba firmware space.


I hope that these arrays are not loaded to permanent storage and just go to RAM, but at this point I would not bet my Orba2 on that.

 



Here are the 7 BezierCurvesEntries along with the Presets they are used with. Note: pattern 7 published above is unique to the Ambient Chord Preset. I played with this sound to find out what was so special about it. I found this sound has NoteOff velocity which I hadn't noticed from any sound before. I'm not sure how this is achieved or even if the Bezier curve(s) have any impact. 

txt
(476 Bytes)
txt
(4.12 KB)
txt
(475 Bytes)
txt
(4.02 KB)
txt
(475 Bytes)
txt
(3.28 KB)
txt
(2.8 KB)

These sorts of instruments don't interest me much

Handpans are pretty cool. The history is interesting. It started with this company called PanArt who made some beautiful, original, highly prized and expensive instruments called "Hang". Then everyone started copying them and they threw their toys out of the pram. These days the copies are called "Handpans" and PanArt are still doing their own exclusive thing.

I've followed attempts to create MIDI handpans with interest. The first was the "Ovalsound", a Kickstarter which went out of production - they can still be occasionally seen at inflated prices on sites like Reverb.

https://reverb.com/uk/item/56214803-oval-sound-digital-hand-pan-hangdrum-midi-black-2018

Then there was the "Lumen" - this project stalled for ages, I'm not sure if they're finally available or not.

https://lumenhandpan.com/?gclid=CjwKCAjwkLCkBhA9EiwAka9QRupSF2ctYU88WqbIh03C6VTVWJDR7K8t4SBKYJRXmI9EGsbdQzWtohoChDAQAvD_BwE

More recently there's the "Neotone"...

https://digitalhandpan.com/

...then there's the German "Wavepan"...

https://www.wavepan.de/english/e-wavepan.html

I'm planning to build my own DIY device called the "Wheeldrum" from a hubcap and a bunch of Piezos. :-)

There's also a small device called the Phonicbloom Wing Drum which is very Orba-like...basically copied I'd say...with a bit of a handpan focus.

http://phonicbloom.com/drum/

It's a shame Artiphon haven't open-sourced it. Handpans typically have a central pad which can be played like the rest, as does the Wing Drum. It would be quite easy for Artiphon to implement this on the Orba; impossible for anyone else.

hubcap.jpg
(137 KB)
Login or Signup to post a comment