Casio DDP-220R and MIDI messages


Joined
May 11, 2017
Messages
5
Reaction score
1
Hi all. I hope this one's an easy one!

I have a Casio CDP-220R and I'm just getting used to using MIDI with it. My problem is I can record, play back, etc, but I can't see how to send a tone/voice change message from the PC to the keyboard. I've tried Program Change but the keyboard doesn't respond. All I want to do is send messages to the keyboard to change the selected instrument automatically during 'live' play.

The MIDI software is Sony ACID Music Studio
 
Ad

Advertisements

Joined
Nov 16, 2012
Messages
496
Reaction score
167
Chris

The MIDI Implementation Chart for the CDP-220R indicates that it DOES support Bank Select and Program change messages from external sources. The only suggestion I could offer, at this point, is to ensure that Acid is sending the correct Bank Select MSB and Program Change codes on the correct MIDI channel. An LSB Bank Select code is not needed by the keyboard, so whatever LSB Bank Select code is being sent by Acid will be ignored.
 
Last edited:

SeaGtGruff

I meant to play that note!
Moderator
Joined
Jun 6, 2014
Messages
3,957
Reaction score
1,666
Ted, I think this might be the old "most* incoming MIDI messages don't affect the keyboard parts" issue (* the exception being certain types of system changes, such as selecting the Reverb Type with a SysEx message).

