Meta Morph ... a new beginning

ok, scaler done … went a slightly different direction :laughing:

Scaler module now supports Scala (scl) files for scales.
perhaps a bit overkill… but hey, why invent a new scale file format when there is a standard.

I might need someone with some more extensive scala experience to test some more esoteric scales - but for the ones I know it’s working well enough.
we also have the ability to set 3 different ‘degree leds’ with green, red or orange.

now I just need to do the custom led module
then I want to update EigenLite to a new api, and incorporate that into MetaMorph.

neither should be particularly difficult, as Ive a good idea what I want to do.

for demo and testing, unfortunately not…
the issue is, vcv has no way to ‘auto subscribe’ to modules if you are missing any.
so a user only knows they are missing something as it doesn’t work.
sure, you could tell them in a README… but we all know how many users read those :wink:

that said, we can share vcv patches here, or on patch storage… and use what we like for that.

BUT, I do want to make sure with Early Access, that I can get some help with the demo/tutorial/test ones.

Oh, and there is one other important note for development (for me)
the debug version of vcv rack (the one I compile/debug with) cannot use ‘downloaded modules’.
which means for me to use patches with Befaco modules in my dev environment, Id have to build these.
(and I don’t really want to get into that!)

tl;dr; everyone is free, obviously, to use whatever other modules they want… but for the ‘out of the box’ experience we’ll want it to be VCV Free vanilla :slight_smile:

4 Likes

Ok, the reasons make sense. Maybe a link to a thread here for additional patches?

1 Like

yeah, when I come to release the early access version - I’ll create a number of topics covering things like user guide, dev guide, demo/preset patches etc. basically, I’ll provide the ‘starting point’ for each.

the hope is, the EA community will help flesh these out to make ready for full release.
thus, allowing me to focus more on development (resolving issue/bugs etc)
as it always surprising how much time these ‘ancillary’ tasks actually take, and eat into dev time.

also… ‘engagement’ is also a really good way to focus efforts, and move this to the next level :slight_smile:

2 Likes

the illuminator is done :slight_smile:

