Casio VZ-8M, VZ-1 & VZ-10M

New version available. I finaly got to read all VZ1/10M operating memory parameters and display them.
Next version will allow changing them as well.
https://app.electra.one/preset/cloJ5bdB2NwxyJh0nBpF

CASIO VZ - version 6

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:

  • Synth Type can be set to change between VZ1-10M or VZ-8M behaviour

  • Patch parsing is present on the patch and on the VZ1/10M compatible ‘effects’.
    This version allows you to change all voice parameters, but you first need to have received a sysEx patch dump in normal mode for the voice parameters, and an operating memory dump for the operating memory parameters. Be aware you can’t control both at the same time. The synth doesn’t allow it.

Effects settings can’t be controlled yet.


Page changes

  • Performance: patch browser + global settings + performance controls

  • Name & Monitor: name controls (both for voice and op.mem.) + monitor for debugging purposes.

  • Op.Mem. Mix:
    • overall Op.Mem. settings, such as Combi Assign, X-Fade and Split Points
    • Select combi nr in upper left corner
    • Non-used combi nrs colour dark
    • Patch, delay trig, level and tune settings per Combi

  • Op. Mem. FX: all FX settings per combi in the Operating Memory
    • Contains all VZ1/10M compatible FX settings

  • Op. Mem. PAN & LFO: Overall Panning and total LFO settings
    • Not yet in use
    • Will contain VZ-8M only controls

1 Like

You are a legend Ignace! I haven’t had a chance yet to play around with it but can report that V6 loaded an OP memory patch just fine from the 10M. Will take it for a spin tomorrow.
Cheers!

2 Likes

So far so good. Seems to be working as expected. Only general comment is that there is no point displaying patch select controls when in SYNTH TYPE: VZ-1 or 10M is selected. Perhaps they could be hidden/shown conditional on the model selected? - every time I see them it gives me hope for a second :slight_smile:

[quote=“kiwigrass, post:84, topic:1265, full:true”]
Only general comment is that there is no point displaying patch select controls when in SYNTH TYPE: VZ-1 or 10M is selected. [/quote]

Well, right now I have these patch select controls all over the place, because it’s easy for debugging a VZ8M. It should eventually only be in the performance section.

But I understand to you as a VZ1/10M owner it has not much meaning if you want to get a patch dump anyways.
Can you check if the program change is being sent by VZ10M when you perform it on the Casio itself?

By the way, learned about some quirks of the VZ series where certain pitch commands are available but don’t do anything in certain cases. Once the whole preset is finished, we’ll need to look at that, and amend the preset accordingly.

I’m also curious to see if there are some undocumented features lurking in the skipped bits and bytes in the sysex…

If execute a program change on the VZ-10M in Op mem mode it sends the corresponding patch information to the E1. On the Op.Mem.Mix page it reports the correct patch location information for each component of Op.Mem patch. However, it always displays Card even if I select Internal. (Note: I do not have a RAM or ROM card).

If I switch to Normal mode and execute a program change to select a single voice the Op.Mem.Mix page appears to retain the settings from the last Op.Mem patch. Not a big deal, and may be beneficial.

The preset does not appear to display the patch location information when in normal mode and a patch is selected on the VZ-10M (but all the voice data is correctly loaded).

I hope this is what you were asking :slight_smile:

Yep I need to review the exact values send for the bank.

In normal mode the VZ10M only sends voice sysex, so only the ‘VC’ pages get an update.
In Op mem mode, the VZ10M only sends the op.mem sysex, so only the “Op Mem” pages get an update. I should hide the non-corresponding pages after the E1 receives a sysex, because it is always one or the other.

Indeed, I kinda hoped the VZ10M would send out a regular patch change in MIDI as well, so then I could update the patch location with it in the VC pages.

Indeed, I kinda hoped the VZ10M would send out a regular patch change in MIDI as well, so then I could update the patch location with it in the VC pages.

Unfortunately I also checked MidiOx, and there is no program change info sent when selecting a patch in normal mode.

But I did find this description of the VZ-10M and comparison with the DX 7 that you might find useful. It certainly opened my eyes to the possibilities with the Casio. Having the E1 preset is going to make programing so, so much easier!

Happy New Year.

1 Like

From @martin

Do you think this planned feature of the 4.0 firmware might be a solution to the lack of patch request functionality on the VZ1/10M: Dump the voices to the E1 and store them there?

@NewIgnis I am now experiencing the same issue that @duster identified. I can load a patch into the V6 preset on the E1 but none of the controls other than those sending CC messages are going out. I have the VZ connected via MIDI 1 OUT on the E1 and it only lights up on sending the CC messages. For the other virtual controllers only USB DEVICE lights up. I loaded a fresh copy of the V6 preset and reinitialized the VZ-10M without any change in behaviour. I can’t think what I may have done to cause this but feel sure it was working normally previously.

