Studio Electronics SE-3X SySex

I’m thinking about building a preset for the SE-3X with parsing. Has anyone worked on this? I know @NewIgnis has parsed the Roland SE-02, but I’m not sure if there is much overlap.

Here is an example. This is the send/save message for patch 1:
F0 00 00 4D 01 00 3A 22 1A 00 19 33 18 41 73 33 38 2B 39 21 00 37 0A 02 00 71 0A 03 00 00 17 00 00 00 01 15 0A 0A 01 02 00 00 41 3F 00 00 00 00 02 01 7E 00 00 00 09 0E 0B 00 00 00 01 01 00 01 02 7E 7A 14 00 00 41 14 01 00 01 03 00 22 04 00 00 0B 00 02 07 00 30 00 00 00 00 00 00 00 76 40 02 12 00 04 00 53 7E 01 00 00 46 02 00 08 77 00 00 00 00 00 00 41 4E 41 4C 4F 47 20 49 53 20 4F 4E 20 21 20 20 2E F7

So far all I have deduced is that 00 00 4D is the manufacturer ID. I am assuming the next byte 01 is the model ID (it is the same for all patches). The next byte 00 is the patch number (it always matches the synth’s LCD patch number minus 1). The 16 bytes 41 4E 41 4C 4F 47 20 49 53 20 4F 4E 20 21 20 20 is the patch name that matches what is displayed on the LCD. The 2E may also be part of the name (a .). So far, I haven’t seen that byte change across patches but a . isn’t displayed on the LCD so it may be something else. I was expecting it to be a checksum.

Anyway, hoping someone has made more progress.
Cheers

2 Likes

Wow! That would be nice… I mean the SE-1, SE-1X and SE-3X have a lot of controls on them already but sometimes them being not quite in reach is not super convenient… I have an SE-1 upgraded to SE-1X and SE-3X firmware… Haven’t done any E1 work for it though…

FYI, here is a nice SE-3X preset. It just doesn’t have patch parsing, so the controls are not in sync with the loaded patch. I’m looking to add parsing.

2 Likes

Thanks, forgot about that preset! And good luck with the patch parsing efforts… Still trying to add that and some other stuff to a Kiwi modded MKS-30.

Here’s a way to do it, called ‘Man In the Middle’ (and is what I did with the SE-02): You use the SE-03X software editor, but instead of connecting it directly to the synth, you connect it to a port that you can monitor via MIDI-Ox which in turn forwards it to the synth, and in turn you connect the synth to another monitorable port which in turns forwars everything to the editor.

If you do this right, the MIDI stream will flow regularly, and you will see the stream pass through the monitor and then you see and reverse engineer all request and replies…

You’ll find some more info here on how I did the SE-02:

Oh, and I read somewhere the SE-3X resonance is not remotely controllable…
EDIT : resonance is okay. It’s the filter mode that is not saveable nor remotely controllable.

2 Likes

I’m not sure that is correct. You cannot select between the different filter types as far as I know as they are only switchable in the hardware and not savable in the patches either… One of the biggest drawbacks of that design… That’s what I wasn’t too tempted by the SE-3X… To me that is inconsistent with the idea of having patch memories…

1 Like

Thank you! I have been taking the “change one thing at a time” approach to deciphering the SySex patch data. So far, I have been able to identify the 26 bytes of the message that are the main front panel controls. No surprises so far. But most of the controls (around 90 bytes) are buried under the shift button and in the menu. So many hours of fun to go!

I’m sure I will have to bug you again at some point regarding the request/response messages. I have yet to see anything like a request message during my snooping. But it must exist.

And yes, its the filter type that is not controllable via midi, and also the distortion type.

Cheers

Sorry, my mistake, it’s indeed the filter mode switch that is not memorized with each patch.

1 Like

Really? I have an atc-x and the filter types can be remotely switched

Making progress. Have identified the majority of pieces of the Sysex message for the SE-3X. I have put the info in a doc
SE-3X SySex message structure.pdf (200.5 KB).
Doing this makes me wonder if there is repository for device Sysex information where this kind of info can be archived.

2 Likes

There is a way to remotely switch between the SEM filter (LP or BP) and a group of 5 LP filters. But you can’t select which specific alternative LP filter. From the sysEx message I have determined that when the SEM filter (LP or BP) is operative the oscillator 1 wave shapes options are coded as
00= NONE 01=TRI 02=SAW 03=TRI/SAW 04=SQR 05=TRI/SQR 06=SAW/SQR 07=TRI/SAW/SQR
And when one of the other filters are operative the oscillator 1 wave shapes are coded as
08=NONE 09=TRI 0A=SAW 0B =TRI/SAW 0C=SQR 0D=TRI/SQR 0E=SAW/SQR 0F=TRI/SAW/SQR
So, one could remotely choose between the SEM filter and the other group of filters . But can’t select which specific one. This is also apparent in the SE-3X editor where only the SEM filter or the other filter group are selectable. So, definitely less than ideal but better than nothing.
FYI, the selection between SEM LP and BP is hidden in the noise signal path options of the SysEx message. When it is in LP mode the options are coded as:
00=NOISE->VCF->VCA, 40=NOISE->VCA
and
20=NOISE->VCF->VCA, 60=NOISE->VCA
when in BP mode.

Anyway. In terms of parsing I am now stuck. For the life of me I can’t see communication that looks like a patch request - like I did when I was parsing the Future Impact synth. When I select patch 98 to save I see this on the input channel


The first 2 are a bank select, and the third is the patch number. I don’t know what the next CC7 is doing there. Then there is the SysEx dump (which doesn’t include the patch number in byte 6), and then CC7 again. Is the CC7 relevant?
On the editor side I see

which does include the patch number in byte 6.
Any suggestions on how I should proceed? Thanks

1 Like

Here is a new preset for the SE-3X. It probably works with the SE-1X too. It includes the “front panel” CCs and all the unassigned “menu” parameters. The preset doesn’t include patch parsing yet. :frowning_face: I still haven’t figured out how to request a SysEx dump from the synth. So, you have to use the SE-3X editor’s midi learn function to assign the “menu” parameters to the corresponding preset controls. Without patch parsing, the preset controls are all at default values.

3 Likes

Cool project :slight_smile: - It’s tough when the manufacturer doesn’t provide any documentation…
It might be worth emailing them and explaining what you’re trying to do (so that they don’t think you’re trying to steal their business :wink: )

Thanks. I tried that and was told in no uncertain terms that their SysEx info was “proprietary”. They sell an editor for $30 USD and I guess they view any attempt to build an alternative way to interact with the synth as competition. Sad. I viewed it as a way to expand biz for their synths, which cost over $2000 USD. 2000 >> 30 but their calculus was different.

2 Likes

SE are, in my experience, very difficult to deal with and take ages for anything. I waited nearly a year for a paid for eprom for my atc-x. Also the editor, at least if it’s similar to the atc-x editor, is not done by SE themselves, but by a French guy. It’s compiled badly and has a lot of bugs.
But let me ask you, have you used the vst plugin or the stand alone version for sniffing the midi traffic? Because with the atc-x editor, only the stand alone does sysex transfers

1 Like

I have been using their editor. I was able to use that to decode the sysEx patch data. So, I have all the info needed for mapping the sysEx data to the E1 controls. But I have not been able to discover the SysEx message that requests a patch dump from the SE-3X. That is the missing piece to implementing patch parsing. Hope that makes sense.

1 Like

@kiwigrass try this: i have the SE-02 and built a preset for this. I was able to fully reverse engineer because I bought SE’s editor for it.
That editor is 99% sure made by the same guy as the SE-03x’s.

IIRC that sysex was not similar to Roland’s standard way of using SysEx . So it mightvery well be this synth uses a standard made by SE.

Look at my SE-02 preset, and amend the sysex dump request command for the SE-03.
60% chance it works and it saves you 30 bucks

I have been using the SE-3X editor, so I’ve already spent my $30 :slight_smile: @NewIgnis I have been trying your suggestion of using the SE-02 request message as a template for the SE-3X. But so far I haven’t lucked in on the right combination.

Now, it is quite possible that I don’t have the editor routed correctly, and that is why I’m not seeing the request messages. My detective work in decoding the SysEx patch file was by making systematic changes to parameters, pressing save on the SE-3X and documenting the resulting change in the SysEx message leaving the SE-3X. So, I only seem to be picking up messages coming from the SE-3X, and not any going to it.

I have things routed through a mioXL and have tried various combinations of ins and outs. But so far to no avail.

Not sure, but I think I used loopbe MIDI to intercept what went out of the editor, an then using MIDI-ox to forward it further to the synth

Got it. I am now able to intercept messages from the SE-3X editor to the synth. But is it possible the editor doesn’t send patch request messages? When I change patches on the editor most of the time all I am seeing are bank select and program change messages and then CC7=127. As I scroll through patches on the editor I do occasionally see a whole patch message sent - I think that is when I select a patch that has been edited but not saved so it is sending the edited version to the synth.

I’m so confused.