Thanks for providing those instructions! Its easy for me to forget the details since I already know how to use it. I need to update the README file now so I'll steal your content ;)
As for the full ModifierData Fiddler, I just made the changes over lunch. I'll have to do some testing on it but likely will add it to the repo tonight.
Looks like this so far:
I got some time to play this morning and made a little progress.
MS Edge works in Windows 10. Firefox does not.
Suggest you add a section above Orba virtual Piano called Usage for General usage to include:
Downloading the Utilities: Go to the Code
tab and then press the green Code ▼
button to expand the drop-down. From the drop-down, choose Download ZIP
. Once the file has completed downloading, unzip it to a suitable folder.
Setting Things Up:
First launch the Orba App and connect to the Orba.
You may have to use only a wired connection to get the connection working in both directions
Next find and launch the OrbaDeployDaemon in the root
folder to listen.
This can be run from either the Windows Powershell console or
the Mac Terminal. Easiest way - launch it from the file
itself
Mac by simply double clicking the OrbaDeployDaemon.sh in your Finder to run it in your Terminal app or
Win - right-click OrbaDeployDaemon.ps1 and choose 'Run in PowerShell'.
You may have to give this script permission since you've downloaded it from the internet.
Personally I feel like they could do much more with the Vol +/- buttons. In the same way you hold A+(Drum|Bass|Chord|Lead) and then control per-part volume, Artiphon should be able to hold A+OCT and use the Volume +/- buttons to change the key. It could sound the root note each time you click one of the volume buttons.
They need to figure out a way for change Patch as well. We know with Orba 2 that all the patches are stored in the device, so there is no reason why you shouldn't be able to do similar to change drum sets without need a secondary app for example.
Also created a design for the new Chord Editor this morning... Thoughts? I plan on trying a design for the Scale editor this week.
I've been playing with the .song files. @BJG145 I think you are right in that when saving as a .song that the App 'minimizes' the required nodes for Presets. I've had some success in this way of taking a Bass sound and altering the scale while preserving the voice. I'm getting closer to understanding what is really required for a Preset. I've realized there is an impact to the sound working with the 'Bezier' nodes. This seems to affect the velocity curves and can make a sound punchier or slower in attack. I've got a new theory on the Seekers that came to me in a dream :) I need to test this theory out today and will report back if its true.
Just pushed up a first crack at the Editor into a separate branch (orba-chord-and-scale-editor). You can switch to that branch and follow the same download process. I haven't done a lot of testing with it yet so I'd love any feedback. I'm still struggling to figure out how to start from a Lead or Bass sound and apply scales... The Chord patches seem to work like an addition to the previously selected patch.. At least we can start to play with this tool and see what needs to change..
@BJG145
Added OrbaModifierDataFiddler.html to the repo. There are lots of zeros so those values likely do nothing or maybe they do. :) I suspect some of the values (e.g. 2,4,8,32) are flags (a.k.a powers of 2) they might do something. Let us know if you find anything interesting.
Also, I fixed the daemon. Please let me know if you see any further errors when the clipboard is empty.
@BJG145 I think all modes support `Bump`. I believe it is hardcoded to the same note regardless of the mode. I've never come across a way to edit this value.. yet.. I'll keep my eyes open. I made some major progress on understanding how to make the ModifierData apply. I plan on testing tonight but so far I think you can load any Preset of any type and apply scales/chords to them now. I'll likely release the official version of the Editor this weekend.
On "direct communication", I currently don't know how to change Key or Maj/Min from the app, I just fake it by offsetting the MIDI note values from the Editor. This appears to not be via MIDI messages. A couple weeks back I downloaded WireShark and you can monitor USB traffic to see what messages are passed back and forth. I explored if this was done via SYSEX but it looks like not. It must be a direct USB communication. I've found that Chrome also has a USB API so it may be possible to control this from the Editor in the future if I can find what message to send.
The Holy Grail would be to find a way to change Key | Maj/Min from the Orba itself. This could be possible based on what I've learned from the way ModifierData works (or at least how I think it works). My thinking is that there are some characters in the Seekers that are pointers into Orba memory. It applies the ModifierData bytes to the location pointed at by the corresponding Seeker. (This is my theory so far). If this is true, then potentially a message could be embedded in the ModifierData that when applied to the right location, could change the values of Key or Maj/Min. Who knows.. Future work..
The minimal chord template is interesting. What I've found is that the newChords.orbapreset file is only applying the chords to the voice that was loaded before it. For example I could load Faux.orbapreset, then load newChords.orbapreset and it would apply the chords to what is loaded in Orba memory. This is similar to the previous scale hack that used "percussion".
I really think the voice has something to do with the SeekerEntry and not just the Synth area properties. I need to do more testing on this but random swaps here have made my device lock-up and had to DFU back.
...this looks brilliant, thanks. :-)
(...still find that I need to drag the first starting template rather than using "browse", or the "download" button doesn't work for some reason; Windows 10, Edge/Chrome. After that first one I can use "browse". It might just be my PC, and it's not a problem once you're aware of it.)
And now a first design for the Scales. The idea here is that you can select a scale for both Major & Minor modes. This would be defined in an OrbaScales.json file. You can see some custom scales in the image below. When a voice is set to Pentatonic, it has different root notes for each pad, so I'm not sure how I'm going to deal with this yet..
I'm not a Github guru. But after connecting and powering up the Orba, what I did was go to the homepage here:
https://github.com/subskybox/Orba
Click on "Code" and "Download Zip", then unzip it in a suitable folder. You can then right-click on "OrbaDeployDaemon.ps1" and choose "Run with Powershell". Ignore any messages in that window; just minimise it and forget about it.
After that, you can open the "html" sub-folder, right-click on the two HTML pages ("OrbaChordFiddler" and "OrbaVirtualPiano") and choose "Open with...Google Chrome". (They might work with other browsers, I haven't tried, bt the instructions mention Chrome.)
Try playing a chord on the Orba and see if you can get it to show up in OrbaVirtualPiano. (I had a message asking for permissions for something or other when I opened it, which I accepted.)
Once you've got that far, try incrementing the first "Root Note Offset" by a couple, to shift the lower note of the first chord up a tone. Then choose "Copy to Clipboard", wait a few seconds, and click "Deploy".
At this point, the Orba App should open after a few seconds. Select "Browse"..."Presets"..."Chord", and you should see a new preset called "Disentangle". Click on that to load it, check that your Orba is in Major mode, press Pad 1, and you should hear that the first chord has been "fiddled" to raise the root.
Let us know how far you get...:-)
Thanks for the leads.
Might I suggest -
Click on the Code Tab then Click the down arrow on on the Green "Code" Button to "Download Zip", then unzip the downloaded Zip file into a suitable folder.
instead of Click on "Code" and "Download Zip", then unzip it in a suitable folder.
I do not have Chrome installed on my machine. Firefox loaded the HTML files fine but so far the HTML pages do not seem to work. Will try more tomorrow.
Thaks again
@BJG145 I found two values using OrbaModifierDataFiddler.html that have an effect on the Orba (albeit not very useful). Indexes 27 & 28. Index 27 appears to be the starting Pad # and Index 28 appears to be the number of active Pads. So for example, setting Index 27 to 2 and Index 28 to 5 will cause the Orba's Chord Mode to only have active Pads 2-6. Pads 1,7 and 8 are shut off.
I've pushed up the Orba Editor Alpha and updated the README. I deleted the Editor branch and moved everything to the Master branch since I won't be maintaining the Fiddler versions. Older Daemons and Fiddlers have been moved to the archived folder. I need to record a new Demo video which I hope to do soon.
@BJG145, @Steve, @GJ van Mulbregt
Very much looking forward to your Feedback before I announce this to the Orba Hacking Knowledge Base
Subskybox
This Topic is discuss the Orba Utilities created by myself. New discoveries can be discussed here but should also be posted to the Orba Hacking Knowledge Base
Orba Utilities are located here: https://github.com/subskybox/Orba
6 people like this idea