Start a new topic

Orba hacking knowledge base

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


27 people like this idea

Also one thing I've realized about pitch bending (Index 23) does not implicitly control the bend range but rather the starting tone in cents. Setting it to 0 lowers the starting note therefor giving a larger bend range. If you play a note from one of the altered bend patches then a normal patch immediately after you hear that the altered patch isn't really in key.

In the meantime I've had an idea.


1) Create a script to send "q" to console and bundle it with Chordfiddler 

2) Put out an ad


"New Orba-Q unlocks the power of your Orba-1 with the power to add quantisation to your loops as well as customising chords and scales! Introductory offer for only £20. Please send payment by Paypal to BJG145@......"

(...just kidding. Then again...)

>"Not quite. Each Chord Pad cuts out the next."


I hadn't noticed that. The Tap gesture for chords has different seekerData with its own index (11). I ghuess this is the "Chord Event". This updated table includes a column taken from Faux Chords. I think other things like gestureUuid and ModifierData are the same.


image


...also note the change from 8 to 32 in row five. Maybe that's connected with the polyphony.

(...the last two values in the column are 0,0 like Tap Lead...)

...just some notes on attempts to boot/flash the Orba in a streamlined configuration.


image


The main PCB has three microswitches operated by the power/vol controls, and connections for:


1) Speaker

2) Power

3) Motor (vibration)

4) Sensor PCB


Unfortunately I've damaged these so I can't test fully.


In general, the Orba can get into four states:


1) Powers on normally

2) Unresponsive but can be automatically recovered by the App in DFU mode

3) Unresponsive but can be manually recovered by the App in DFU mode

4) Broken


The most signs of life from my PCB are with (3), described in Artiphon's notes on recovering an Orba from an unresponsive state by downloading a new copy of the firmware.


What happens is this:


1) Run the Orba App and navigate to Settings

2) Connect the PCB and boot into DFU mode

3) Drag firmware file to App as per the instructions


The full log is below. At the point where it says: "Waiting for Orba to restart", the Orba flashes a full set of white lights, then a gradual circle of white lights, then flashes a set of red lights repeatedly and doesn't get any further.


Either it's waiting for something that's not connected, or it's otherwise damaged.


As @Tony points out, the touch sensor PCB has its own IC which seems quite sophisticated. Perhaps the "capsense bootloader" file I mentioned gets sent to that.


It's not very clear how functions are divided up between the different ICs, and it would be difficult to try and figure out how to work with it. From Googling, it sounds like it may be in a configuration where the ESP32 is a "slave" and the STM32 is a "host MCU". I'm not sure if it's possible to talk to the ESP32 directly in this hardware or whether everything is relayed by the STM32.


I'm still curious about the kind of direct communication that takes place between the App and the Orba when changing key, but I don't know how to try and decipher that, or even which IC the App is talking to.


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


Firmware Upload log


15 Jun 2022 7:32:22pm - Downloading Update Info

15 Jun 2022 7:32:22pm - Downloading Updater Utilities

15 Jun 2022 7:32:22pm - Downloading Updater Util - Capsense Bootloader

15 Jun 2022 7:32:24pm - Downloading Updater Util - ESP32

15 Jun 2022 7:32:28pm - Downloading Updater Util - DFU

15 Jun 2022 7:32:31pm - Uploading Firmware

15 Jun 2022 7:32:31pm - Executing: C:\Users\admin\AppData\Roaming\Artiphon\Orba\UpdateUtilities\dfu-util-win\dfu-util.exe -l

15 Jun 2022 7:32:31pm - Orba already in DFU Mode

15 Jun 2022 7:32:31pm - Executing: C:\Users\admin\AppData\Roaming\Artiphon\Orba\UpdateUtilities\dfu-util-win\dfu-util.exe -l

15 Jun 2022 7:32:32pm - Executing: C:\Users\admin\AppData\Roaming\Artiphon\Orba\UpdateUtilities\dfu-util-win\dfu-util.exe -d 0483:df11 -a 1 -s 0x1fff0000:44:force -U C:\Users\admin\AppData\Local\Temp\temp_521aa190\firmware\option_bytes.bin

15 Jun 2022 7:32:34pm - Executing: C:\Users\admin\AppData\Roaming\Artiphon\Orba\UpdateUtilities\dfu-util-win\dfu-util.exe -d 0483:df11 -a 1 -s 0x1fff0000:will-reset:force -D C:\Users\admin\AppData\Local\Temp\temp_521aa190\firmware\option_bytes.bin

15 Jun 2022 7:32:37pm - Executing: C:\Users\admin\AppData\Roaming\Artiphon\Orba\UpdateUtilities\dfu-util-win\dfu-util.exe -d 0483:df11 -a 0 -s 0x20010000:force -D C:\Users\admin\AppData\Local\Temp\temp_521aa190\firmware\0x20010000.bin

15 Jun 2022 7:32:38pm - dfu-util 0.9-msvc

15 Jun 2022 7:32:38pm - 

15 Jun 2022 7:32:38pm - 

15 Jun 2022 7:32:38pm - 

15 Jun 2022 7:32:38pm - Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.

15 Jun 2022 7:32:38pm - 

15 Jun 2022 7:32:38pm - Copyright 2010-2019 Tormod Volden and Stefan Schmidt

15 Jun 2022 7:32:38pm - 

15 Jun 2022 7:32:38pm - This program is Free Software and has ABSOLUTELY NO WARRANTY

15 Jun 2022 7:32:38pm - 

15 Jun 2022 7:32:38pm - Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

15 Jun 2022 7:32:38pm - 

15 Jun 2022 7:32:38pm - 

15 Jun 2022 7:32:38pm - 

15 Jun 2022 7:32:38pm - Invalid DFU suffix signature

15 Jun 2022 7:32:38pm - 

15 Jun 2022 7:32:38pm - A valid DFU suffix will be required in a future dfu-util release!!!

15 Jun 2022 7:32:38pm - 

15 Jun 2022 7:32:38pm - Opening DFU capable USB device...

15 Jun 2022 7:32:38pm - 

15 Jun 2022 7:32:38pm - ID 0483:df11

15 Jun 2022 7:32:38pm - 

15 Jun 2022 7:32:38pm - Run-time device DFU version 011a

15 Jun 2022 7:32:38pm - 

15 Jun 2022 7:32:38pm - Claiming USB DFU Interface...

15 Jun 2022 7:32:38pm - 

15 Jun 2022 7:32:38pm - Setting Alternate Setting #0 ...

15 Jun 2022 7:32:38pm - 

15 Jun 2022 7:32:38pm - Determining device status: state = dfuERROR, status = 10

15 Jun 2022 7:32:38pm - 

15 Jun 2022 7:32:38pm - dfuERROR, clearing status

15 Jun 2022 7:32:38pm - 

15 Jun 2022 7:32:38pm - Determining device status: state = dfuIDLE, status = 0

15 Jun 2022 7:32:38pm - 

15 Jun 2022 7:32:38pm - dfuIDLE, continuing

15 Jun 2022 7:32:38pm - 

15 Jun 2022 7:32:38pm - DFU mode device DFU version 011a

15 Jun 2022 7:32:38pm - 

15 Jun 2022 7:32:38pm - Device returned transfer size 2048

15 Jun 2022 7:32:38pm - 

15 Jun 2022 7:32:38pm - DfuSe interface name: "Internal Flash "

15 Jun 2022 7:32:38pm - 

15 Jun 2022 7:32:38pm - Downloading to address = 0x20010000, size = 125792

15 Jun 2022 7:32:38pm - 

15 Jun 2022 7:32:38pm - 

15 Jun 2022 7:32:38pm - Erase [ ] 0% 0 bytes

15 Jun 2022 7:32:38pm - Download [ ] 3% 4096 bytes

15 Jun 2022 7:32:45pm - Download [= ] 4% 6144 bytes

15 Jun 2022 7:32:45pm - Download [== ] 8% 10240 bytes

15 Jun 2022 7:32:45pm - Download [== ] 9% 12288 bytes

15 Jun 2022 7:32:45pm - Download [=== ] 13% 16384 bytes

15 Jun 2022 7:32:45pm - Download [==== ] 16% 20480 bytes

15 Jun 2022 7:32:45pm - Download [==== ] 17% 22528 bytes

15 Jun 2022 7:32:45pm - Download [===== ] 21% 26624 bytes

15 Jun 2022 7:32:45pm - Download [====== ] 24% 30720 bytes

15 Jun 2022 7:32:45pm - Download [======= ] 29% 36864 bytes

15 Jun 2022 7:32:45pm - Download [======== ] 32% 40960 bytes

