Casio VZ-8M

hello

trying to make sense of the vz-8m sysex to see if a electra one patch is possible

i learnt from pete cain, the nice chap that made the only modern vz editor i know available that each parameter needs all patch data in each sysex string… which appears to be a little too much information for the electra

tried with one lengthy string and its crashing my electra

i’ve read that long strings are possible, is this one too long and a vz control from the electra is just not possible? or am i doing something very wrong?

any ideas anybody?

VZ wfm1 test.epr (5.3 KB)

Hi @duster,

I’m currently working on a preset for the Hohner HS-2/E / Casio VZ-10m, which should work with the VZ-8m as well, I guess…

The receiving part of the preset is almost complete and just needs some minor tweaks. So one can already dump Sysex presets into Electra and all controls will update accordingly.

Indeed, putting a whole Sysex patch together is just too complex for Electra’s JSON. Though, it should be possible doing that in Lua.

The concept would be pretty similar to the one of Pete’s VZ editor: all parameters need to be stored in a table and with some bitwise magic, broken into the required nibbles when sending the data to the VZ.

Furthermore, it needs to utilize Electra’s timer library to make sure to not overwhelm VZ’s MIDI buffer.
Pete is sending the patch update only when a control is released. I believe that exact behavior is hard to replicate in Lua, but slowing down the update frequency is certainly doable.
On the JSON side of the preset all controls are of the type virtual. They are not sending any data but are used only to update the HEX table in Lua.

I’d be happy to share the preset with you once the basic functionality is there. Not sure if I get much done before next weekend…

hi @mariankalus

thank you for getting back so quickly and clearing this up for me

lua scripts and scripting in general are beyond me at present so I’m very much looking forward to seeing how you get on with your preset

1 Like

Hi @mariankalus and @duster ,

may I enquire where you are in the VZ preset creation ?
I plan on making one for VZ8M if no functioning exist. Else, we may work on top of what you guys already made?

Indeed, no proof is to be found that parameter changes (expect for some) can be send to or received from the VZ-series. So my plan is to use a timer, with a user definable period (first have to check what threshold does not kill the VZ8 traffic), so that if any control is altered to full sysEx is periodically rebuilt and forwarded to the synth. If nothing happens, nothing gets sent obviously.

1 Like

found something quite interesting : Webeditor für Casio VZ – soundc-pro

1 Like

Hi there

No, I got nowhere with this.

The Pete Cain editor works very well but would be lovely to have the hands on control

I’m excited to see if this is possible on the Electra

It is certainly possible, but I would not try it on a MkI . Mk II should be able to do it.

Hi, first version V0 for the VZ-8M is ready.
https://app.electra.one/preset/EPITWXToGMt2sRyvwncH

Allthough I’ve already parsed the data, in this early version I only used it to get to the patch name and show it on the screen.

But it already allows you to browse through the different play modes, perfomance modes and banks and set volume, transpose en bend range.

The rest is to come, but it might already be handy, as the VZ-8M screen is not really well readable.

4 Likes

Hey,

This is really great! Thank you for posting

Just to point out, I’m not yet upgraded to mk2, it works fine on mk1

Good to here. Know what ?
I’ll be adding stuff gradually. You let me know if it still works on Mk1.
If it does, i’ll drop the previous preset.
If it doesn’t anymore, I’ll keep the last version, marking it as ‘useable on MK1’.

In the meantime I’ve also managed to read the names in case you select an op.mem. It’s curious who much user friendly it already becomes.

My next challenge now is to parse per patch all common parameters (not the ones per module). That will be done via a table I called patchData where all received bytes are stored in the internal Casio format, not in the format Sysex transmitted it.
Using that table, I can now interpret it as explained in Casio’s manual.

1 Like

Oh, all sounds nice! A bit complicated for me in terms of managing the complexity of the sysex and programming though.

I really appreciate you working on this

100% I’ll keep you updated on how it operates over here….

1 Like

New version made to test : Electra One App

CASIO VZ 8M - version 1

Settings needed in TOTAL CONTROL MIDI.05

  • enable Program Control
  • enable Exclusive

This version does not allow you to change the sound parameters yet. It only shows them!


Pages

  • Performance: patch browser + global settings (all settings on this page work!)
  • Routing: shows the line set-up and vibrato and tremolo settings. Color schema:
    • White: sound output
    • Blue: phase modulator
    • Dark blue : 2nd degree phase modulator
    • Yellow: ring modulator
    • Brown: 2nd degree ring modulator
  • Pitch Env: steps are shown according to ‘END STEP’
  • Pitch KF: Pich Envelope Key Follow settings
  • Name: name
2 Likes

Just a heads up; still busy with the original voice patch parsing.
It’s a bit crazy, this sysex implementation. For instance it only uses 4 bits out of each sysex bytes but then formats them as 8 bit bytes in the documentation. SO what ouy see in Midi-Ox is not what you see in the manual.

And then, parameters such as KF pitch level run from 0 to 63, but are stored inverse (63 to 0).
Some others, like the envelope rates, are shown as values 0-99 but actually stored as 7 bit values , thus 0-127. And also, I chose to use the full scale , so 0-99 on Casio display, translates in 0-127 in Casio format, in 2* 0-63 in Sysex, and in 127-0 on the E1 :grin:

The usual patch parsing methods are hard to use here. All is done in lua.
Once the voice patch parsing is done, I’ll do the voice parameter change transmission, which implies reconstructing the sysex format out of the Casio format.
And once I’m there, I’ll continue with the ‘effects’ which is nothing less than the 2nd part of a voice…
So I’m not yet finished with the first 25%

2 Likes

Great work! I haven’t compared manuals yet, but do you think this will work with the VZ-1/VZ-10M? I think they have twice as many voices (16) so maybe not.

I think it should, by the looks of it the sysex is the same. Amount of voices should not play a part in the voice data

1 Like

https://app.electra.one/preset/UANVE7KkUNqnfCUZQOMU

CASIO VZ 8M - version 2


Patch parsing is present on the patch, not yet on the ‘effects’. This version does not allow you to change the sound parameters yet. It only shows them!


Changed Pages

  • Performance: patch browser + global settings (functional!) + name
  • Pitch Env: Colours for faster readability:
    • Sustain step colours blue
    • End step will hide unused steps
    • An env level, equal to the previous, colours dark
    • Rates are shown inverted as time
  • Pitch KF: Pich Envelope Key Follow settings
    • A level, equal to the previous, colours dark
  • Monitor: for debugging purposes
  • All Modules: on/off, amp sens & env depth in one page
  • Module specific: all module parameters, except the amp envelope
    • A KF level, equal to the previous, colours dark
  • Module env: module envelope parameters
    • Sustain step colours blue
    • End step will hide unused steps
    • An env level, equal to the previous, colours dark
    • Rates are shown inverted as time
3 Likes

Loads up just fine on my Mk1

Very elegantly laid out and patch select works

Real nice job, thank you. Looking forward to the next instalment……

1 Like

Goods news : I can get the Casio to respond to parameter changes. @oldgearguy helped me resolve the checksum challenge.

So far, I’ve concentrated on the 7bit parameters that are non-module dependent. It does add code to the preset though, I hope not too much for Mk1. Once all non modular parameters can be controlled, I’ll offer a new version.

4 Likes

Version V3 is out. Hopefully this still works on Mk1, because it starts to open up this beautiful instrument :notes:

Exciting : we finally get to manipulate voice data :champagne: . Right now it’s limited to the overall voice parameters and some module parameters you find on page 8 “Alle Modules”.
Page 7, 9 and 10 are still “display only”.

Let me know if it still works. Some optimization in the code was done but I also needed to add a matrix with fixed data to overcome the Casio sysEx quirks in a handy way. That does eat memory, so hopefully not too much for a Mk1 :hand_with_index_finger_and_thumb_crossed:

https://app.electra.one/preset/2vHPijszOVvF4MkzCAW3

@kiwigrass You have a VZ-10M you could test with? If so, I’ll try to amend the preset so it works for you too.

Apart from the specific colour scheme used on the lines and waveforms, I have a standard that is also applied here (every now and then an exception notwithstanding):

  • white impacts amplifications
  • red impacts patch
  • blue are modulations
  • purple change programs
  • green is for naming or transposing
2 Likes

Sweet! I have loaned my VZ-10M to a friend. Should get it back early in the new year and will check out the compatibility then. I agree that since the 10M also has 8 modules the basic functionality should be the same. It is a synth I had kind of given up on because editing sounds was such a pain. I’m looking forward to using the E1 preset!