Start a new topic

Orba 2 Hacking Knowledge Base


This forum is intended to share Orba 2 hacking tips amongst the Orba 2 community. NOTE: Please post facts that are well understood & useful. If you have theories to discuss, please start another forum and link to it here.

2 people like this idea

I had a quick look to see if I could find it again, but failed. Thinking about it, I think I got the impression it defined a drum pattern (for one bar presumably) and how many times it should be repeated. But like I say, I wasn't paying attention. I guess I was considering whether drum presets would be better for making Hangdrum presets than Leads (but only out of curiosity) - if that helps to find it.

Perhaps it was this I was thinking of - though I'm not sure if offers much insight:

(Can't recall where I found it.)


So I looked at that file to see if  could find any sense to the PatternLists in it. The only thing I could suggest sounds, frankly, a bit crazy. I don't think the lists are actually doing anything in this example.

I wondered whether this could allow different settings to be used in different circumstances. Since the patterns here are about scales - maybe you could for example, and for some weird reason, make the lead preset play in the major scale, except for say, when you transpose the song to G major,  when you could set the scale to pentatonic instead.

Assuming that could be the case, perhaps it might be possible to do something similar with, say, pitch bend and make it only function on certain notes of the scale. Of course here, I'm making huge assumptions! (But I rather like the idea.)

@DavidBenton I've seen structures like that before but I'm not sure what they are. That may be a song I uploaded long ago?! I remember messing around with quantization on Orba 1 and re-created a Daft Punk song loop.

Yeah -but I think these PatternLists are not related to quantization. I saw it as a programming tool to allow different behaviours in some circumstances, and that could be quite flexible - ie: use the settings in the PatternList or stick to those in the main preset. However when I looked at this this morning I had it in my head that there were only 8 pattern entries in artipresets, whereas there are 12 in this song and in the Orba2 presets - so my thinking may have been over-imaginative.

On a whim I decided to put a cello sampled voice together today (not tested yet) - boy, the looping was a nightmare - the waveshapes varied a lot so finding working points was a toughie.

Artiphon has recently introduced some new things that I will be digging into. So far I've noticed they created a new file format for stems: .artistem files are stored in a new 'Stems' folder. From the release notes, it seems that stems will now observe tempo and perhaps pitch as well. Looking into these new files I noticed that they contain this new node:

<Stems defaultNoteSource="12" secondaryNoteSource="1"/>

... and I noticed that the .artisong files associated with the stems now have a new attribute scaleWeights: 

<TuningEntry key="D" name="Natural Minor" intervals="P1, M2, m3, P4, P5, m6, m7, P8" midiOctave="3" scaleWeights="1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0"/>


<TuningEntry key="G" name="Major" intervals="P1, M2, m3, P4, P5, m6, m7, P8" midiOctave="3" scaleWeights="1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1"/>

I'm hopeful that scaleWeights is an array of flags for if each of the chromatic notes (there are 12) are affected by future new scales :) I'll report back if I figure out what these actually do (if anything yet) 

@Subskybox - I haven't looked into stem and song files more than casually yet  - so I have no meaningful observations about that yet. But I did notice that the scaleWeights appear to be on/off values and describe the notes in the scale, just in a different way to the intervals values. But I presume you will have already seen that.

It also seemed rather odd that the stem files use a NoteSource attribute. The default in presets seems to refer to the 8 keys and the alternative was motion - but these new attributes in the stems don't seem to match that.

I noticed that after the update images for my custom presets all disappeared from the app, which is disappointing, but that would happen occasionally with individual presets when I was editing them. Perhaps they'll reappear in time.

I intend to post some new presets soon but I've not spent much time with the Orba lately - other things drew my attention away!

@David. Actually, I had not noticed that they describe the scales yet, but I probably would have seen it with a little more thought. I had spent all of about 10 minutes when I saw the update and posted. I haven't spent much time with it either as Artiphon has only focused on new sounds and not features. I don't believe the new stems even allow what they describe (matching tempo). Tempo appears to be disabled when you choose these new stems. I suspect there will be a new update coming and they rushed it just to get out some new content. The latest release is very buggy for me.

I wonder if ScaleWeights is even live yet. Perhaps it can be used to edit scales which is what I'm really looking for.

Looking at the factory_content_Songs folder I notice that some (but not all) of the songs in a minor key have intervals parameters showing a minor scale but the tuning parameters  (midi numbers) are for a major scale.

The Wind and Sea song is one example of this. Whether that's significant or not I haven't investigated.

1 person likes this

Pardon if I missed this, but I couldn't find any explanation of why the sample function doesn't permit copying to the Drum Preset? I tried Subskybox's (very cool) approach to generating presets, but can't adapt it to enable creation of new Drum presets. I'm sure it's user error, I'm just unsure how.


Subskybox will know more about his than I, but the first thing is that drum presets are quite different to the other types. You need at least eight samples for a drum preset (one for each key) and they are handled differently to pitched voices. The inbuilt sampling function is not really suitable for that. 

I suppose Artiphon could create a method for handling it but I don't think that fits in with their view of what the Orba should be.

You could use externally created samples and use Subskybox's method of creating a preset using an existing drum artipreset file as a template. However, the drum presets have different parameters and seem to me to be rather more complicated. (I have looked - but not dared to try anything myself!) Such a preset might also present problems with midi compatibility unless it is made carefully with that in mind.

1 person likes this

Thanks for the quick reply, David--I did actually use Subskybox's python scripts, using a drum preset file as the 'template.artipreset' in the Sample Set folder. The Orba 2 always fails to load the preset after I've deployed it. But you're right, the drum preset is much more involved, and  I don't pretend to know how to reverse engineer it to debug the issue. 


Those scripts were never designed to work with Drum Presets. I've been holding off hoping Artiphon will release an update of OrbaSynth which would allow this. I did make an update a while back so that the script will work for Stem Presets (similar to Drum Preset but will repeat). I don't think this would help you achieve what you are looking for however. :(

I think the best approach is what I did in the very beginning.. Take a Drum Preset, update the UUIDs and just edit the paths to the wav files.. That's how I achieved this:

Actually, use my scripts to make a stem voice (it will generate all the UUIDs you need) Then edit an existing Drum Preset and just replace the .wav files referenced. Good Luck!

1 person likes this

Wow, I really appreciate the suggestions--I feel like if I can get this working, this gadget will really be a great little compositional tool for me. I also appreciate the mental stimulation of digging into Python a bit--cheers! I will report back with results. Thanks again, you all.

Login or Signup to post a comment