@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..
Incidentally I'd previously wondered about the "direct communication" with the App when changing key or Maj/Min, but I guess that could simply be an XML snippet being sent behind the scenes when you make a new selection, in the same way as a preset send. (I can't remember if we already know if/how you can change between keys or Major/Minor from the XML.)
@Subskybox I've only just realised that you can get a 9th note out of Lead mode by tapping the side. It would be cool to be able to tune that one as well. It generally seems to be a low note in the same voice.
>I've got a new theory on the Seekers that came to me in a dream
...haha, always the best way to make new scientific discoveries...
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.
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.
...so yes, just to confirm that it's possible to start with a minimal chord template without synth voice info, then use that to create either lead or chord presets, loaded from the relevant folder, which will reprogram the chords and lead scale while keeping whatever voice you have loaded...
...ah, no, I'm wrong; I just had the Orba in the wrong mode (Maj/Min). All working great.
Excellent. Thanks @Subskybox!
...just tried creating a minimal chord template with just the first Modifier/Seeker entry:
<?xml version="1.0" encoding="UTF-8"?>
<PresetEntry>
<ModifierList>
<ModifierEntry
</ModifierList>
<SeekerList>
<SeekerEntry>
</SeekerList>
<TuningEntry>
</PresetEntry>
...using the data from an existing template.
I was able to load this into the new chord/scale editor and create a Locrian lead which didn't overwrite the existing sounds.
I've just realised I was getting confused whn I suggested that you could generate an altered chord preset and copy it into the Chords folder though...I don't think that works...? I guess this is just set up for creating new Lead presets at the mo...? (I tried downloading an altered chord set then loading it from the Chords folder but it had no effect.)
...great, got the new scale and chord editor working now. :-)
What I've found on my Windows PC is:
1) Open it with Edge. If you use the "Browse" button, the name of the file comes up, but the "Download" button doesn't do anything. If you drag the file instead, it looks the same, but the "Download" button will work this way.
2) Open it with Chrome. As above, the "Download" button only works if you drag the file instead of browsing for it. In this case however, you may see the Orba App open automatically; but ignore that, because the file isn't available yet. If this happens, you'll need to close it, copy the file from the Downloads folder into the Lead/Chords folder as usual, and then open it again.
(This might just be due to certain file associations that are specific to my PC.)
Note that you should copy the source file from the Chords folder, even if you're creating a lead scale preset; otherwise you'll probably just end up with a pentatonic. Once you've downloaded the file, you can copy it to the Chords folder for chords, or the Lead folder for leads.
I haven't tried this yet, but it might be best to create a minimal chord template without a synth patch to start with, so you can change the chords or scale without changing the voice.
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..
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.
...yes, just modified the offsets in a chord preset, then copied it to the lead folder and loaded it as a lead preset.
@BJG145 I'm struggling to figure out exactly how you made the Dorian preset. Did you just choose a Chord Preset and then modify the offsets? I'm trying to see if I can convert a Bass or Lead sound to a Chord sound. I guess the real question is what makes a preset start using the ModifierData? I thought if was when the mode is set to Chord but I'm not so sure
<SoundPreset name=""> <SynthPatch mode="Chord"
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..
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