But could this be the problem? From the lua debugger –

08:15:47.800 lua: line 855, prohibitTx set to true
08:15:47.807 lua: xmitSysExPreset with value0.0 and prohibit = true

Although perhaps not. Because after I dump the patch the debugger shows this:

8:22:37.636 lua: sysex message received: interface=0 with a length of 681.0
08:22:37.645 lua: patch dump received
08:22:37.648 lua: line 625, prohibitTx set to false
08:22:37.650 lua: end of patch dump processing
08:22:38.641 lua: sysex message received: interface=0 with a length of 681.0
08:22:38.650 lua: patch dump received
08:22:38.653 lua: line 625, prohibitTx set to false
08:22:38.655 lua: end of patch dump processing

V5 still sends, but v6 does not?

When you change mode between normal and op.mem I indeed prohibit transmission because the sysex content is no longer valid and the casio wouldn’t listen anyways
After you get a message saying prohibit = false, can you try the transmit sysex button on the performance page?

Yes. V5 is “working” - sending out MIDI to the synth from all controls. V6 is only sending CC MIDI.

As requested on V6 after initiating a patch dump and then pressing TX SYSEX:

13:27:26.824 lua: line 625, prohibitTx set to false
13:27:26.826 lua: end of patch dump processing
13:27:27.633 lua: sysex message received: interface=0 with a length of 681.0
13:27:27.636 lua: patch dump received
13:27:27.639 lua: line 625, prohibitTx set to false
13:27:27.642 lua: end of patch dump processing
13:27:50.039 lua: xmitSysExPreset with value1.0 and prohibit = false

This is after turning the control for LINE 1 on the VC routing page (there is no outgoing MIDI)

13:41:06.367 parameterNumber : 11
13:41:06.367 pdataIndex : 1
13:41:06.367 pdataStartBit : 1
13:41:06.367 bit length = 2 
13:41:06.367 value received: 2.0
13:41:06.368 value sent: 2.0
13:41:06.368 parameterNumber : 11
13:41:06.368 pdataIndex : 1
13:41:06.368 pdataStartBit : 1
13:41:06.369 bit length = 2
13:41:06.369 value received: 2.0
13:41:06.369 value sent: 2.0
13:41:06.370 xmitSysExPreset with value0.0 and prohibit = false

Happy new year.
I can reproduce the error . Now I need to check where I went wrong :slight_smile:

1 Like

Good luck. Let me know if I can help.

@kiwigrass @duster
Sorry, silly mistake that would never make it send out any changes unless you pressed the ‘TX SYSEX’ pad on the first page. It should now work (after downloading it again)

That did it. Thank you!

1 Like

Found an error in Casio’s VZ8M Sysex manual. According to Casio, the Total tremolo On/off is found in Op.mem data VZ-1 format, byte 15 , bit 2 (page 24). But it is actually controlled in the Op.mem data VZ-8M data, byte 61 bit 4.

Is it possible that the tremolo control on byte 61 of the VZ-8M Op.mem data is a different control than the tremolo control on byte 15 of the VZ-10M Op.mem data?

The byte 61 description for bit 4 refers to TREM MULTI. OFF/ON, suggesting it is specifically for multichannel mode. The byte 15 bit 2 description is TOTAL TREM. OFF/ON.

The same is true for TOTAL VIB. Byte 15, bit 1 of the VZ-10M Op.mem data is TOTAL VIB. OFF/ON. Byte 57, bit 3 of the VZ-8M Op.mem data is VIB. MULTI OFF/ON.

What do you think?

Sorry for the confusion. I’m counting bit 0…7 in this thread. The MULTI ON/OFF is on bit 3
Just discovered the TOTAL VIB ON/OFF is also somewhere else.

Oh, I see. At least it makes more sense to have all the total tremolo and total vibrato off/on located in the same section of VZ-8M memory. But annoying that Casio had it documented incorrectly. Does that mean the VZ-8M doesn’t use any of the VZ-10M Op.mem for VZ-8M specific functions?

Not entirely. According to the doc, when op.mem. is used for a single patch in normal mode, Casio completely rearranged the original VZ-10M format ànd still used the VZ-8 format on top of it. But I’m not there yet :wink:

Why they needed to do that differently, while all fields where already there in the formats for combi mode op.mem. is a mystery. Perhaps two development teams that worked in parallel ?

In any case Casio is not an exception. I don’t recall ever having had a Sysex manual that was correct and complete.