Hi,
Please forgive me if I’m not using the accurate terms, I’ll do my best but I’m not an english native speaker.
I’d like the Electra One Mini to display the new parameter values of the Oberheim OB-X8 everytime I change the preset on the OB-X8 panel.
It would be very useful not only to know where I’m at and avoid a “jump” in the value, but also to study how the presets are built.
I’ve sent an email to Oberheim and they told me it would theoretically be possible if the controller handles Sysex messages.
I’ve tried doing it myself with the help of a few AIs but we were stuck in a loop for hours, the LUA code they gave me never worked.
I wanted to ask you if you can give me any help or information : is it really possible to do it ? is it really so complicated ? should I pay for a more advanced AI service that would be able to do it (Claude code?).
Any help would be appreciated, thanks in advance.
Start with the basics:
- do you know MIDI already enough to understand CC, NRPN, RPN , Sysex ?
- And did you find a MIDI Implementation guidie for the OB-X8 explaining the SysEx ?
As a side help do you happen to have a prophet-6 or OB-6?
- I’ve been using CC for a long time, and I got into NRPN recently, to map the OB-X8.
I have no experience at all with RPN or Sysex. - Yes, there is a Sysex part in the manual, but I’m not sure which chapter exactly concerns what I’m looking for, here are the chapters :
- Universal System Exclusive Message (Device Inquiry)
- Request Program Dump
- Request Program Edit Buffer Dump
- Request Global Parameter Dump
- Program Data Dump
- Program Edit Buffer Data Dump
- Save Edit Buffer
- Global Parameters Data Dump
I guess it’s the last one ?
I didn’t dare to try doing it myself yet because there was already an available patch for the OB-X8 made by another user, and the creator of the patch didn’t do the code for parameters dump, so I thought ’ if he couldn’t do it, I don’t think I could either ".
After the chapters I mentioned, there are actually not a lot of information, only this page :
- I don’t have neither a Prophet 6 or OB-6, I’ve been using only software for a very long time and I’m not very experienced with hardware synths.
Well, that’s a lot of hurdles, but if you are a willing to dive into it, it is certainly feasible. The set-up will be very similar to the set-up of a P-6 or a OB-6 (both I own and made presets for it that I published, including the patch parsing side). What I need you to do then, if you are up to it:
- get yourself acquainted with the principles of sysex. No need to study RPN, but the knowledge of CC and NRPN will be useful
- can you include the manual of the OB-X8 to this thread ? I’ll then do the same for the P-6 or the OB-6
- then I’ll be able to point you to the similarities of the sysex between the OB-X8 and the other synth. Once you see the similarities you’ll be able to concentrate on the differences.
- and then I’ll guide you through my preset, with the focus on patch parsing, and guide you how to build your own OB-X8 preset and ensure early enough in the process you get the hang of that parameter parsing.
- After that it’s just repeating the same process until you’ve covered all the parameters…
By the way, I found the doc on OB-X8 (version 1.2 May , 2023) on-line. If there’s anything more recent, let me know.
Pages 112 until the end are of interest here, but especially the sections about NRPN and about SysEx. That is exactly what we need to build a preset.
Other goood news: the way MIDI is implemented is very close to the way it was implemented on the P-6 and OB-6. It was to be expected because usually the SysEx flavours within one company doesn’t alter htat much from one synth to another.
Let’s dive some more deeper in the matter.
NRPN Pages 119-123.
At first sight the NRPN implementation looks complete too. Most parameters do not exceed the standard 0..127 range. Exceptions are the typical ones : Filter Frequency (0..175), envelopes (0..255). We’ll surely go for NRPN on those controls.
Also the global settings are similar compared to those from the P-6 / OB-6 platform.
SysEx Pages 124-127.
Finally, the sysex dump requests and dump replies are familiar in their set-up, as well the packed data format, which Sequential (and same other companies too) uses to store 7 8-bit bytes into 8 7-bit bytes.
Generally speaking we can use “Request Program Edit Buffer Dump” sysex after each Program Change. This will allow us to capture all parameter settings of a newly chosen sound via the replied “Program Edit Buffer Data Dump” sysex. When then you tweak a parameter on the E1 or on the Synth itself, the use of NRPN’s should keep both devices in sync, until another Program Change is happening.
We could also use an instruction to save a tweaked sound into a memory location using the “Save Edit Buffer” sysex.
Last but not least, we could request a dump of all global settings using “Request Global Parameter Dump”, which will be replied by a “Global Parameters Data Dump”. I do not expect though that the OB-X8 will send out any NRPN when you change a global setting on the synth itself, but we can surely allow the E1 to change a setting and have the OB-X8 adapt to each single global setting change immediately.
A hurdle already taken..
There is one more piece of the puzzle missing: “which is the way Sequential has ordered the parameters within the data dump?”
This information isn’t in the manual. It wasn’t in the manual of the OB-6 nor in the one of the P-6 but I managed to get hold of it. I believe someone of Sequential sent it over to someone asking for support who was so kind to share it afterwards.
The document was called ‘P6_packed_parameter_data_assignments’.
If some one could get hold of the similar document for the OB-X8 (perhaps ask support) it will be very helpful to perform the parsing of the dump like I did in the OB_6 preset Electra One App.
Why ? because it points you towards the right order in which to expect the parameters within the dump. Doing the parsing goes about 5 times faster with than without this documentation.
If however such document is not available, one will have to reverse engineer the sysex dump. You do this by performing a edit buffer data dump, then change a parameter on the OB-X8, then dump again and compare both dumps: all bits should be the same, execept for those that are related to the changed parameter. A slow and tedious process, but eventually you would get there. Perhaps AI has ideas on how to speed up the process. But I don’t have an OB-X8 myself (I wish I had) so I can’t do such reverse engineering myself.