15 Jun 2022 7:32:45pm - Download [========= ] 37% 47104 bytes

15 Jun 2022 7:32:45pm - Download [========= ] 39% 49152 bytes

15 Jun 2022 7:32:45pm - Download [========== ] 40% 51200 bytes

15 Jun 2022 7:32:45pm - Download [=========== ] 45% 57344 bytes

15 Jun 2022 7:32:45pm - Download [=========== ] 47% 59392 bytes

15 Jun 2022 7:32:45pm - Download [============ ] 48% 61440 bytes

15 Jun 2022 7:32:45pm - Download [============= ] 52% 65536 bytes

15 Jun 2022 7:32:51pm - Download [============= ] 53% 67584 bytes

15 Jun 2022 7:32:51pm - Download [============== ] 56% 71680 bytes

15 Jun 2022 7:32:51pm - Download [=============== ] 60% 75776 bytes

15 Jun 2022 7:32:51pm - Download [=============== ] 61% 77824 bytes

15 Jun 2022 7:32:51pm - Download [================ ] 65% 81920 bytes

15 Jun 2022 7:32:51pm - Download [================= ] 68% 86016 bytes

15 Jun 2022 7:32:51pm - Download [================== ] 73% 92160 bytes

15 Jun 2022 7:32:51pm - Download [=================== ] 76% 96256 bytes

15 Jun 2022 7:32:51pm - Download [==================== ] 81% 102400 bytes

15 Jun 2022 7:32:51pm - Download [==================== ] 83% 104448 bytes

15 Jun 2022 7:32:51pm - Download [===================== ] 84% 106496 bytes

15 Jun 2022 7:32:51pm - Download [====================== ] 89% 112640 bytes

15 Jun 2022 7:32:51pm - Download [====================== ] 91% 114688 bytes

15 Jun 2022 7:32:51pm - Download [======================= ] 92% 116736 bytes

15 Jun 2022 7:32:51pm - Download [======================== ] 96% 120832 bytes

15 Jun 2022 7:32:51pm - Download [======================== ] 97% 122880 bytes

15 Jun 2022 7:32:51pm - Download [=========================] 100% 125792 bytes

15 Jun 2022 7:32:51pm - 

15 Jun 2022 7:32:51pm - Download done.

15 Jun 2022 7:32:51pm - 

15 Jun 2022 7:32:51pm - File downloaded successfully

15 Jun 2022 7:32:51pm - 

15 Jun 2022 7:32:51pm - Executing: C:\Users\admin\AppData\Roaming\Artiphon\Orba\UpdateUtilities\dfu-util-win\dfu-util.exe -d 0483:df11 -a 0 -s 0x8000000:force:leave -D C:\Users\admin\AppData\Local\Temp\temp_521aa190\firmware\0x8000000.bin

15 Jun 2022 7:32:52pm - dfu-util 0.9-msvc

15 Jun 2022 7:32:52pm - 

15 Jun 2022 7:32:52pm - 

15 Jun 2022 7:32:52pm - 

15 Jun 2022 7:32:52pm - Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.

15 Jun 2022 7:32:52pm - 

15 Jun 2022 7:32:52pm - Copyright 2010-2019 Tormod Volden and Stefan Schmidt

15 Jun 2022 7:32:52pm - 

15 Jun 2022 7:32:52pm - This program is Free Software and has ABSOLUTELY NO WARRANTY

15 Jun 2022 7:32:52pm - 

15 Jun 2022 7:32:52pm - Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

15 Jun 2022 7:32:52pm - 

15 Jun 2022 7:32:52pm - 

15 Jun 2022 7:32:52pm - 

15 Jun 2022 7:32:52pm - Invalid DFU suffix signature

15 Jun 2022 7:32:52pm - 

15 Jun 2022 7:32:52pm - A valid DFU suffix will be required in a future dfu-util release!!!

15 Jun 2022 7:32:52pm - 

15 Jun 2022 7:32:52pm - Opening DFU capable USB device...

15 Jun 2022 7:32:52pm - 

15 Jun 2022 7:32:52pm - ID 0483:df11

15 Jun 2022 7:32:52pm - 

15 Jun 2022 7:32:52pm - Run-time device DFU version 011a

15 Jun 2022 7:32:52pm - 

15 Jun 2022 7:32:52pm - Claiming USB DFU Interface...

15 Jun 2022 7:32:52pm - 

15 Jun 2022 7:32:52pm - Setting Alternate Setting #0 ...

15 Jun 2022 7:32:52pm - 

15 Jun 2022 7:32:52pm - Determining device status: state = dfuIDLE, status = 0

15 Jun 2022 7:32:52pm - 

15 Jun 2022 7:32:52pm - dfuIDLE, continuing

15 Jun 2022 7:32:52pm - 

15 Jun 2022 7:32:52pm - DFU mode device DFU version 011a

15 Jun 2022 7:32:52pm - 

15 Jun 2022 7:32:52pm - Device returned transfer size 2048

15 Jun 2022 7:32:52pm - 

15 Jun 2022 7:32:52pm - DfuSe interface name: "Internal Flash "

15 Jun 2022 7:32:52pm - 

15 Jun 2022 7:32:52pm - Downloading to address = 0x08000000, size = 65536

15 Jun 2022 7:32:52pm - 

15 Jun 2022 7:32:52pm - 

15 Jun 2022 7:32:52pm - Erase [ ] 0% 0 bytes

15 Jun 2022 7:32:52pm - Erase [ ] 0% 0 bytes

15 Jun 2022 7:32:52pm - Erase [= ] 6% 4096 bytes

15 Jun 2022 7:32:52pm - Erase [== ] 9% 6144 bytes

15 Jun 2022 7:32:53pm - Erase [=== ] 12% 8192 bytes

15 Jun 2022 7:32:53pm - Erase [==== ] 18% 12288 bytes

15 Jun 2022 7:32:53pm - Erase [===== ] 21% 14336 bytes

15 Jun 2022 7:32:53pm - Erase [====== ] 25% 16384 bytes

15 Jun 2022 7:32:53pm - Erase [======= ] 28% 18432 bytes

15 Jun 2022 7:32:53pm - Erase [======== ] 34% 22528 bytes

15 Jun 2022 7:32:53pm - Erase [========= ] 37% 24576 bytes

15 Jun 2022 7:32:53pm - Erase [========== ] 40% 26624 bytes

15 Jun 2022 7:32:53pm - Erase [=========== ] 46% 30720 bytes

15 Jun 2022 7:32:53pm - Erase [============ ] 50% 32768 bytes

15 Jun 2022 7:32:53pm - Erase [============= ] 53% 34816 bytes

15 Jun 2022 7:32:53pm - Erase [============== ] 56% 36864 bytes

15 Jun 2022 7:32:53pm - Erase [=============== ] 62% 40960 bytes

15 Jun 2022 7:32:53pm - Erase [================ ] 65% 43008 bytes

15 Jun 2022 7:32:53pm - Erase [================= ] 68% 45056 bytes

15 Jun 2022 7:32:53pm - Erase [================== ] 75% 49152 bytes

15 Jun 2022 7:32:53pm - Erase [=================== ] 78% 51200 bytes

15 Jun 2022 7:32:56pm - Erase [==================== ] 81% 53248 bytes

15 Jun 2022 7:32:56pm - Erase [===================== ] 84% 55296 bytes

15 Jun 2022 7:32:56pm - Erase [====================== ] 90% 59392 bytes

15 Jun 2022 7:32:56pm - Erase [======================= ] 93% 61440 bytes

15 Jun 2022 7:32:56pm - Erase [======================== ] 96% 63488 bytes

15 Jun 2022 7:32:56pm - Download [ ] 0% 0 bytes

15 Jun 2022 7:32:56pm - Download [= ] 6% 4096 bytes

15 Jun 2022 7:32:56pm - Download [== ] 9% 6144 bytes

15 Jun 2022 7:32:56pm - Download [=== ] 12% 8192 bytes

15 Jun 2022 7:32:56pm - Download [==== ] 18% 12288 bytes

15 Jun 2022 7:32:56pm - Download [===== ] 21% 14336 bytes

15 Jun 2022 7:32:56pm - Download [====== ] 25% 16384 bytes

15 Jun 2022 7:32:56pm - Download [======= ] 28% 18432 bytes

15 Jun 2022 7:32:56pm - Download [======== ] 34% 22528 bytes

15 Jun 2022 7:32:56pm - Download [========= ] 37% 24576 bytes

15 Jun 2022 7:32:56pm - Download [========== ] 40% 26624 bytes

15 Jun 2022 7:33:00pm - Download [=========== ] 46% 30720 bytes

