These table might help:
Voice Message Status Byte Data Byte1 Data Byte2 ------------- ----------- ----------------- ----------------- Note off 8x Key number Note Off velocity Note on 9x Key number Note on velocity Polyphonic Key Pressure Ax Key number Amount of pressure Control Change Bx Controller number Controller value Program Change Cx Program number None Channel Pressure Dx Pressure value None Pitch Bend Ex MSB LSB
The first nibble of each byte is the type. So NoteOn in hex is 9x and NoteOff is 8x. Note On will be a decimal value of 144-159 because channel is the second nibble. NoteOff will be 128-143. This is the midi standard. To be more precise.. here is that section of the code from the Editor:
switch (command) { case 153: //DrumOn case 152: //BassOn case 159: //ChordOn case 144: //LeadOn case 137: //DrumOff case 136: //BassOff case 143: //ChordOff case 128: //LeadOff
Hi folks, I'm afraid I don't have much to contribute to the hacking part of this thread, but I am reading in idol curiosity.
I am hoping that what you have been able to discover will help me in using my orba2 when I get it.
I happen to be blind. My interaction with computers and phones is with screen readers. But Artiphon has not yet, and makes no promises, to implement any accessibility in to their apps though they do use JUCE which has embraced accessibility in it's more recent versions.
Anyway, as we know, the Orba is cool, but the software opens up the possibilities to change keys and sounds and other stuff.
So, I'm wondering how you hackers may be able to help make Orba more accessible. Any chance that accessibility may be considered in the software you are putting together?
Generally things are accessible if the conventional navigation and control features of the OS are observed. Things get less accessible when custom UI features are used.
So, any thoughts for this blind musician hoping to exploit the Orba in my music making journey? :)
thanks!
@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 :)
...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.
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.
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:
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. :-)
Sequences are:
1) Lowest note
2) Second note
3) Third note
4) Two notes (loud)
5) Two notes (soft loud)
6) Four notes at double speed. (The others were on the beat.)
@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!
The three entries with a 3 at index 9 are Radiate, Press and Vibrato; the three axes of touch.
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.
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.
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.
Andrea Mannocci
This thread is intended to gather the feedback of Orba tinkerers.
29 people like this idea