Receive Sysex From CZ-101 Using MIDI-OX
2009-02-21
Even though the title says CZ-101, this is also the procedure to use for the CZ-1000. It might be the procedure to use for CZ-3000 and CZ-5000 as well. If you have a CZ-1, you’re in luck, because the procedure is much easier.
The bad news about the CZ-101 and CZ-1000 is that there is no button you can push to cause all sounds to be dumped one after another. Instead you can only get one sound at a time, and you have to ask for it by name. This tutorial walks you through that process.
This tutorial was originally posted, by me, to the czseries Yahoo group, on 2009-02-21.
Get Ready
- Make sure your cables are connected in the correct order. OUT from the computer goes to IN on the CZ. OUT from the CZ goes to IN on the computer.
- Make sure the PROTECT switch is set to OFF. This is a slide switch on the back of the CZ.
- Make sure SOLO on the keyboard is off. SOLO affects the MIDI mode.
-
Press the MIDI button on the CZ. To make things simple for this tutorial, we are going to use defaults and MIDI channel 1. Please apply these settings:
MIDI BASIC Polyphonic mode CH=01 Using MIDI channel 1 PROG CHANGE=ENA Program changes enabled When you’re done, the LCD should look like one of these:
MIDI BASIC CH=01 PROG CHANGE=ENA
Settings screen, CZ-101
P.MODE KBCH=01 CH=01 PRG=ENA
Settings screen, CZ-5000
- 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.
Actual Steps
- 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.
-
You need to create a request command for the sound you want to retrieve. Here is how the commands are composed:
Hex Meaning Note 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. 70 31 …yes I really want them. This is the okay string, but we are sending it with the request. To request the sound from Internal 1, your command would be: F0 44 00 00 70 10 20 70 31. Your command will be different depending on which sound you want to get.
Note that we are sending the okay string at the same time we are sending the request. This is a little impolite, but it works and is more efficient with our time.
- You have composed your command, and now you are ready to send it. We need to send the command and be ready to receive the output. In MIDI-OX, in the sysex window, go to “Command Window” and select “Send/Receive”.
- 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.
- 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. As far as I know, there is no way to “dump all”. Repeat these steps for the remaining sounds you need to get. Better yet, figure out a way to script the process.
Supplementary Information
The following is a table of all possible request commands for a CZ-101 or CZ-1000.
Hex Command | Meaning |
---|---|
F0 44 00 00 70 10 00 70 31 | request patch from PRESET 1 |
F0 44 00 00 70 10 01 70 31 | request patch from PRESET 2 |
F0 44 00 00 70 10 02 70 31 | request patch from PRESET 3 |
F0 44 00 00 70 10 03 70 31 | request patch from PRESET 4 |
F0 44 00 00 70 10 04 70 31 | request patch from PRESET 5 |
F0 44 00 00 70 10 05 70 31 | request patch from PRESET 6 |
F0 44 00 00 70 10 06 70 31 | request patch from PRESET 7 |
F0 44 00 00 70 10 07 70 31 | request patch from PRESET 8 |
F0 44 00 00 70 10 08 70 31 | request patch from PRESET 9 |
F0 44 00 00 70 10 09 70 31 | request patch from PRESET 10 |
F0 44 00 00 70 10 0A 70 31 | request patch from PRESET 11 |
F0 44 00 00 70 10 0B 70 31 | request patch from PRESET 12 |
F0 44 00 00 70 10 0C 70 31 | request patch from PRESET 13 |
F0 44 00 00 70 10 0D 70 31 | request patch from PRESET 14 |
F0 44 00 00 70 10 0E 70 31 | request patch from PRESET 15 |
F0 44 00 00 70 10 0F 70 31 | request patch from PRESET 16 |
F0 44 00 00 70 10 20 70 31 | request patch from INTERNAL 1 |
F0 44 00 00 70 10 21 70 31 | request patch from INTERNAL 2 |
F0 44 00 00 70 10 22 70 31 | request patch from INTERNAL 3 |
F0 44 00 00 70 10 23 70 31 | request patch from INTERNAL 4 |
F0 44 00 00 70 10 24 70 31 | request patch from INTERNAL 5 |
F0 44 00 00 70 10 25 70 31 | request patch from INTERNAL 6 |
F0 44 00 00 70 10 26 70 31 | request patch from INTERNAL 7 |
F0 44 00 00 70 10 27 70 31 | request patch from INTERNAL 8 |
F0 44 00 00 70 10 28 70 31 | request patch from INTERNAL 9 |
F0 44 00 00 70 10 29 70 31 | request patch from INTERNAL 10 |
F0 44 00 00 70 10 2A 70 31 | request patch from INTERNAL 11 |
F0 44 00 00 70 10 2B 70 31 | request patch from INTERNAL 12 |
F0 44 00 00 70 10 2C 70 31 | request patch from INTERNAL 13 |
F0 44 00 00 70 10 2D 70 31 | request patch from INTERNAL 14 |
F0 44 00 00 70 10 2E 70 31 | request patch from INTERNAL 15 |
F0 44 00 00 70 10 2F 70 31 | request patch from INTERNAL 16 |
F0 44 00 00 70 10 40 70 31 | request patch from CARTRIDGE 1 |
F0 44 00 00 70 10 41 70 31 | request patch from CARTRIDGE 2 |
F0 44 00 00 70 10 42 70 31 | request patch from CARTRIDGE 3 |
F0 44 00 00 70 10 43 70 31 | request patch from CARTRIDGE 4 |
F0 44 00 00 70 10 44 70 31 | request patch from CARTRIDGE 5 |
F0 44 00 00 70 10 45 70 31 | request patch from CARTRIDGE 6 |
F0 44 00 00 70 10 46 70 31 | request patch from CARTRIDGE 7 |
F0 44 00 00 70 10 47 70 31 | request patch from CARTRIDGE 8 |
F0 44 00 00 70 10 48 70 31 | request patch from CARTRIDGE 9 |
F0 44 00 00 70 10 49 70 31 | request patch from CARTRIDGE 10 |
F0 44 00 00 70 10 4A 70 31 | request patch from CARTRIDGE 11 |
F0 44 00 00 70 10 4B 70 31 | request patch from CARTRIDGE 12 |
F0 44 00 00 70 10 4C 70 31 | request patch from CARTRIDGE 13 |
F0 44 00 00 70 10 4D 70 31 | request patch from CARTRIDGE 14 |
F0 44 00 00 70 10 4E 70 31 | request patch from CARTRIDGE 15 |
F0 44 00 00 70 10 4F 70 31 | request patch from CARTRIDGE 16 |
F0 44 00 00 70 10 60 70 31 | request patch from CURRENT SOUND area |