15 Jun 2022 7:33:00pm - Download [============ ] 50% 32768 bytes

15 Jun 2022 7:33:00pm - Download [============= ] 53% 34816 bytes

15 Jun 2022 7:33:00pm - Download [============== ] 56% 36864 bytes

15 Jun 2022 7:33:00pm - Download [=============== ] 62% 40960 bytes

15 Jun 2022 7:33:00pm - Download [================ ] 65% 43008 bytes

15 Jun 2022 7:33:00pm - Download [================= ] 68% 45056 bytes

15 Jun 2022 7:33:00pm - Download [================== ] 75% 49152 bytes

15 Jun 2022 7:33:00pm - Download [=================== ] 78% 51200 bytes

15 Jun 2022 7:33:00pm - Download [==================== ] 81% 53248 bytes

15 Jun 2022 7:33:00pm - Download [===================== ] 84% 55296 bytes

15 Jun 2022 7:33:00pm - Download [====================== ] 90% 59392 bytes

15 Jun 2022 7:33:00pm - Download [======================= ] 93% 61440 bytes

15 Jun 2022 7:33:00pm - Download [======================== ] 96% 63488 bytes

15 Jun 2022 7:33:00pm - Download [=========================] 100% 65536 bytes

15 Jun 2022 7:33:00pm - 

15 Jun 2022 7:33:00pm - Download done.

15 Jun 2022 7:33:00pm - 

15 Jun 2022 7:33:00pm - File downloaded successfully

15 Jun 2022 7:33:00pm - 

15 Jun 2022 7:33:00pm - Transitioning to dfuMANIFEST state

15 Jun 2022 7:33:00pm - 

15 Jun 2022 7:33:00pm - Waiting for Orba to restart

15 Jun 2022 7:34:00pm - Unable to reconnect Orba

15 Jun 2022 7:34:00pm - Upload Failed


"Also note the change from 8 to 32 in row five. Maybe that's connected with the polyphony"


...after all, the chords have four notes...makes sense... 

...just flipping through some of the stuff in that downloadable firmware Orba_Fw_0.15.13_PreRelease zip file that Artiphon provides for recovery.


https://storage.googleapis.com/artiphon-web-content/Orba_Fw_0.15.13_PreRelease.zip


Interesting to see some of the comments in the "Changelog_Beta" file, like:


- Fixed issue where notes would disappear with quantize and cause a crash (PROD-2511, PROD-2528)

- Quantization is turned on by default (constant length, snap to 1/16 notes) (PROD-2130)

- Various bug fixes with quantization (PROD-2447, 2174)


As I mentioned, the XML in the song files contains some quantisation settings. This is from 1981.song.


<Mode name="Bass" quantizationMode="0" volume="200">


It sounds like there could possibly be some slightly broken quantisation features that might be accessible with some XML hacking.

Hi all, 


Just get my Orba and also new to any musical instruments, having read via the forum and found some guys are able to make presets themselves. I would like to make preset with sounds like basic wooden guitar, can anyone throw some lights to me?  Sorry if the question is too dumb.

The currently available release is 0.15.13. Reading back through the changelog:


0.15.1   Disables quantization by default

0.15.0   Quantize on by default

0.14.19  Quantize on by default

0.14.18 - Quantization is turned on by default (constant length, snap to 1/16 notes) (PROD-2130)


etc


I don't suppose these earlier releases are still available, but maytbe some functionality is still there if the XML can turn it on.

I've been flipping through some of the old versions to see if there's any new XML. v13 had the quantise options in the save dialog, which adds the "groove" mode 2 you found to the XML. I haven't heard anything groovy yet.   


image

 

One of the improvements for Orba 2 is bar length from 8 to 128. According to the change log, "Limit max loop length to 8 bars" was new to v13.18 but I haven't seen how to increase it in v13 yet. There's "nBars" in the app code and the XML.

I just Googled the inscription "Reply hazy, try again" on the motherboard; haven't come across it before. It's apparently from something called the Magic 8 Ball.




https://en.wikipedia.org/wiki/Magic_8_Ball



Stüssy x Mattel Creations Magic 8 Ball Toy | HYPEBEAST


...actually, thinking about it, if quantisation isn't enabled in the App, the settings in the XML aren't going to have any effect. I guess we can forget about that, though it'll be interesting to see how it's implemented in v2.

Seeker Data CSV

csv
(1013 Bytes)
Login or Signup to post a comment