Trying yo understand the .beatsteppro file schema (exported from MCC)

does anyone understand the .beatsteppro file? is there a schema to decode it?

i’m trying to figure out if i can easily write up some python code to translate a .mid file to a sequence that can be pasted into a .beasteppro file for importing into MCC

{
	"device": "BeatStepPro",
	"version": "2.0.1",

	"112_1": 9,
	"112_2": 65,
	"112_3": 36,
	"112_4": 0,
	"112_5": 127,
	"112_6": 1,
	"112_8": 3,
	"113_1": 9,
	"113_2": 65,
	"113_3": 37,
	"113_4": 0,
	"113_5": 127,
	"113_6": 1,
	"113_8": 3,
	"114_1": 9,
	"114_2": 65,
	"114_3": 38,
        […]
}

i could spend days and days trying to decipher it, but if anyone has any insight to share that would be grand!

Hello !

I can’t explain everything as this is a pretty old product that I don’t know well, but I can give you some insight, hopefully enough for you to try something.

You must use the BeatStepPro parameters definition in order to check what are the parameters ID you need to change. Every BSP parameters that are stored in the .beatsteppro file will be described in BeatStepPro.json in the MCC resources folder.

I recommend you to send a memory to the BSP and get the whole MCC midi console output for analysis. If you succeed to find the SYSEX that are matching theses parameters, it will help you understand the values that you need to use depending of your midi file.
We have 64 steps by SEQ pattern, and they are splitted in 4 groups of 16 steps because of some communication protocol limitations.
I can also say that each midi notes have 4 parameters, the velocity, the gate length, the state (on/off) and its pitch.
For each steps, you will need to find the 4 parameters that are associated to it and modify them.
Don’t forget to set the seq length too.

I can say much more except that it won’t be easy, but that’s doable.