Here is a link to the preset I made for the Yamaha TG33
This is the first time I’ve attempted to do anything with sysex - it took a lot of trial and error but it was quite rewarding in the end. If anyone else has this synth I’d be grateful if you could let me know if you notice any issues/improvements which could be made.
I couldnt figure out how to make a continuous control work in reverse, as is required by the volume and envelope level controls on this synth. My work around was to make these categorical controls and put in each individual point on the control. These match up just right for the volume controls but not quite for the envelope levels.
There are a few other parameters you can control with sysex on this synth but they require full patch messages of 605 bytes to edit which I believe is beyond the limit for the electra.one - let me know if I have this wrong.
I didnt include the vector controls in this preset yet but I might come back and do that later - I still quite like using the vector control on the synth while playing alongside the electra.one.
I just remembered an issue I encountered early on when making this preset which it would be good to know if others have faced similar.
Element B and D have a paramenter called ‘WAVE TYPE’ which have options ranging from 0 to 255 so 256 options in total. This control works fine when there are only 255 options (so only from 0 - 254 or from 1 - 255) but if there are the full 256 options included in the list control, the electra one crashes either while transfering the preset or while navigating to the relevant page on the electra one and can only be awoken by clicking the reset button.
Is this a limitation of the list controls? They can have no more than 255 items in there? I didnt find this in any of the documentation but it’s hard to search it.
In this preset I opted to do without the first in the list, E. Piano 1, as its easy enough to wiggle the data entry knob on the synth to that option if I want it.
Hi, I cannot say it is the cause for this phenomenon, but I noticed many of those sysex wavetype controls in the TG33 preset have been given the same parameter number 0. That can surely cause problems.
Make sure that first per parameter type (CC, NRPN, SysEx) you assign ech control its own unique paramteter number, so you avoid that they share the same parameter map memory.
Once that is done, check if that would solve your issue.
I also notice your default value for the Wavetype is a 0, and none if the items in the list have that value. Better choose a default value within the range of possibilities.
Thanks very much @NewIgnis, I will give that a try.
Do controls that are on different pages also need to have different parameter numbers? So there must only be one control in the whole preset accross all pages with parameter number 0?
I will try updating it but I am not confident it will fix the issue. The preset as it is works fine, the issue with the electra one freezing happens only when an aditional option is added to the WAVE TYPE control on either Element B or Element D. I’ll let you know if I have any success.
Yep each control that is controlling something else, should get a different parameter (within its control type). I’m not sure either it’ll fix the issue, as with a SysEx control you can differentiate with the SysEx content. However, you might have experienced weird things: changing the wave type on one element will have shown you the same value on another control with the same number. And if that one is out of range, it might be giving unexpected results. Anyways, clean that up first, before we dive deeper into it.
I have updated the parameter number on all the pages so each separate control has a different parameter number.
I have also updated the default value for those parameters to an existing value.
The preset works fine until I add the extra option to the WAVE TYPE control on Element B or Element D. I think there must be an error in the JSON I have written for that control. The way the synth responds is the parameter changes with the final byte of the message, until it gets to 7F. At that point the byte just before it needs to change from 00 to 01 and then the final byte starts again at 00 and goes all the way up again with the remaining values.
This is what I have written for it:
I might have made an error with the parameterBitPosition, byteBitPosition or bitWidth as I did it through trial and error rather than really understanding exactly how it worked…
I did some further testing.
The cleanup isn’t correct yet, Yet, that is indeed not the cause.
- Page One “Voice Common”:
– the first and last control share the same parameter Sysex 11.
– EG release and Modwheel PM share the same Sysex 20.
To me, your JSON is correct.
Having a value of 0 is also acceptable.
It’s not an issue of memory (I checked by taking out chunks of controls) either.
But the moment a 256th item is added to the list, the preset hangs.
You’ll need to report it as a bug.
Thanks so much for looking into that and pointing out those ones I missed.
I tried making a whole new preset with nothing in it but that control - just to be sure that is where the issue is coming from. It works fine if the options range from 1-255 but as soon as option 0 is added in, it breaks in the same way.
It also breaks if the additional option is added with a value of 256 rather than 0.
I will type up a bug report and include a link to this thread.
Thanks again for helping out with this @NewIgnis!
I worked with the preset recently. I noticed one small issue. The Volume controls A, B, C, D have one record that breaks the sequence of values. It results in an abrupt change:
Ah well spoted Martin!
I had the same error in a few other controls too as they were copy pasted from the volume ones.
I have corrected those now - thanks for pointing out!
Would be great if the Eone will support bigger sysex messages.
I had the TG33 now only the SY22 and really love it but when editing sounds I really want full control over the 2-op FM voices.
This we can only do if we change some values in a patch sysex message.