Start a new topic

Orba 2 Hacking Knowledge Base

image

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

@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.

@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!

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"/>

 OR

<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) 

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.

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.

@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.

So I looked at that Quantized2.song 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.)

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


(Can't recall where I found it.)

song

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.

@Subskybox - I had wondered about PatternList but assumed they were not used - until I noticed there was something there in a particular drum preset - but I can't recall which one, and it looked specifically drum related. Since percussion is something I don't do (friends keep me well away from drums etc.), I didn't pay much attention to it.

Turns out old versions of the App had a folder structure like this:


├───Loops

│ ├───Bass

│ ├───Chords

│ ├───Drums

│ └───Lead

├───Patterns

│ ├───percussion

│ └───tonal

├───Presets

│ ├───Bass

│ ├───Chords

│ ├───Drums

│ ├───Lead

│ └───Mixer

├───Songs

├───Sounds

│ ├───Bass

│ ├───Chords

│ ├───Drums

│ └───Lead

└───UpdateUtilities

    ├───artiphon_esp32_programmer

    ├───capsense

    └───dfu-util-win


No presets included PatternLists which I assume is the same as Loops. I was able to save a empty Loop which generated an xml structure like this:

<?xml version="1.0" encoding="UTF-8"?>

<LoopEntry name="Test" tempo="120.0" length="0.0" timeSignature="4/4" key="C"
           tagList="Test" coverImage="" description="Test">
  <MidiSequenceEntry name="" midiSequenceData=""/>
</LoopEntry> 

  

I think we've experimented with everything we've seen in the xml: SynthPatch, ModifierChain, SeekerList, BezierCurvesEntry, etc...


The last frontier appears to be PatternList. My interpretation of this is looped MIDI patterns. I've seen an old Orba 1 promo video where someone held down a pad and it looped some type of arpeggio. This would appear to be the MIDI equivalent of a Stem. I have no idea if these are currently active but I assume they are (otherwise why do these nodes appear in a .artipreset file?). I read in the old release notes for Orba 1 something about them.. I'm thinking maybe if I download some of the very early versions of the Orba 1 App, that maybe there are some presets with patterns defined. Based on the attributes however, I assume that patternData is MIDI data similar to how it is defined in a song LoopData->eventData. And that patternDuration is the same as nBars. I doubt I'll be successful, but I'm going to give it a try next.

 

I'd like to report that I finally got around to trying my stereo samples experiment. Unfortunately, it did not work.


What I created was a sound that repeated the word "left" for about 5 seconds on the left channel and repeated the word "right" on the right channel for the same duration. I then created a simple preset using this sample. The result was that I could hear "left" & "right" at the same time. The "left" and "right" may have been coming from separate sides of Orba 2 but I can't confirm. I'm not sure if there are two separate speakers in there or not. I believe @BJG145 showed there was only one speaker in his teardown of Orba 1. I tried with headphones and the channels were merged (branched mono).


I then wired the Tilt gesture to Controller# 8 & 10 (which are typically the MIDI controller numbers associated with Pan/Balance). I had hoped I could hear only "left" to start and only "right" when I titled Orba. Booo! This had zero effect. 

I tried @Subskybox's method for making loops for samples - it worked well. I have a couple of hints to get a good result. I guess these would apply to any loops.

When choosing an overall area look for similar amplitude for start and finish points. My samples also had some vibrato which could be seen on the overall view as rises and falls in amplitude. Try to find two points at similar points of those cycles -  at least two or three cycles at least,  more is better. This avoids a pulsing effect in the loop.

Zooming in until I could see the individual wave shapes I found Audacity will not always pick a good place for the zero crossing points. Choosing a place where the wave shape has a long line of lower gradient and choose the crossing point on that, then find the equivalent line for the other point. I did this by hand, but since I only had 8 samples to work on it wasn't too tiresome. But this did pretty much guarantee a good result.

I hope this will help in making your samples work well.


1 person likes this

I get the feeling that the Orba 2 sometimes gets funny ideas in it's pretty little head and needs to take a nap to get it's head together again.

I say that in jest but I wonder whether there may be some data that gets onto volatile memory and it requires some down time for it to get cleared away.


1 person likes this
Login or Signup to post a comment