sorry, yes… also the overall volume & transpose
Progress. I have discovered that if I select a patch on the VZ-10M it sends the patch data to the E1 preset, and the preset controls are populated.
However, a patch request message sent from the E1 preset is going unheeded. The following is sent (for example)

But there is no reply.
Do not leave the VZ in edit mode. If you do, it will not respond to incoming sysEx.
But that does not explain what you have. I’ll check the VZ-10M manual this weekend
I have it in play mode and not menu mode when I request a patch, if that is what you mean. And in Normal mode. But still no luck. I can however send patches to the preset from the VZ in Normal mode.
definitely a bigger screen than the 2 almost unreadable lines on my VZ8
looks allright though.
as said, I’ll try find some resolve this weekend
VZ powerplay book (contains description of some differences across VZ models)
I have not seen a description of the SysEx patch request message for the 10M like what is in the 8M manual. As far as I can tell, the description of transmitting INDIVIDUAL patches for the 10M is all couched in terms of pressing the number pad on the VZ. In contrast, in the 8M manual it references both pressing the number pad or using a SysEx patch request. Unless I missed it, the 10M SysEx manual also makes no reference to requesting individual patches via SysEx. This is all making me wonder if there is no patch request SysEx message for the 10M. Or am I just being pessimistic? Look forward to hearing what you deduce.
According to the VZ-1 Sysex manual the commands are the same.
Try this : play the same note on the synth over and over, and at the same time change the transpose setting on Page 1 of the E1. The VZ should change pitch accordingly.
If in the Midi-Ox monitor you see the F0 44 03 00 7N 40 01 0X 0Y F7 message leave the E1, but the synth doesn’t change pitch (and you have reviewed both devices are on the same channel, so the 7N byte is showing the same value when sent by synth or E1), then either the VZ is not responsive to sysEx yet, or the MIDI route from E1 to synth is not established.
Good suggestion. I should have said that I had already tried that. The transpose function works perfectly. The SysEx message is sent (seen via MIDI-OX), and the VZ changes pitch correctly.
The problem I fear is that I don’t think the VZ-1M or 10M can respond to an INDIVIDUAL patch request message. Only the 8M can. I did some further research on an old and now defunct VZ forum. On a couple of occasions it was mentioned that no one had been able to request an INDIVIDUAL voice patch from the VZ-1M or 10M via SysEx. The 8M is a slightly newer model and I guess Casio upped their SysEx game in the process.
Also, I mentioned earlier the different wording in the 10M vs 8M manuals. The 10M only says INDIVIDUAL patches are transmitted via pushing the correspond patch number key on the 10M (footnotes on page 89). The 8M manual mentions doing that or when the SysEx request message is received (footnotes on page 85).
Do you agree? I hope I’m wrong.
Hi @kiwigrass
Indeed no sign of a patch dump request in the VZ1 manual. That is different from the VZ8.
So you should use a different means to upload a dump. Changing the patch on the Synth itself seems do to the trick, I understand. What about changing the patch starting from the E1?
In any case, what we needed for patch editing, is al least one dump from the synth, and that you succeeded in.
Be sure the synth now is in Normal mode and certainly not in Edit mode. Check with page 8 then if the synth responds to module on/off commands. Change the name characters on page 1 and check if the same changes appear in the name on the synth’s screen. Also the C/R button should light up.
Be aware, within a quarter second or so any changes you made are recombined in a full sysex string and sent to the VZ as a new patch. So any sound will be broken off.
Figuring all this out… well it’s a bit annoying, but still a lot of fun also, no?
and I already start understanding the value of this iPD.
I’m now trying to implement the harmonics function as well, but with an ‘organ’ twist: apart from only pure multiplications or divisions as the VZ provides, I’m foreseeing setting also fifths and at least all registers as found on the OB-3 organ. Then, by setting all 8 (not 9 !) oscillators in mix mode on sine waves, each to another organ register… with the env depth faders on page 8, you get an organ
Hi @duster and @Hardingmal try doing the same experiment above as @kiwigrass .
Oh and by the way, if you want to see some debugging info: if you keep the E1 connected to the PC and you open the E1 editor and go in lua, you’ll see some debugging info appear on the bottom part of the screen while manipulating the controls or receiving a sysex dump. In time I’ll remove them, but for now it can be handy. To understand parameter numbering a bit more, check the initial comments in lua as well.
You’ll see I could not use the regular patch parsing on this synth, so I had to make my own tables on how the E1 parameters relate to the Casio payload (what byte, what starting bit and length, and in some cases how to change its representation).
While in lua and uploading the first dump, you will get messages about trying to process nil values. These can be ignored.
Once you have successfully sent a patch dump into the E1, you should not see any errors.
For me, its learning something new and therefore it is almost always frustrating fun! Anyhow, I think the only way to trigger a patch dump is via the buttons on the VZ-10M. Sending an 8M patch request message or a program change message does not do it. But as you say, at least I can get a patch loaded on the E1 (in normal mode).
Regarding your test:
The 10M responds successfully to turning the M1-M8 modules on page 8 off and on.
Changing a setting like module env depth also appears to work, although the display on the 10M reports —MIDI ERROR — BUFFER FULL. If I turn the encoder very very slow so it is only changing value by 1 I do not get that message. There is a 681 byte patch dump (256 + 256 + 169) for every value change. So, I’m guessing that is overwhelming the synth’s buffer. Yes?
The same applies to changing the name of a patch - scrolling thru characters faster than 1 at a time results in the BUFFER FULL message. The C/R light comes on as you predicted. But, note that the name does not change on the screen.
FYI, separately I have successfully implemented the SysEx messages for changing modes (Normal/OP/COMBI/MULTI).
function helpModeChange (valueObject, value)
showText = {"One patch Only","1-8 patches together","Operation Memory","MIDI multitimbral"}
showHelp(showText[value+1])
midi.sendSysex (devPort, {0x44, 0x03, 0x00, channelByte(), 0x50, value})
end
PS. I love the color coding of modules and the bitmaps for the routings! Did you draw those by hand?
New version V 5 : extended harmonics added.
As with Yamaha FM’s synths, understanding the frequency distances between the oscillators is key to grasping the concept of Phase Distortion. The easy of setting these dinstance (via Casio’s harmonics) is equaly relevant.
Version 5 of the preset is concentrating on the ease of use, the understadning of, and the extension of Casio’s VZ harmonics. You’ll see them all at once on page 2.
CASIO VZ 8M (and VZ1 / VZ10) - version 5
https://app.electra.one/preset/LoM32HOG80Y0oW2TS3u8
by NewIgnis
Settings needed in TOTAL CONTROL MIDI
- enable Program Control
- enable Exclusive
Do not engage Edit mode.
On a VZ1 or VZ10, you’ll have to change (or reconfirm) the patch on the synth itself to force it to send its parameters to the E1.
In this version
Patch parsing is present on the patch, not yet on the ‘effects’. This version allows you to change all voice parameters. Harmonics function added.
About the Harmonics
- the value above the line will show you the last value you chose with the harmonics control.
- the choice of harmonic values is greater than on the original VZ synths.
- the value below the line will show you the actual value, based on all tuning settings of the module.
Yep , drawings by hand. It took a while to get them sufficiently readable. And it’s not yet entirely correct. But that will take memory, so I’ll first concentrate on the relevant matters to ensure the preset works as much as possible on a Mk1.
The “buffer full” obviously hints the VZ10 has a slower processor. You’ll have to experiment with this setting then: timer.setPeriod(125)
: whatever change you make, it will be recombined into a sysex string every 125 ms.
You’ll find it around line 30 in the lua code.
For the VZ10 that’s clearly too fast. Try changing it to 250, 375, 500, etc… until you get a stable result without buffer errors.
As for the name, that will also be an improvement the VZ-8 had.
Remarkable how many differences one finds under the hood!
I also think you should install version 5, which give you insight in the frequency distances of the patches (the harmonics). With this, PD becomes an understandable concept, but still complex.
With the buffer error gone, you should be able to change presets faster (at least on a VZ-8M !).
Next step now will be the implementation of what Casio called the ‘effects’.
Thanks. It appears that 250 ms is sufficient to avoid the buffer full error (200 ms did not work). I might make it 300 ms to be safe.
Regarding the name, what i said was not correct. It does show sent characters on the screen, but only numbers and upper case letters. I was starting with symbols and they didn’t show.
FYI. This is the code I added to your helpModeChange function to change modes:
midi.sendSysex (devPort, {0x44, 0x03, 0x00, channelByte(), 0x50, value})
Wow! The harmonics section is amazing. One question: When it says “above *2.0”, for example, does that mean it was somewhere between 2 and 2.5?
Like on the organ it appears that small changes in the drawbar settings (which I mentally equate to a graphic equalizer) can have a large impact on the tone.
“above * 2.0” means it is somewhere between 2 and 2.25. When it is between 2.25 and 2.5 it should say “below 2.5”. As from *4 , the steps are +1 instead of per +0.5 .
Between 1/2 and 1 I made these approximations it less complex because it would take too much code the way I was doing it.
I believe with the harmonics setion we indeed reach the synth 's soul. At some point in time we should look at the typical harmonics the DX-7 had, and add them to the Casio as well.
looks brilliant!
away for some days but will check and report when i return midweek