led patterns are stored in separate files , in a patterns directory.
(to kind of mirror the way Im doing scales’

they are a json format…
example file:

{
    "green"  :  [
        [1,1],
        [5,1],
        [9,1],
        [13,1],
        [17,1],
        [21,1],
        [25,1]
    ],

    "red"  :  [
        [3,1],
        [7,1],
        [11,1],
        [15,1],
        [19,1],
        [23,1]
    ],
    "orange"  :  [
        [3,3],
        [7,3],
        [11,3],
        [15,3],
        [19,3],
        [23,3]
    ]
}

so for each colour, we have an ‘array’ of row/column pairs, specified as 1…N, 1…N
so the above gives us a pattern like

G----
-----
R-O--
-----
G----
-----
R-O--
-----
G----
-----
R-O--
-----

note:
the pattern is ‘relative’ to the key group, and will ignore values outside its size
so the above will work on alpha, tau and pico.
though, of course, the pico we’d get

G-
--
R-
--
G-
--
R-
--

one thing Im ‘undecided on’ , which I’ll likely do in alpha phase.

key on/off lighting
currently, the pattern is static
this works on tau/alpha as firmware lights the orange button on touch.
but I don’t think this happens on Pico.
however: I may decide this is a function of the ‘Device’ module or even EigenApi
so that the Pico behaves the same as other eigenharps, and so does not need special treatment.
(e.g. its a bit of pain for every module to retain led state so it can revert on key off)

ok, now on to the EigenApi re-work

3 Likes

Looking great :wink: for sure useful!

1 Like

OK… so EigenLite dev work is done, and integrated into Meta Morph.
… and its looking better than ever :slight_smile:

the observant will notice that means dev work is done for the Early Access.

left to do:

  • I plan to do a bit more testing (more general than ‘module level’)
  • I’ve got a couple of ‘known’ minor issues, which I now need to either address or document.
  • I want to prepare some documentation and demo/test patches for setting up the early access.

depending on how much extra testing, and what I find , this should be pretty quick - esp. as Ive (obviously) been testing modules as I go along.

the only assumption is, I don’t decide I want to add extra modules to simplify things further…but I think I probably have enough to get us started, and we can go from there.

5 Likes

Q. is YOUR pico under reporting max PRESSURE values?

during testing today, Ive noticed that the pico appears to be reporting a max pressure of around 75%.
i.e. you expect a range of 0…4095 its more like 0…3192.
(whereas my tau is reporting 100%, 4095)
Ive just tested in EigenD (using my T3D module) and that appears to show the same thing.

and its seems consistent, so it looks to be an oddity… (that I want to eliminate !)

can someone look at values of PRESSURE from their pico
you can use midi outputs (look to see if it does to 100 or 127) or OSC.

(preferably then do same test on alpha/tau to check that you are seeing full response there)

IF this is happening for all users, then Im going to compress the signal to full range.

bare in mind ‘full pressure’ should be attainable without making your fingers bleed :laughing:

note: Im not too worried about reporting 98-100% , thats ok, but below about 95% id see as undesirable.

1 Like

I’ll do it later tonight (at the moment in the Theather )

2 Likes

I get these value ranges with the “Experimental Setups->pico->MIDI Basic” standard Pico setup:
velocity: 1-127
pitch bend (x): 172-16194
mod-wheel (y): 0-127
poly-aftertouch: 0-100 on most keys and e.g. 0-95 on others (with some values in the history before the key is fully pressed down up to 115 - the highest value is above 100 even for the keys that end up with 9x).

1 Like

ok, thats pretty much inline with what Im seeing !
(do you have access to your Alpha, as I think that should be ‘full range’ , or at least closer to 98%)

0-100 on most keys - so that about 78% which is what Im getting…

0-95 on other , so that around 74% this is interesting too.
I’ve just noticed ONE of my pico keys is reporting about 85% of the others.
by tilting it to each axis, Ive determined which sensor is under-reporting (Y+), basically if you are down on one axis, then the max of total pressure will drop… goes back to my investigations into calibration.

ok, we should not get stressed about this… we have never noticed before…

the only reason, Ive noticed, is Im checking carefully that my code is correct, so looking for oddities.
also ‘unfortunately’ (fro those tending towards obsession), VCV reports accurate voltages and has scopes - which means its very easy for us to see when keys are not reacting as we expect.
probably best not too look… just in case you see something you’d prefer not to know!

anyway… assuming @keymanpal sees similar numbers, then Im going to compress the range, so that we get 100% at max pressure.
(Im currently testing this, and it does feel better, and more consistent with Tau)

funny Ive noticed EigenD is already doing similar for yaw/roll, by default it only uses about half the range of moment… which has kind of surprised me.

1 Like

wow… when did this changed? was it like this from the start?
(PP value decreases as we go PB…)

Also used “Experimental Setups->pico->MIDI Basic

Both Silver Pico (older one and another one)
Screenshot 2023-11-21 at 10.51.47
All keys are like this

Black Pico (lately most used)
Screenshot 2023-11-21 at 10.43.39
All keys are like this

Later test with the Alpha, got to run.

3 Likes

thanks @keymanpal , same as @NothanUmber and I , so I think we can say this is ‘normal’

my testing with Tau shows they will be 95-100%, so Id guess 120-127 in midi terms -so does not need this extra compression.

note: there will be some variants between eigenharps and even between keys, this is ‘normal’

also Id say overall its probably better to slightly over compress, so reach 100% slightly before full depression, than under and not be able to reach 100%.
in fact what Ive noticed is (on roll/yaw) is over compressing makes the touch feel much lighter, which in some ways feels better.

ANYWAY… I think we have a good starting point, once I release to EA , and users try it for themselves, and we can adjust with more feedback. ( * )

anyway. spent most of yesterday on this… need to move on to other testing !


( * ) I know some will say ‘make it configurable’, but I want to make it feel right ‘out of the box’.
most won’t ever adjust it…
e.g. in EigenD you can adjust this… how many can tell me how you do this?
hint: there is a bug in the code in this area, that Ive never seen reported :laughing:

4 Likes

ok, I think we are nearly there…

yesterday,
I created most of the documentation that I want in place,
adjusted feel, particularly, the pico

today,
Ive created a demo patch for each eigenharp, these are basically the same, but adjusted for layout.
this also helped me test most of the modules again, in a broader context.
done a lot of ‘polishing’, so that the modules have less quirks and a few QoL changes. aka, clearing most of my known issues/todo lists.

so pretty much ready to go.
tomorrow I plan to film a video, which’ll cover the release and how to use the modules etc.
from there I just need to prep the EA release !

could be released anything from tomorrow evening till the weekend…
really depends on the video filming, and more importantly editing time… which can take many hours.
but its an important stage, so users will know how to use what Im releasing!

4 Likes

Ajusting scale 1.0 > to 1.4 gives 1-127 :wink:

ummm now you have to mention it eheh

-.-.-.-.-.-

Alpha keys (same Experimental Setup )=
between 115 and 127, most of them around 120/125

1 Like

Nope… that scales the output, it’s not changing how the eigenharp raw data is being compressed.
Hint: only roll and yaw are being compressed :slight_smile:

Alpha, cool, that’s in line with what I’ve seen on tau - seems to be a pico firmware issue.

1 Like

ok, maybe workbench… keyboard or key group? (although changing some values did not change much ;-(

you’re on :fire:

yes, it’s roll and yaw axis window … though pico has a bug that its using roll axis window for both.

there window are responsible for clipping the input, basically by default 1.0, you are only using half the movement range of the axis - what is strange is that EigenD does not appear to let you increase the window size, to gain the full range. i.e. go above 1.0, just further reduce it.

I believe this is all because pressure is correlated to yaw/roll and so when you push it a bit this becomes a lot more noticeable i.e. I think more have noticed, that if you want ‘extreme’ roll on the physical key, you end up exerting more pressure… so EigenLabs opted to keep the movement a bit restricted.
… and no one noticed :laughing:

it’s not wrong, but with Meta Morph we have the ability to re-visit some of the decisions… and many more. we are not slaves to the past !

2 Likes

OK, so today I will be releasing Meta Morph into early access…

so, from here on, we can kind of ‘soft close’ this topic…
or perhaps use it for more ‘general’ discussion on how Meta Morph may develop

all discussions about the implementation, features, issues, suggestions of Meta Morph, should go into the Early Access topic.
https://community.polyexpression.com/t/meta-morph-early-access

currently, video is uploading and encoding to YouTube soon - should be up in about an hour or so.
you will have noticed Ive added more detailed topics here in preparation for the release, and to help focus things for EA, and allow community involvement.

this evening, I will prepare the release, and send out links to those that request it via DM.
(see above topic for more details)

for now, time to take the dogs out and let YouTube do its thing !

3 Likes

as Im close to release… I think time to close this.
discussion can move to the release announcement when it’s made :slight_smile: