- This topic has 2 replies, 2 voices, and was last updated 6 months ago by who.
-
AuthorPosts
-
-
May 21, 2024 at 10:26 am #182841whoParticipant
I’ve been working on a remote control panel for the DSP4000 and one of the last things I want to implement is a rotary control that mimics what the actual rotary encoder does. So far I have been unsuccessful. Can anyone help me or point me to documentation that explains how the rotary encoder generates system exclusive?
-
May 22, 2024 at 2:22 am #182871PuppeteerParticipant
As I understand it, this is very difficult and hasn’t been documented.
You should be able to record the output of the rotary encoder by turning sequence out to ON.
This is how I think it works (though this is just from reading the short incomplete sysex spec in Tech Note 94 and some forum posts.
Every parameter has an ID. When that parameter is selected and the wheel is turned, a sysex message is sent with the header, then a message type (0x3c for SYSEXC_USEROBJECT_SHORT) the parameter id (as a string of ascii values terminated by a space and the parameter value again as an ascii string terminated by a space.
For example, the after the 0x3c there might be 0x66, 0x30, 0x30, 0x30, 0x31, 0x20 which correspond to decimals 102, 48, 48, 48, 49 and if you look up those on an ascii table you will get f0001 <space> (that is the parameter id).
The parameter value might be sent as 0x32, 0x30, 0x39, 0x20 which correspond to decimals 50, 48, 57, 32 which gives a value of 209 <space>
Then there is an 0xf7 to close it.
You’ll have to work out what each parameter number corresponds to and the parameter range for each one. Its not documented. Moving the wheel will need to know what parameter is highlighted and the current value in order to send the correct message. Not all parameters are available in all algorithms or presets.
The benefit though is, that you could set up a range of sliders or knobs to control each parameter without needing to select them on the screen, but you’ll still need to deal with the issue of which algorithm has which parameters.
Good luck. This is the level of reverse engineering the Kurzweil file format that took us nearly 20 years.
-
May 22, 2024 at 12:19 pm #182889whoParticipant
Thanks Puppeteer! That gives me a lot to chew on. I’ve done a little of what you describe, specifically turning sequence out on and viewing the sysex. I was disappointed to see how much changed in the sysex when I changed the context. I was hoping there was some secret sauce that made it easier to work with, but I guess that’s not the case.
The other thing I noticed is the ballistics of the encoder appear to change based on the values available for a given parameter, adding more complexity to a solution.
-
-
AuthorPosts
- You must be logged in to reply to this topic.