Skip to content
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

Ensoniq ESQ-1 adaptation #120

Closed
Mostelin opened this issue Nov 29, 2021 · 8 comments
Closed

Ensoniq ESQ-1 adaptation #120

Mostelin opened this issue Nov 29, 2021 · 8 comments
Labels
New device Ready for release Will be part of the next release

Comments

@Mostelin
Copy link

Mostelin commented Nov 29, 2021

I have started a discussion #119 and a Wiki page for the Ensoniq ESQ-1, and attached a working adaptation for it.
ensoniqesq1.88.zip

NB: remove the version number characters (.88) from the file name before use.

@Andy2No
Copy link

Andy2No commented Nov 29, 2021

The way to attach most things, on Github, is to put it in a .zip file, because that's one of the allowed file types.

Under the box you type in, you should see a message that says "Attach files by dragging & dropping, selecting or pasting them.". If you click that, you should see a File Open dialog box - or you can try dragging the zip file into the box you type in.

@Mostelin
Copy link
Author

Thanks for the tip. I've amended the original post and added the zipped file.

@christofmuc
Copy link
Owner

@Mostelin Awesome, Marc! You have done a great job wading through the documentation to get this working! I'll include it as a standard module with the next official KnobKraft release, if that is ok with you! Let me know if there is any more you need, but I understand you figured out the fingerprinting etc. by now :-)?

@Mostelin
Copy link
Author

Yes, please feel free to include this in the next release, and thanks for kicking off such a useful project.

It turns out fingerprinting on the ESQ family is very easy; as soon as I realised what you were trying to do in that function, it was solved.

At some stage I may implement the renaming function. It will require compiling some kind of lookup table, I think, as the encoding is not just ASCII.

@christofmuc christofmuc added New device Ready for release Will be part of the next release labels Nov 30, 2021
@christofmuc
Copy link
Owner

@Mostelin Good idea on the lookup table. For the simple case, you could to something like I did in the not yet finished Roland D50 adaptation, there you'll find code on how to do this in Python. In your case, it will be a bit (but only a bit) more involved with some "characters" needing a string as representation as with the "1." case, but it shouldn't be too hard.

@Mostelin
Copy link
Author

Mostelin commented Dec 4, 2021

Thanks for the suggestion. I can't find the Roland D50 adaptation you mention, though.

However, I think I have a form of 'lookup' working now, using a short Python dictionary. There's just one hiccough: the code for "8." is ASCII hex 5C (backslash) and is causing odd behaviour. I don't understand why, because it is never actually identifed as the backslash character. The 'lookup' works OK when translating from decimal 92 in the adaptation, but not when translating from the text "C5" (reverse-order hex) in my JSON file generator, where programs are processed as text. I may get some time for debugging today. Stay tuned.

EDIT: Solved. Elementary error: dictionary specified upper case, some programs quietly decoded into lower case :-)

@Mostelin
Copy link
Author

Mostelin commented Dec 4, 2021

Here's the latest revision, 0.9, which now includes better name translation from synth to ORM.
ensoniqesq1.90.zip

@christofmuc
Copy link
Owner

Released with version 1.13.5

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
New device Ready for release Will be part of the next release
Projects
None yet
Development

No branches or pull requests

3 participants