Chris, I think the short answer may be that to accomplish what you're wanting to do, you'll need to turn off the Local Control setting so playing on the keyboard doesn't produce any sounds, then route the keyboard's outgoing MIDI to your DAW, then have the DAW send it back to the keyboard. (In the DAW, set up a MIDI track whose input is the appropriate channel coming from your keyboard, and whose output is going back to that same channel on your keyboard. Depending on the DAW, you might need to arm the track for recording-- without actually starting the recording function-- in order for the incoming MIDI data to be sent through to the track's destination MIDI device.)

This will mean that when you play on the keyboard, the sounds will be produced in response to the MIDI data that's being bounced back to the keyboard, rather than being produced in direct response to what you're playing on the keyboard. You will then be able to send Program Changes from the DAW on whatever channel you're using for the keyboard, and the Program Changes will affect the sounds that are produced by the keyboard.

This is actually a common issue with many keyboard models. Some have function settings that let you link specific channels of incoming MIDI data with specific keyboard parts, whereas others do not. I don't see any references to such function settings in the User's Guide (although I suppose there's a chance that the "Navigate Channel" setting might do the trick), so I think the CDP-220R keeps all of the incoming MIDI channel data separate from the various keyboard parts (that is, Main/Right1, Dual/Right2, Split/Left, etc.).
 
Joined
Nov 16, 2012
Messages
496
Reaction score
167
From the CDP-220R MIDI Implementation Chart Page 9, Section 9.1 - Bank Select - Receive:

"Receipt causes a change in the tone bank number stored in the Instrument memory, but the tone is not actually changed until a Program Change message is received. For details see 11 Program Change."


From the CDP-220R MIDI Implementation Chart Page 15, Section 11 - Program Change - Receive:

"Receipt changes the tone of the corresponding part. The selected tone is determined by the program value of this message and the Bank Select message value received prior to this message. Also note that receipt of this message also may change the Timbre Type that corresponds to the selected tone. For more information, see About the Timbre Type below."
 

SeaGtGruff

I meant to play that note!
Moderator
Joined
Jun 6, 2014
Messages
3,957
Reaction score
1,666
Unfortunately, I don't think that's going to work. I hadn't looked at the MIDI Implementation document earlier, so I've just now checked it and confirmed what I'd suspected.

See page 6 of that document, where it lists the keyboard's 32 parts, consisting of 16 "Group A" parts (A01 - A16) and 16 "Group B" parts (B01 - B16).

The Group A parts are used for playing the keyboard "live," including the Main Part (A01), the Layer Part (A02), and the Split Part (A03), as well as the eight parts which are used for the Auto Accompaniment.

The Group B parts are used for playing back MIDI recordings and MIDI messages received from external sources.

It says "Only Group B can be controlled by external channel messages." So if you send Bank Select and Program Change messages to the keyboard from a DAW or other external source, they will change the tones which are used to play the Note On messages being received on those channels, but they won't change the tones which are used for the "live" Main, Layer, and Split parts.

It stinks, I know. My Yamaha PSR-E models suffer from the same type of behavior, so I'm familiar with how much of a disappointment this behavior is. And from posts I've read on other forums, it's apparent that certain models from other manufacturers (Korg, Roland, etc.) also behave this way. The exceptions seem to be (1) synthesizers which can't function as 16-channel multi-timbral GM-compatible instruments, (2) keyboards or synthesizers which let you recall a "registration" or "performance" or "user preset" by sending Bank Select and Program Messages, or (3) keyboard models which let you assign or link given incoming MIDI channels with given Keyboard Parts. :(

The only way I know to get around this deficiency is to turn off Local Control, bounce the keyboard's outgoing MIDI data back to the keyboard, and merge it with other incoming MIDI messages for things like Bank Select, Program Change, Control Change, Pitch Bend, or whatever else you need or want to control from outside the keyboard.

If you're already using a computer and a DAW to send messages to the keyboard, it should be no trouble to use the DAW to bounce the keyboard's MIDI back to itself.

Otherwise, if you can't (or don't want to) use a computer or laptop, then you'd need to use some additional MIDI devices-- a MIDI merge box, plus some sort of MIDI controller for sending the patch and other controller data, etc.
 
Joined
May 11, 2017
Messages
5
Reaction score
1
Thanks guys for the detailed and helpful replies. I'll try the ideas from SeaGtGruff and see what happens, but it seems a shame that there's no nice clean method for doing it. I'll also look into the other suggested devices.

Thanks again - and I may well be back!
 
Ad

Advertisements

SeaGtGruff

I meant to play that note!
Moderator
Joined
Jun 6, 2014
Messages
3,957
Reaction score
1,666
I can say from personal experience that bouncing the MIDI from the keyboard to a DAW and back to the keyboard does work. It also opens up some additional possibilities, such as layering more than two sounds together, and/or splitting the keyboard into more than two zones. Basically, if you aren't using auto accompaniment and all16 MIDI channels are available to use, you have 16 tones that you can assign however you want to splits and layers. Of course, the more tones you layer together, the more of the available polyphony you'll be using up.
 
Joined
Nov 16, 2012
Messages
496
Reaction score
167
Chris
Michael

My apologies for a false assumption that could have resulted in my hijacking this thread. From Chris' original post, I assumed that he wanted Acid to select the backing track instruments during his "live" play - which should be possible, but after Michael's replies, I realize that Chris wants Acid to choose his "selected" (lead) instrument - which, for the reasons that Michael has stated, is not possible on these models.

Again, my apologizes!

Regards,

Ted
 

SeaGtGruff

I meant to play that note!
Moderator
Joined
Jun 6, 2014
Messages
3,957
Reaction score
1,666
No worries, Ted. This sort of thing just makes me wish I had a PSR-S model that lets me assign an incoming MIDI channel to a keyboard part! Or better yet, a Tyros-- or MOXF synth (MX in a pinch)-- that lets me select a Registration or Performance setup using a Bank Select and Program Change. :)
 
Joined
May 11, 2017
Messages
5
Reaction score
1
Hi again SeaGtGruff. Just thought I'd confirm that your solution worked perfectly. Many thanks again for the advice.
It's probably being too greedy to try and use the same process for to cover Split/Dual instruments, but I'm happy with how it's working now.
 

SeaGtGruff

I meant to play that note!
Moderator
Joined
Jun 6, 2014
Messages
3,957
Reaction score
1,666
The basic concepts for setting up splits and/or layers are the same regardless of the DAW, although the specific details may vary a bit from DAW to DAW.

The basic idea is to set up multiple MIDI tracks, with each one having the same input but different outputs.

Then you filter the events based on note range-- if you're setting up splits-- and apply any other settings as desired, such as transposing the notes up or down a certain number of semitones or octaves.

You can usually set the Bank Select and Program Change values that you want to apply to each track as well.

As I said, the specifics can vary, but the MIDI filter settings are often found in a "MIDI effects" function that you add to the track, not unlike the way you would add reverb, chorus, or other audio effects to an audio track.

For example, you could set up something like the following:

Track 1: MIDI track
MIDI In: CDP-220R, Channel 1
MIDI Out: CDP-220R, Channel 1
(Note: On a multitimbral keyboard like the CDP-220R, the incoming channels are usually kept separate from the outgoing ones, such that there shouldn't be any feedback. But on some keyboards the incoming channels might get routed back to the outgoing ones, in which case you wouldn't want the DAW to echo the incoming MIDI back on the same channel, otherwise a feedback loop could occur-- you play a note and the keyboard sends it to the DAW on channel 1, then the DAW sends it back to the keyboard again on channel 1, then the keyboard sends it back to the DAW again on channel 1, etc.)
Bank Select: MSB = 0, LSB = 0
Program Change: 0
MIDI Filter - Minimum Note: 0
MIDI Filter - Maximum Note: 127
MIDI Filter - Transpose: +0 semitones

Track 2: MIDI track
MIDI In: CDP-220R, Channel 1
MIDI Out: CDP-220R, Channel 2
Bank Select: MSB = 0, LSB = 0
Program Change: 1
MIDI Filter - Minimum Note: 0
MIDI Filter - Maximum Note: 63
MIDI Filter - Transpose: +12 semitones

Track 3: MIDI track
MIDI In: CDP-220R, Channel 1
MIDI Out: CDP-220R, Channel 2
Bank Select: MSB = 0, LSB = 0
Program Change: 1
MIDI Filter - Minimum Note: 0
MIDI Filter - Maximum Note: 63
MIDI Filter - Transpose: +19 semitones
(Note: This would cause the notes going back on channel 2-- which are shifted up an octave on track 2-- to be duplicated as perfect fifths on track 3, or up an octave plus a fifth. So if you were to play Note 0, it would be sent back as Note 12 plus Note 19, both on channel 2. If you do send multiple tracks to the same outgoing channel like this, be sure they're all set to the same Bank/Program as each other.)

Track 4: MIDI track
MIDI In: CDP-220R, Channel 1
MIDI Out: CDP-220R, Channel 3
Bank Select: MSB = 0, LSB = 0
Program Change: 2
MIDI Filter - Minimum Note: 64
MIDI Filter - Maximum Note: 127
MIDI Filter - Transpose: -12 semitones

In this example, the keyboard is split into two halves using channels 2 and 3, but both halves are also layered with a voice that spans the entire keyboard on channel 1.

You can get as creative and crazy as your DAW's available functions and maximum number of MIDI tracks, along with your keyboard's maximum polyphony, will allow.

Of course, you're normally limited to a maximum of 16 channels that you can work with-- but some keyboards or sound modules have two or more sets of MIDI ports, in which case you can work with 16 channels per port.

And if you've got your computer's (or external sound card's) audio going to your amps and speakers, you can also layer and split your arsenal of virtual instrument software in combination with the voices on your CDP-220R.
 
Ad

Advertisements

Joined
May 11, 2017
Messages
5
Reaction score
1
Thanks again for your detailed, helpful report. I'd guessed you may have a solution!

I'll get working on the options and see how it works out. Thanks once more Michael
 

SeaGtGruff

I meant to play that note!
Moderator
Joined
Jun 6, 2014
Messages
3,957
Reaction score
1,666
Certainly! I'd be interested in hearing how it goes.

I sort of collect DAWs-- especially freeware DAWs, or the free lite editions of commercial DAWs-- but then I don't actually sit down and learn how to use them unless someone needs help with one of them. I happen to have Sony ACID Xpress 7.0, but I'm not sure what similarities and differences there might be between ACID Xpress and ACID Music Studio. I'll take a look at ACID Xpress later to see if there's a "MIDI effects" option with MIDI event filtering and processing.
 
Ad

Advertisements

Joined
May 11, 2017
Messages
5
Reaction score
1
Once again excellent advice. I'm clearly still a novice, but with trial and error and finding the ACID equivalents to 'minimum note' etc (on the ACID it's 'note messages' under 'Input filter/Message filter') I've managed to get split keyboard, etc. I'm guessing I'll be back with more questions, but thanks again for the guidance!
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top