Yamaha TG33

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.

3 Likes

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:

[
“43”,
“10”,
“26”,
“02”,
“00”,
“01”,
“00”,
“16”,
“01”,
“7F”,
{
“type”: “value”,
“rules”: [
{
“type”: “sysex”,
“parameterNumber”: 200,
“parameterBitPosition”: 7,
“byteBitPosition”: 0,
“bitWidth”: 7
}
]
},
{
“type”: “value”,
“rules”: [
{
“type”: “sysex”,
“parameterNumber”: 200,
“parameterBitPosition”: 0,
“byteBitPosition”: 0,
“bitWidth”: 7
}
]
}
]

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.

2 Likes

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!

3 Likes

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:

image

1 Like

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!

2 Likes

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.

1 Like

I am still waiting for my Electra 1, but from looking at this preset on the site, it, it looks like the 2-op fm voices aren’t included in it. Is that the case?

That’s right. There is a way to control some aspects of the 2-op FM voices which arent included in this preset because they require sending a full patch sysex message of 605 bytes (I think). At the time I made this preset that was beyond the capabilities of what an E1 control could send. I’ve not kept track of whether that is something which has been changed in subsequent updates to the E1.

There’s a software editor for the TG33 called Patchbase which does give access to those controls - I think it works through a subscription model.

Yea I have been using patchbase for my tg33 but it’s honestly fairly buggy and I can’t get the ipad version working at all. I also would love to be able to control all parameters from knobs rather than staring at a laptop screen or ipad for hours.

Would you be up for checking if the newest e1 MKII firmware can handle sysex messages of that size? I would be happy to compensate you for the time if you could fix up the editor.

PS: I found a thread from October 2023 that says they were working out the sysex message size limitation for mk II. If you would be willing to look into it, that would be amazing.

1 Like

Do you have a link to the thread?

1 Like

Let me know if this link works. Martin posted in the thread about the mkII saying it can handle much larger sysex messages

The link works but I don’t see anything about the size of sysex messages the mkII can send, only that it will be bigger.

To be able to change the 2-op fm parameters on the tg33 you need to send a sysex message for a whole patch with each change of the control, which is 605 bytes.

As a first step I suggest you check with @martin whether that’s possible on the mkII devices.
If it is, and you still have access to your patchbase editor a simple way to get hold of the sysex messages (rather than squinting at a copy of the manual) could be to point patchbase at a midi monitor, wiggle the relevant controls on patchbase and use that information to add the relevant controls to the E1 preset.

I don’t have a mkII device and my approach to making this preset involved a lot of trial and error so I’m not sure how much help I can be. But the preset is there for you to add to
however you fancy, and in my experience the members of this forum are super helpful with any questions that might arise.

2 Likes

Thank you! I’ll message Martin and get an answer. I am NOT someone adept with computers at all…even learning MIDI up to this point has been a slog, but I am good at chasing the sounds I want, so it must be done lol

Do you have an MKII/latest firmware and access to the patchbase TG33 editor? It appears to be able to handle larger sysex messages and the patchbase software does have control over the 2-op FM voices. Maybe we could work together to update this preset to include them? I’d love to be able to gain full control over the TG33 on the E1 rather than resorting to patchbase…