Hi, I would need to know how to make a SYSTEM EXCLUSIVE MESSAGES string to send to the Yamaha CP33 via MIDI, to change REVERB effects (eg: ROOM, HALL1 etc.) and EFFET (ex .: CHORUS, ROTARY SP etc.)
Example: F0 43 73 ......F7
I guess you're hoping that someone with a CP33 sees this, and knows all about it.
I assume you've got the CP33 manual, and have all the information to hand, but cannot quite put it all together?
Unfortunately, I don't know anything about the CP33, so couldn't help. I do have a Yamaha MU90r, but I'm sure all the details for the SYSEX commands will be quite different. The MU90r is an XG device, so some of the settings you might want to change can be changed directly via normal midi CC commands. Maybe the CP33 has no such facilities?
I don't know the structure of the relevant memory areas, but depending on which effect parameters you want to change (you don't say) you may need a number of separate SYSEX strings, each changing one or two bytes, to implement each change to any one of the effects. Each string would need the correct address. Certain values may be the same, for example 'Effect Depth' might be the same number for each effect if you were making a similar change to each. Then again, the chart I'm looking at here for my MU90r may be more complex than that for the CP33.
Maybe I could help further if you were to work out a possible string, and post that with notes as to the components. I could tie that up with information that I have.
Thanks Geoff for the answer and help.
Unfortunately I tried to read and try to form a string with the values I wanted to send to the CP33 but with a negative result.
Place the manual of the CP33. If you want to spend some time.
That manual is really XXXX!. I'm not surprised that you couldn't make heads or tails of it. You may want to complain to Yamaha as customer.
The solution is: you need to build your messages according to this type:
10. SYSTEM EXCLUSIVE MESSAGES (XG Standard) (1) XG Native Parameter Change
And then apply the addresses and parameters of this one:
<Table 2> MIDI Parameter Change table (EFFECT 1)
Refer to the “Effect MIDI Map” for a complete list of Reverb, Chorus and Variation type numbers.
I don't think you've said - even generally, never mind exactly - just what you want to do. I assume there are a number of settings that you might wish to change? Each setting may require different SYSEX data. Can you please select ONE thing that you wish to change, give your initial data, and we'll go from there.
I believe your CP33 is XG capable, so it should have access to some normal controllers that allow some change to be made without using SYSEX. Have you looked into that?
Hi Geof, I have a device called SIPARIO. http://www.lab4music.it Connected via midi to CP33 and other keyboards.
Through SIPARIO I can send Program Changes and other VOLUME PAN settings etc.
Everything works but I can not change the REVERB effect (eg: ROOM, HALL1 etc.) and EFFET (eg: CHORUS, ROTARY SP etc.) on the CP33
On SIPARIO there is the possibility to send a sysex together with the PROGRAM CHANG.
In this way, when I select a performance, everything is set automatically.
Ex. Fender Piano + Rotary or Chorus effect.
The problem is with the SIPARIO device, that you did not mention before?
This device CAN send certain controllers, etc, but NOT others, i.e. REVERB and EFFECT. But you CAN make it send some SYSEX.
Is that correct?
You would like to select the reverb TYPE, and the effect TYPE. Correct? Not worried (just now ?) with any of the other settings for reverb and effect. Correct?
This makes things much simpler.
I could now look at your manual with a clearer idea as to what I'm looking for. The examples from Pedro will prob be a help too!
Hopefully, the device can store enough data, but how many bytes of SYSEX can be stored. Would you intend to store two separate strings for reverb and effect, or one combined string? I'd guess that two separate strings would be more use?
Or will you want a separate string for each and every type of the two effects?
Maybe I didn't explain very well. Yamaha XG is a standard, shared by many instruments (not all of then by Yamaha, and maybe only sharing some features).
For instance, the reverb effect "Hall 1" for BASS MIDI and for your CP33 is ALMOST the same. Let's see from page 53:
F0H = Exclusive status
43H = YAMAHA ID
1nH = When received, n=0~F. When transmitted, n=0.
4CH = Model ID of XG
hhH = Address High
mmH = Address Mid
llH = Address Low
ddH = Data
F7H = End of Exclusive
Now from page 54:
Address (H) Size (H) Data (H) Parameter 02 01 00 2 00-7F REVERB TYPE MSB
REVERB MSB LSB
ROOM 02H 10H
HALL 1 01H 10H
HALL 2 01H 11H
STAGE 03H 10H
OFF 00H 00H
Now let's build HALL 1 from the previous information:
F0 43 10 4C 02 01 0001 10 F7
And from the BASS documentation:
Hall 1 F0 43 10 4C 02 01 00 01 00 F7 Reverb simulating the resonance of a hall
Almost the same! I think that from this information you should be able to build the other effects.
So, following on from the last post from Pedro, and the couple of pages in the CP33 manual (which isn't THAT bad, although I say that AFTER Pedro's input)
You need a 10 byte string to do each of the things you've mentioned. A string like this can have a specified number of data bytes, so each 'function' must have it's own string.
The string to set Effect to 'Rotary'
where the 02,01,40 is the address for the Effect Type setting
and the 47,10 is the setting for Rotary (42,10 is for Chorus, 48,10 is for Phaser, 46,10 is Tremelo and 00,00 is OFF) All other bytes are fixed. Change the address bytes for Reverb settings, and parameter bytes as per table in manual