amazing, just came in to look for this today! thank you so much.
I’ve just integrated the SE-02 into my live setup and am struggling with the fact that it doesn’t have a knob “pick-up” mode like many synths with presets. does your template update when you load a new preset on the synth? is that related to the sysex patch request feature you mention is missing?
Unfortunately it is indeed the SysEx I need to provide a template update.
This being said, I still completed this Preset with all patch functions because I found it quite inspiring when playing the SE-02, even without the template update.
I looked around but I can’t find the Sysex implementation chart , especially the parameter table for the patch dump, for the SE-02. That one is vital to be able to get you your pickup mode.
If anyone has it . Or cares to reverse engineer the said table?
I couldn’t find it either.
There is a software editor done by SE themselves, I looked into the manual and there’s no implementation detailed there either.
I will try to ping somebody at Roland. I think it is quite a pity they do not publish sysex implementations for all their gear. It is weird especially for them, because they often provide extra functionality/parameters over the sysex…
worst case is someone takes the time to stick a MIDI Monitor in between the SE-02 editor and the hardware and captures/maps out everything being sent and received.
Roland in the past has been very helpful when I contacted their service centers for parts, manuals, etc. Not sure what they are like today though.
I have the SE-02 editor from Studio Electronics, so I thought it might be worthwhile monitoring the traffic going on between the two of them. The editor only finds the SE-02 via USB, any one has an idea how to intercept USB MIDI data from editor into SE-02 (MIDI thru won’t work, I tried that, but the editor won’t connect with the SE-02 if midi thru or MIDI echo is on)? I’m pretty sure it is MIDI !
The other way round is easier, by monitoring what came out of the DIN MIDI OUT of the SE-02.
Here’s what I found: if the editor requests a patch from the SE-2 , the SE-2 responds in 4 chunks:
3 times 78 Bytes, and one time 62.
The header starts as follows F0 41 = Roland 10 = Device ID (if the SE-02 follows Roland standards) 00 00 00 44 will be the Model ID SE-02 (Roland typically adds one or more 00H’s in front of the Model ID to ‘differentiate various things’ (found in D-05 MIDI manual) 12 is usually a Roland command ID (DT1) for transfer while 11= RQ1 is the counterpartner for Request.
So my guess is where are indeed looking at a data transfer where shortly after 12 is the body , consisting of an address then data and it ends with a checksum.
When the SE02 editor is finding the SE-02 for the first time, this is what the SE-02 responds :
Last check: retrieving the first patch of the first bank, for which I know it is called INBOUND . I believe the names to be 16 digits long. The name is in the second to last row: 49 6E 62 6F 75 6E 64 and a bunch of zero’s stand for “Inbound”
I have a new challenge here: the transmission in the Roland SysEx does not correspond with the transmission of the CC changes.
An example: SysEx transmits VCO1 range as a value between 0 and 5. But the CC controller 16 for the same purpose transmits the values 0,25, 51, 76, 102 , 127. Is there a clever way I can have the SysEx values correspond with the order of the items in the control list, rather than with the value I gave to each list item?
Any other ideas?
How I can best correlate 0 into 0, 1 into 25, 2 into 51 using the patch editor?
In other words the received 0…5 from the 3 bits of byte 62 need to get converted via stretchValues() and the resulting 0…127 is to be stored in parameterNumber 22.
How do I construct such json syntax in the responses section?
(By the way @oldgearguy, thanks for the tip of monitoring the traffic between SE-02 and its editor. I overlooked it the first time you suggested it, but subconsciously I think you planted that idea in my head anyways)
Hi, I’ve just implemented patch parsing on the SE-02. It now should retrieve the settings from the SE-02 if you use the ‘patch request’ pad, or the left upper button of the E1. This is the “pick-up” mode you were looking for.
Be aware: only the fader controls should work fine for now. The list controls will change also but retrieve the wrong value from the patch request as yet. I need some more feedback from the guys on this forum before I can mend it.
@moullinex Can you try it out? It should drastically improve smooth sound transitions when playing live.
Hey @NewIgnis
Would you mind sharing your knowledge about SE-02 SysEx with the world? For posterity / in open source spirit.
This investigative thread of yours is probably the only real source of info about SE-02 specifics on the Internet.
I don’t own Electra One so can’t even download your work in order to try reverse-engineering it.
It would be great to document the meaning of various elements of SE-02 SysEx, especially the patch-related messages.
No problem, but I’ve moved on to other synth investigations since. Tell me specifically what you are looking for. Also, you can actually check my work even if you do not have an Electra One. If you use the Electra One editor, you can ‘read’ my preset and check the SysEx in it yourself.
It’s the great thing about Electra One: the work we share is open to everyone.
@NewIgnis I would like to document what do different parts of SE-02 SysEx mean.
Whatever patch I ask the editor to retrieve it sends the same 4 commands, so it looks like it is indeed requesting the edit buffer of the SE-02.
This part is of particular interest to me. Have you figured out the meaning of these 4 commands / responses?
Do you know on a byte-level how do these correspond to patch values (specific knobs/switches)?
I am not sure if @NewIgnis used that, but E1 allows users to reverse engineer the incoming SysEx messages quite easily. One can change the parameters on the synth and observe changes in the coming SysEx patch data.