Start a new topic

Orba hacking knowledge base

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


27 people like this idea

I check out Roger's synth patch editor to see if could be adapted as a drum patch editor.


https://github.com/Batninja/Orba-Preset-Editor


It was created via a visual programming system called "Live Code" which used to be open-source, but is now subscription-based.


https://livecode.org/


It sounds like you can still access old unsupported versions on GitHub, but it looks like it has quite a learning curve, and given the new monthly subscription it would probably be best to start from scratch using a web interface like the Chord Fiddler.

 


1 person likes this

GJ van Mulbregt
said 2 days ago

Boy boy. No fun, just pity. It sounds a lot like what Artiphon did with the Orba 1. Put out an unfinished product and then engage the customers with false promises.


What was unfinished?


1 person likes this

@Subskybox & @BJG145

I copyd the raw content of the files to my PC, with the original filenames.  That made it possible to open them with Powershell and Chrome. 

After that a drag & drop from my Orba-preset folder, changing some values in the editor and saving the changed preset. It ended up in my downloadfolder. So that seems to work. Don't know what I did when changing the values :-) But that is because of my superficial expertise. Anyway, this looks very promising!


1 person likes this

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


1 person likes this

...grr, this process of trying to figure out what board is inside it and talking to it is annoying me now. I did start to attack it with a hacksaw but it was tuned on and started playing some notes in protest so I relented.


It appears as "USB Serial Device" in Device Manager but I can't get beyond that; can't talk to it with Putty or the Arduino IDE. Tried various drivers for ESP32 and FTDI. Don't really know what I'm doing. I tried putting it in DFU mode (hold down Volume+ when while power on) and connecting it to a Windows PC that had never seen an Orba before, and got an entry in Device Manager for "STM 32 Bootloader"; haven't found a suitabloe driver yet. Is that a different board...? I've messed around a little with Arduino and Teensy is all, don't know about this other stuff. 


 https://www.google.com/search?q=STM32+v+ESP32&rlz=1C1ONGR_en-GBGB932GB932&oq=STM32+v+ESP32&aqs=chrome..69i57j0i13l4j0i22i30j0i8i13i30l2.3241j0j7&sourceid=chrome&ie=UTF-8



1 person likes this

@GJ van Mulbregt

"I copyd the raw content of the files to my PC, with the original filenames. That made it possible to open them with Powershell and Chrome."


That is a great solution! In this way your PC would believe that "you" wrote the Powershell script and it would be trusted. I do think there is a setting somewhere to Trust scripts from the internet but I'm not sure how.


BTW, the new Editor doesn't require the use of any Daemon anymore :)


1 person likes this
On LiveCode, for what it's worth: it does seem to be possible to retrieve installers, binaries, etc from the old open source edition (meaning hopefully that you don't have to build the Livecode development system from source) from archive.org: https://archive.org/search.php?query=creator%3A%22LiveCode%2C+Inc.%22&sort=-date This information from the readme of openxtalk, which is intended as a placeholder for a possible open source continuation of the development. https://github.com/openxtalk/openxtalk

1 person likes this

1 person likes this

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:

image

image

image


Now I need to test the relationship between the hardware setting and the software settings.. Its hard with a small quantize adjustment like 1/16th note. I think using a slow tempo its easier to be "off"


1 person likes this

@BJG145 I'm trying to figure out if I can access the samples in the Orba2. Do you have any experience with how to setup a fileshare on an ESP32? I see references to the samples in the property files something like orba://Artiphon/SamplePool/Drum/snare.wav



1 person likes this

Tilt Lead is quite minimal from an XML perspective, so maybe the Seekers/Modifiers are not totally distinct and there is some overlap?


1 person likes this

The new version is amazing! You're a genius. :-) You've finally cracked the chord system.


I'd be interested to understand how the character string relates to the increments, and how you figured that out.


Is there a way I could change the offset if I wanted to mess around with other parts of the XML ...? Not sure if that's an accessible value in the code somewhere, or if it's more complicated than that.


(Note that you'll get an error if the clipboard is empty when you first run the Daemon. Not a problem, just something to be aware of if you're looking at it for the first time.)


1 person likes this

Just some more musings while I'm waiting to open it up. I still don't quite understand the ESP32 / STM32 thing, or exactly what this is based on, so I'll be interested to look at the chips.


Anyway, in:


C:\Program Files\Artiphon\Orba\usb_driver


...there's a file called "libusb_device.inf" which starts with the following info:


DeviceName = "STM32 BOOTLOADER"

VendorName = "STMicroelectronics"

SourceName = "STM32 BOOTLOADER Install Disk"

DeviceID = "VID_0483&PID_DF11"

DeviceGUID = "{B32A0570-39E3-4CE5-8DBE-08DA462C8B2E}"


I came across an interesting website here...


https://devanlai.github.io/webdfu/dfu-util/


...which allows you to connect to DFU devices and upload/download firmware files etc from them.


Still don't know a lot about DFU mode; seems to be a general firmware update mode that you can enter on the Orba by holding down Vol+ while powering on. It will seem to become unresponsive, but it's still awake, To turn it off from this mode, you can hold down Vol- with the power key, and after that you can boot up normally. This is explained in Artiophon's notes about recovering an unresponsive Orba.


https://artiphon.freshdesk.com/support/solutions/articles/44002017914-what-do-i-do-if-my-orba-is-unresponsive-#:~:text=Hold%20the%20Volume%20Up%20(%2B),your%20Orba%20back%20to%20life.


DFU mode is described as "Update mode".


I found that I could connect the Orba, put it into DFU mode, then go to that website and enter "0483" as the Vendor ID. That comes from the entry above; "VID_0483&PID_DF11". VID = Vendor ID which is 0483 (I think). Haven't looked up what PID is.


So, if you enter that and click "Connect", I get a message saying: "devanlai wants to connect - STM32 Bootloader". I can select it and click OK, at which point I see this:


image


It's the list of devices I posted above, from dfu-util. I could get upload/download to work from that utility, but it works with this website. I'm wondering if any of these areas might contain something like song data that could theoretically be uploaded//changed/downloaded. ("uploaded" in this context means "read from device"). If this was possible it would take some experimentation; grabbing the file, recording something, grabbing the file again, messing with the changed data, restoring it to the device etc.


Just a thought. As always I take no responsibility for anything bad that might happen to yor Orba if you try this. :-)

   


1 person likes this

...incidentally I've been installing all kinds of random drivers; anything that seems related that I can get my hands on, to try and talk to it. At one point something I installed made it appear in Device Manager as "STM32 Bootloader" under "Universal Serial Bus Devices" when connected in DFUI mode; before that it wasn't recognised as a valid device. I don't know if it's possible to connect to it as described above without that. I can try and dig it out if it's needed; it might just have been one of the Artiphon ones from UpdateUtilities or I might have downloaded it from somewhere else.


1 person likes this

PS I've just a novice/dabbler with this stuff, but I'm curious about it. I've built a couple of DIY MIDI controllers with Teensy/Arduino, which is actually fairly simple when you know how; something like a Teensy LC has everything you need. (Capacitive touch pins, MIDI/USB etc.) I'd like to try and make something with an embedded sound engine so I've recently been looking at Daisy Seed, but that's not quite as easy or accessible as Teensy. I'm curious to know what the Orba sound engine is based on. I see there are people building simple synths with an ESP32 on YouTube.


https://www.youtube.com/watch?v=5XVK5MOKmZw


Once I've found what's inside the Orba I might try picking up the same board just to try and learn a little bit more about it and see what it can do.


1 person likes this
Login or Signup to post a comment