Moog Matriarch Globals

Hi there ! Just ordered my E1, very excited. (also my first post, yay!)
Given how stupid and unusable the so called “Globals” are on the Moog Matriarch, and given that Moog doesn’t provide any editor, I thought it would be a good project to make an editor on the E1. I will dig into it as soon as I receive my unit, but I was wondering if someone else here owns a Matriarch.

2 Likes

No Matriarch in my studio but happy to help with getting it going.

1 Like

Wonderful. It’s working with Sysex. I didn’t really looked at how sysex work in the editor, I know there is a way to use json files for the most “complicated” formatting, but I’ll ask for help if needed (which will probably be the case).

1 Like

What Martin is trying to say: Buy him a Matriach, and he will be finding a solution for it ASAP :stuck_out_tongue_winking_eye:

1 Like

So I received my E1 and already started the sysex editor. It’s gonna be a game changer.
Anyway, quick question. For the messages that contain MSB and LSB, the only way is to use a json file ?

You can use the editor and add the right sysex that splits one control param value into two bytes, MSB and LSB. Documentation here: Writing SysEx templates | Electra One Documentation

Here is an example control from my preset:

control1

The JSON in the data section looks like this:

[
“42”,
{
“type”: “value”,
“rules”: [
{
“parameterNumber”: 1
}
]
},
“50”,
“41”,
“03”,
“00”,
“2A”,
“00”,
“01”,
{
“type”: “value”,
“rules”: [
{
“parameterNumber”: 6,
“parameterBitPosition”: 7,
“byteBitPosition”: 0,
“bitWidth”: 1
}
]
},
{
“type”: “value”,
“rules”: [
{
“parameterNumber”: 6,
“parameterBitPosition”: 0,
“byteBitPosition”: 0,
“bitWidth”: 7
}
]
}
]

Thanks a lot. I’m learning.
So if I get it correctly, in your example :
{
“type”: “value”,
“rules”: [
{
“parameterNumber”: 1
}
would not be useful for me, as it uses another parameter from the preset, right ?

{
“type”: “value”,
“rules”: [
{
“parameterNumber”: 6,
“parameterBitPosition”: 7,
“byteBitPosition”: 0,
“bitWidth”: 1
}

This must be the MSB, could you explain a little bit what’s the meaning of the 4 lines ?

Sorry, I realize I just dumped an illegible json on you :smiley:. Yes, you can ignore the first part. The key for you will be the last section in the json, which are the MSB and LSB. In my example, parameterNumber is the current parameter I am reading from. I am reading from parameterBitPosition 7 of that parameter. I am going to write into byteBitPosition 0 of my MSB and I am going to write just 1 bit (bitWidth 1). So, the rest of the bits will be 0.

Similarly, for my LSB, I am reading from the current parameterNumber (6). I am reading from parameterBitPosition 0. I am reading 7 bits (bitWidth: 7) and I am going to write them starting byteBitPosition 0.

1 Like

Did you ever finish this? I was starting on it since I just received my Electra.One. I thought it would make sense to see if anybody else had done some work.

Im also trying to figure out this whole json thing.
I’ve gotten a few basic things working by just using the {“type”:”value”} message in the correct location of the Sysex string.

There seems to be some stuff going on behind the scenes so it’s a little confusing.

I’ll post whatever I get going if you don’t first :wink: