Skip to content

E-mu Proteus #403

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 14 commits into
base: master
Choose a base branch
from
Open

E-mu Proteus #403

wants to merge 14 commits into from

Conversation

christofmuc
Copy link
Owner

By DeepSeek and me.

@christofmuc
Copy link
Owner Author

These were my questions (minus the code pasted):

We're doing some Python programming today! I will give you a file for a KnobKraft adaptation that is for the E-Mu Morpheus Synth. You will take that and change it so it supports the E-Mu Proteus Synth instead. If you need information about the Proteus, let me know, I can give it to you.

Here is the adaptation code:

First shot by DeepSeek

Here is an editor implementaton in Java. Ignore all the stuff with UI construction and specific parameter changes. Try to extract the information that you need to make sure the Knobkraft adaptation works:

Not too bad, but I think the name is not extracted correctly. Look again at the Java code, where did it extract the name of the patch from?

It ended with an off by one error for number and name, because the "offset" of 7 in the Java code it transformed into an array access message[8:]. Very human like error.

…e off by one errors itself when asked one by one to look at the implementation again.
@christofmuc
Copy link
Owner Author

Chat GPT is more cautios. Answer to first question:

Got it! To adapt this script to the E-Mu Proteus, I'll need the Proteus-specific details, like:

Device ID – The Proteus model identifier (replacing MORPHEUS_ID = 0x0c).
Patch Numbering – Are patches structured similarly (RAM 0-127, ROM 128-255, CARD 256-319)?
Program Dump Format – Does Proteus use the same SysEx structure for requests and dumps?
Name Encoding – Is the patch name stored the same way (12 characters in 14-bit values)?

If you have a SysEx dump from the Proteus, that would also help in verifying the changes.

It would not be able to read the whole Java file (too long input), but I gave it the parse() method I had find myself first, and then I could upload the factory bank sysex (!). That would suffice to create the adaptation. It still had questions about the banks though (me too).

ChatGPT did remove my copyright header... which is interesting! No, it removed all comments actually from the input file.

It made the same off by one error as DeepSeek, but asked was able to correct the file. I had to show it the error in convertToProgramDump additionally, then it worked.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant