Yahoo Groups archive

Casio CZ/ VZ/ FZ - Pro Series

Index last updated: 2026-04-28 22:42 UTC

Thread

Can someone help with requesting a sysex voice data dump from my cz-1000? Plz!

Can someone help with requesting a sysex voice data dump from my cz-1000? Plz!

2009-02-19 by dreamend

Hello there, thanks to everyone who's tried to help me so far but I'm
still having trouble saving sounds out from my casio cz-1000....

here's where I'm up to


1. 
Got the midi implentation manual from casio (in the files section)
plus that txt help file at 
http://www.youngmonkey.ca/nose/audio_tech/synth/Casio-CZ.html

2. Got Bome's sysex program and also, midi ox,

3. I understand that to get the CZ to send its voice data out, in
needs to receive a send request.....

4. To receive this voice data I'm typing in: (into the sysex sending
thing)

F0 44 00 00 71 10 60

and then waiting for the cz's response.... .......but nothing comes
back in the sysex in....:(    (I'm pressing send/recieve on midi ox too)

So I tried typing in the following
commands too: 

7N 31

F7


And then I tried typing them alltogether, a la:


F0 44 00 00 71 10 60 7N 31 F7

......but still nothing!

Also the sysex commands for simpler things like the `tone mix' or `key
transponse'...... they don't work either.....I'm not very experienced
with sysex sending......Am I just being really stupid? is there some
`Recieve sysex' switch inside my CZ-1000?



I'm pretty damned sure the cz is receiving/sending midi data ok
because note data flashes up on the MIDI IN channel of midi ox/ bome's
send sx..... .plus other sysex files I found seem to change the patch
as well........ ..... I noticed those sysexs were a lot longer than
the ones I was trying....is that anything to do with it?

Please! can someone can help me.....I might be able to get on with
my life again... I love this synth so much but can't get any further
until I can safeguard my patches thus far (Incidentally, I'll
upload them to the files section once I figure this out)

many thanks :)

Alex

Re: Can someone help with requesting a sysex voice data dump from my cz-1000? Plz!

2009-02-19 by steve_the_composer

It sounds like you have a nagging problem that simply should be 
there. I have never had a CZ-1000, but it should work the same as 
other CZs. You probably tried all of this, but perhaps these 
diagnostic steps will help locate the problem.


1. Do you have a complete midi loop? In other words, is the MIDI OUT 
of the CZ going to the MIDI IN of your computer and is the MIDI IN of 
the CZ going to the MIDI OUT of the computer?

2. Is the CZ receiving commands?
Simple test: On channel 1 (N=0) send a 2-byte program change command.
eg [in hex] C0 09
Does the path change? 
If not, try this with other gear to see if the data is going out 
successfully.
From what you wrote, it seems like the CZ is indeed responding to 
program chgange messages, but it doesn't hurt to verify.

3. Is the computer receiving midi data?
Simple test: Play some notes and see if the software (Boomes, midi-
ox, sequencer)captures it.
Again from what you say, this does not seem to be a problem.

(At this point, if you have a sequencer, you could play the note data 
captured back to the CZ to make sure that works. But let's assume 
that it does.)

4. Will the CZ respond to simple sysex commands?
Simple test: Send tone mix on command.
a. Set basic CZ channel to 1.
b. Manually turn tone mix off.
c. Send command:   F0 44 00 00 70 42 49 F7
Did mix turn on? I really hope so!!
(You could also try the Transpose command.)

If you had success with step 4, try the send request. I am not sure 
if the memory protect switch prevents sysex data transfer, but you 
could ttry turning it off--just so long as you don't accidentally 
wipe out important data.

Remember that N goes from 0 to F (hex) for channels 1 to 16. (N = 
channel number minus 1.) So, if the basic channel is 1, the request 
for preset tone 3 should be: F0 44 00 00 70 10 02 70 31 F7.

I would try this both with the final F7 and without it, turning off 
the CZ after each attempt. I seem to recall (at least on the CZ-
5000), the CZ will wait and wait for a final F7. If I am remembering 
correctly, this will prevent the CZ from seeing other incoming sysex.

I have been meaning to pull out my CZ-5000 from mothballs, so if 
these steps don't work, let me know and I will do some hands on 
testing.

BTW, do you have a midi sequencer? I seem to recall that years ago I 
created a midi file (or two) to send patch data to the CZ, play some 
notes so you can hear the patch, and then send another set of patch 
data.  If you have a sequencer [doesn't midi-ox have a simple midibar 
program to play midi files?) maybe you could try that. I will look in 
the files section.

Apologies if you tried all of this before, but on the chance that it 
would help, I thought I'd try.

--Steve

Re: Can someone help with requesting a sysex voice data dump from my cz-1000? Plz!

2009-02-19 by steve_the_composer

Yup. Its still there. In files, go to CZ Sounds... then Dr. Steve's 
Patch Test Files.  See the Read Me file and try the CZ-101 midi file. I 
seem to recall its just a I-IV-I progression to test the patch data. If 
all of the patches sound different, your CZ has definitely accepted the 
sysex data. If all of the patches sound identical, it has not.

This might be a simpler test than my first reply: if you don't hear the 
test chords, the CZ is not receiving anything.

PS: If you don't have a sequencer, there may be a way to play a midi 
file via Windows. There used to be on Win98.

--Steve 

--- In CZsynth@yahoogroups.com, "steve_the_composer" wrote:
Show quoted textHide quoted text
> BTW, do you have a midi sequencer? I seem to recall that years ago
> I created a midi file (or two) to send patch data to the CZ, play
> some notes so you can hear the patch, and then send another set of 
> patch data.  
> If you have a sequencer [doesn't midi-ox have a simple midibar 
> program to play midi files?) maybe you could try that. I will look in 
> the files section.

Re: Can someone help with requesting a sysex voice data dump from my cz-1000? Plz!

2009-02-19 by steve_the_composer

FYI. The CZ-101 file has 1 measure of silence followed by sysex data 
[264 bytes]/chords repeated 32 times. The data goes into the 
temporary sound area.  Here's one set of sysex data in case anyone is 
interested.

F0 44 00 00 70 20 60 0B 00 00 00 04 00 00 00 08 00 00 
01 00 01 00 00 0E 03 00 0E 0F 00 01 00 02 00 00 00 00 
08 00 00 07 00 05 04 08 00 02 09 02 00 07 07 0F 07 0B 
0C 06 0F 07 0B 00 00 0C 03 00 00 0C 03 00 00 0C 03 00 
00 0C 03 00 00 0C 03 00 00 02 00 0F 07 0F 07 00 0C 0D 
09 03 0B 00 00 04 04 00 00 04 04 00 00 04 04 00 00 04 
04 00 00 04 04 00 00 03 00 0F 07 06 04 0A 04 06 0C 0F 
0F 00 00 00 0C 00 00 00 04 00 00 00 04 00 00 00 04 00 
00 00 04 00 00 00 08 00 00 07 00 05 04 08 00 02 09 02 
00 07 07 0F 07 0B 0C 06 0F 07 0B 00 00 0C 03 00 00 0C 
03 00 00 0C 03 00 00 0C 03 00 00 0C 03 00 00 02 00 0F 
07 0F 07 00 0C 0D 09 03 0B 00 00 04 04 00 00 04 04 00 
00 04 04 00 00 04 04 00 00 04 04 00 00 03 00 0F 07 06 
04 0A 04 06 0C 0F 0F 00 00 00 0C 00 00 00 04 00 00 00 
04 00 00 00 04 00 00 00 04 00 00 F7

In the sysex header the 70 says "Here's a command on basic channel 
1." The 20 says "Its patch data for you [Mr. CZ] to put into 
memory. . . ." The 60 says "and its supposed to go into the temporary 
sound area."

Re: Can someone help with requesting a sysex voice data dump from my cz-1000? Pl

2009-02-21 by Fulfil Objective

The error I see with your command is that "71" means MIDI Channel 2.
To make it easy, I suggest using "70" which means MIDI Channel 1.
At any rate, what you use for MIDI channel here must match what
the CZ says when you hit the MIDI button.

Here is my step-by-step tutorial that works for me:

Here is my version of a sysex-getting tutorial, accomplished entirely
with MIDI-OX.

How To Make A CZ-101 Dump Its Sysex
===================================

1. Connect MIDI cables the right way.
"OUT" from computer goes to "IN" on the CZ.
"OUT" from the CZ goes it "IN" on the computer.

2. Press the MIDI button on the CZ and make sure "PROG CHANGE=ENA",
& to make things easy set the MIDI channel to 1, "MIDI BASIC CH=01".

3. Launch MIDI-OX. Play some notes on the CZ and they should show up
in the main window of MIDI-OX. If not, then MIDI-OX is not 
communicating with your MIDI port.

4. In MIDI-OX, go to View > Sysex.
A window pops up that will allow you to a have a MIDI conversation 
with your CZ. The top part is where you talk, the bottom part is 
where the CZ responds.

5. In the upper part, type a command that will request the patch you 
want to request. Here is how the commands are written:

F0 - start a sysex message
44 00 00 - for a Casio piece of equipment
70 - using MIDI channel 1 (71 = channel 2, 72 = channel 3, etc.)
10 - requesting a patch dump
00 - for preset number 1 (01 = preset 2, 02 = preset 3, etc.)

Type this command to get INTERNAL 1:
	F0 44 00 00 70 10 20

6. Now you are ready to send the hex command you have written.
In MIDI-OX, in the sysex window, go to "Command Window" and select
"Send Sysex". This sends the command you have just written to the
CZ.

7. Now the CZ is just waiting for you to say okay before it sends
you the information. You say okay to the CZ by saying "70 31".
To send this message, delete your previous message from the MIDI-OX
window, and write:

	70 31

THIS NEXT PART IS IMPORTANT. You need to send the message, but you
also need to receive the reply from the CZ. In MIDI-OX, go to
"Command Window" and select "Send/Receive".

8. MIDI-OX will show that it is receiving data. When it has about 
263 bytes, you can hit DONE. The information from the CZ will now 
be in the lower window.

9. Save the dumped information by going to:
	"Display Window" > "Save As".

Save your patch dump with a good name like
	"E:\CZ-101\20090221\INTERNAL_01-Screaming_Lead.syx".

You have successfuly saved ONE patch from the CZ.
From what I can tell, there is no dump-all command for a CZ-1000.
I think you have to do them one by one. Somebody correct me please.

I think the following commands are right, but I went to look for
proof/documentation and couldn't find it, so mileage may vary.
Here is a chart of all the possible CZ-101/CZ-1000 request commands:

F0 44 00 00 70 10 00 - request patch from PRESET 1
F0 44 00 00 70 10 01 - request patch from PRESET 2
F0 44 00 00 70 10 02 - request patch from PRESET 3
F0 44 00 00 70 10 03 - request patch from PRESET 4
F0 44 00 00 70 10 04 - request patch from PRESET 5
F0 44 00 00 70 10 05 - request patch from PRESET 6
F0 44 00 00 70 10 06 - request patch from PRESET 7
F0 44 00 00 70 10 07 - request patch from PRESET 8
F0 44 00 00 70 10 08 - request patch from PRESET 9
F0 44 00 00 70 10 09 - request patch from PRESET 10
F0 44 00 00 70 10 0A - request patch from PRESET 11
F0 44 00 00 70 10 0B - request patch from PRESET 12
F0 44 00 00 70 10 0C - request patch from PRESET 13
F0 44 00 00 70 10 0D - request patch from PRESET 14
F0 44 00 00 70 10 0E - request patch from PRESET 15
F0 44 00 00 70 10 0F - request patch from PRESET 16

F0 44 00 00 70 10 20 - request patch from INTERNAL 1
F0 44 00 00 70 10 21 - request patch from INTERNAL 2
F0 44 00 00 70 10 22 - request patch from INTERNAL 3
F0 44 00 00 70 10 23 - request patch from INTERNAL 4
F0 44 00 00 70 10 24 - request patch from INTERNAL 5
F0 44 00 00 70 10 25 - request patch from INTERNAL 6
F0 44 00 00 70 10 26 - request patch from INTERNAL 7
F0 44 00 00 70 10 27 - request patch from INTERNAL 8
F0 44 00 00 70 10 28 - request patch from INTERNAL 9
F0 44 00 00 70 10 29 - request patch from INTERNAL 10
F0 44 00 00 70 10 2A - request patch from INTERNAL 11
F0 44 00 00 70 10 2B - request patch from INTERNAL 12
F0 44 00 00 70 10 2C - request patch from INTERNAL 13
F0 44 00 00 70 10 2D - request patch from INTERNAL 14
F0 44 00 00 70 10 2E - request patch from INTERNAL 15
F0 44 00 00 70 10 2F - request patch from INTERNAL 16

F0 44 00 00 70 10 40 - request patch from CARTRIDGE 1
F0 44 00 00 70 10 41 - request patch from CARTRIDGE 2
F0 44 00 00 70 10 42 - request patch from CARTRIDGE 3
F0 44 00 00 70 10 43 - request patch from CARTRIDGE 4
F0 44 00 00 70 10 44 - request patch from CARTRIDGE 5
F0 44 00 00 70 10 45 - request patch from CARTRIDGE 6
F0 44 00 00 70 10 46 - request patch from CARTRIDGE 7
F0 44 00 00 70 10 47 - request patch from CARTRIDGE 8
F0 44 00 00 70 10 48 - request patch from CARTRIDGE 9
F0 44 00 00 70 10 49 - request patch from CARTRIDGE 10
F0 44 00 00 70 10 4A - request patch from CARTRIDGE 11
F0 44 00 00 70 10 4B - request patch from CARTRIDGE 12
F0 44 00 00 70 10 4C - request patch from CARTRIDGE 13
F0 44 00 00 70 10 4D - request patch from CARTRIDGE 14
F0 44 00 00 70 10 4E - request patch from CARTRIDGE 15
F0 44 00 00 70 10 4F - request patch from CARTRIDGE 16

F0 44 00 00 70 10 60 - request patch from CURRENT SOUND area

Re: Can someone help with requesting a sysex voice data dump from my cz-1000? Plz!

2009-02-24 by dreamend

It works!!!! Thank you so much, steve and fuifl-objective. That's
really helpful of you, it seems I was messing up the midi channel by
always setting it as `2' by setting it to `1'.

So now I understand both sysex and hex better! Wayhey, I thought'd I'd
I was never gonna figure this out. 

Thanks a bunch both of you, you deserve CZ medals of honour... :)

Oh and er, how do you send the recieved sysex back out.... I tried
just a straight send but the sound didn't change....

Re: Can someone help with requesting a sysex voice data dump from my cz-1000? Pl

2009-03-01 by Fulfil Objective

dreamend:

For whatever reason, the CZ-101/1000 doesn't spit out the
data in the perfect way so that you can simply reverse the
process. When requested, the CZ gives you the data you
asked for, which is what we went through with the multi-step
process.

To reverse the process, and to put that information BACK on
the CZ, you have to rephrase the header. You have to edit
the header a little bit to politely request the CZ to store
the data.

Every time you ask the CZ for a patch, it gives you some hex
data that starts like this:

F0 44 00 00 70 30 00 00 00 00 00 ... F7

For the purpose of this discussion, let's divide the big
message into a header portion, and the body of the message:

-----Header-------   ------Body------------
[F0 44 00 00 70 30] [00 00 00 00 00 ... F7]

The header portion needs to be edited so that the CZ will
know to store the data in a certain memory location.
With the header as it is, it is saying:
F0 "hello"
44 00 00 "Casio machine"
70 "using channel 1"
30 "okay"

You want to edit it to say something like:
F0 "hello"
44 00 00 "Casio machine"
70 "using channel 1"
20 "store a patch"
20 "In INTERNAL memory 1"

So the stored data you have looks like this at the beginning:
F0 44 00 00 70 30

You need to change it to say:
F0 44 00 00 70 20 20

Notice that YOU HAVE TO ADD A BYTE, a byte which says which
memory location to store it in. Without this, nothing will
happen. You can add this byte using a hex editor, but it's
much easier to do it with MIDIOX, right when the patch is
being saved.

You have to change the seventh byte so that each patch is
stored in a different location, like this:

F0 44 00 00 70 20 20 - store a patch in INTERNAL 1
F0 44 00 00 70 20 21 - store a patch in INTERNAL 2
F0 44 00 00 70 20 22 - store a patch in INTERNAL 3
F0 44 00 00 70 20 23 - store a patch in INTERNAL 4
...
...
F0 44 00 00 70 20 2F - store a patch in INTERNAL 16

I wish this was easier to do, but that's what you get
with old keyboards. Lucky it has sysex at all. The Casio
CZ-1 just gives out the data in ready-to-go format.

TO SUMMARIZE:
In the header of the sysex data you stored, change the
30 to a 20, and then add a byte right after the 20
that says what memory bank to store it in.

Let me know how it goes.



--- In CZsynth@yahoogroups.com, "dreamend" <dreamend@...> wrote:
Show quoted textHide quoted text
>
> 
> 
> 
> It works!!!! Thank you so much, steve and fuifl-objective. That's
> really helpful of you, it seems I was messing up the midi channel by
> always setting it as `2' by setting it to `1'.
> 
> So now I understand both sysex and hex better! Wayhey, I thought'd I'd
> I was never gonna figure this out. 
> 
> Thanks a bunch both of you, you deserve CZ medals of honour... :)
> 
> Oh and er, how do you send the recieved sysex back out.... I tried
> just a straight send but the sound didn't change....
>

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.