Jump to content

Recommended Posts

Hey everyone,

 

I'm having some MIDI issues with the CDP-130. I am trying to send MIDI information from Ableton Live into the CDP-130. I have the keyboard set on the "strings" setting, however the "Grand Piano" sound is what is recorded in Ableton. The MIDI notes are reaching the keyboard properly, but the wrong sound is coming out. Does anyone know what I am doing wrong?

 

Thanks for any and all help,

Share this post


Link to post
Share on other sites

Without seeing your software setup, I would think the midi control change message required to switch to the strings setting is not getting through or is not there at all. Can you install Midiox on your computer, run it while playing the CDP130, and check to see what "CC" control change message is being sent over midi to the computer, without looking at Ableton first? You may have to study Midiox a bit to understand what you are seeing and how to use it, but this will show you the actual midi data being sent from the CDP130 to your computer and to Ableton.  Also remember that to record separate tracks with the CDP130 to Ableton or to any midi sequencer, without my knowing how the CDP does this, you need to change the midi transmit channel for each track. And i will have to look at the manual, but I'm not sure the CDP130 is multi-timbral-is it capable of receiving separate mid channel messages to create multitrack arrangements? If it isn't, it may always be set to transmit the same CC message for the one track. I will study the manual and see if I can help a bit more on this.

Share this post


Link to post
Share on other sites
11 hours ago, Jokeyman123 said:

Without seeing your software setup, I would think the midi control change message required to switch to the strings setting is not getting through or is not there at all. Can you install Midiox on your computer, run it while playing the CDP130, and check to see what "CC" control change message is being sent over midi to the computer, without looking at Ableton first? You may have to study Midiox a bit to understand what you are seeing and how to use it, but this will show you the actual midi data being sent from the CDP130 to your computer and to Ableton.  Also remember that to record separate tracks with the CDP130 to Ableton or to any midi sequencer, without my knowing how the CDP does this, you need to change the midi transmit channel for each track. And i will have to look at the manual, but I'm not sure the CDP130 is multi-timbral-is it capable of receiving separate mid channel messages to create multitrack arrangements? If it isn't, it may always be set to transmit the same CC message for the one track. I will study the manual and see if I can help a bit more on this.

 

Thanks for the advice Jokeyman123 and also nice avatar, I love Zappa. I'm on a Mac so I cannot use Midiox, apparently Snoize is a mac equivalent. The thing that confuses me is that I'm not trying to record MIDI information in Ableton, I'm trying to record an audio signal. I'm sending MIDI from ableton to the CDP130 and the notes are being played but only with the piano sound. Sorry if I'm missing some basic information about how MIDI works, I've been using it for a while but not to this extent. 

Share this post


Link to post
Share on other sites

If you want to record the audio from your keyboard, you need to use the audio outs and connect them or the headphone jack to your computer. You might need an interface to do that, depending on the Mac model. Some do have audio inputs. If you have one, you can connect with the right cable. 

 

MIDI only sends data such as Note On, Note Off, and what note it is.

Share this post


Link to post
Share on other sites

Since you are getting a sound out and recording it in Ableton Live it seems clear that you have the CDP-130's audio outputs connected to your Mac's audio inputs. The problem is likely as Jokeyman said. The CDP-130 may not be seeing the commands necessary to get it to play the string sound you are after.

 

Several possibilities. 

 

First, Abeton Live may not be sending out any data specifying a particular tone. That would be okay if the CDP-130 is one of those keyboards that in the absence of such information will play whatever you have selected on its front panel. But it may not be that kind of keyboard. It may revert to the acoustic piano sound in that case. (Which, given it is a digital piano, would not be that surprising.)

 

Another possibility if the CDP-130 does happen to play the tone on MIDI channel 1 that you select on the front panel is that Ableton is not sending on channel 1. (Ted corrected my mistaken first version of this post in which I said the CDP-130 was not multi-timbral. It is.)

 

However, checking the MIDI implementation document leads me to believe that the tone you select on the front panel does not change the tone the CDP-130 will play on incoming MIDI channel 1 (or any MIDI channel). 

 

Third possibility: Ableton Live may be sending data to select a tone but it is not the right data for the string tone you want. If it is actually sending data to specify an acoustic piano tone (which is the very first tone in a GM bank) then that's what the CDP-130 will play. Check to see if Ableton Live is sending out a Program Change message that matches the string tone you want.

 

The fourth possibility is that Ableton Live is not sending the correct _protocol_ to do a Program Change. There are several different protocols, two of them requiring that a Bank Select message be sent in addition to a Program Change message. However, the MIDI implementation document shows it uses the most common protocol (bank select on MSB before Program Change),  same as the other two Casio keyboards I have. Since the CDP-130 conforms with General Midi (GM) Level 1 - says so right in the manual - presumably if you select a GM string ensemble tone (which one I don't know but I would try the first in the GM list) in Ableton Live for the MIDI track you are playing it will send the correct data in the correct format to the CDP-130.  

Share this post


Link to post
Share on other sites

Per the MIDI Settings section on Page EN-12 of the CDP-130 manual, it can only transmit on one MIDI channel at a time, but the user is able to select any one of the 16 MIDI channels to transmit on.

 

Per the Specifications on Page EN-14, the CDP-130 is 16 Part Multi-timbral (Receiving), but that multi-timbrality is of very limited use, due to its voice bank of only ten tones, since it lacks the 128 tone GM voice set of most of the other models (CTK/WK/XW/etc).

Share this post


Link to post
Share on other sites

My bad. That's what I get for not reading past page 12 or even reading that page accurately. I have corrected my post appropriately.

 

So Ted, got any advice for cellachris? I tried. You gotta give me that.

Share this post


Link to post
Share on other sites

BTW, the manual says the CDP-130 conforms to General MIDI Level 1. But the specification for GM1 includes this:

 

Instruments: A minimum of 16 simultaneous and different timbres playing various instruments. A minimum of 128 preset instruments (MIDI program numbers) conforming to the GM 1 Instrument Patch Map, and 47 percussion sounds which conform to the GM 1 Percussion Key Map.

 

Since the CDP-130 only has ten different tones and lacks a percussion set (AFAIK) it doesn't actually comply with GM1, not fully at any rate. Heck, it doesn't even comply with GM Lite (yes, that's how they spell it). Let's hope its ten tones are at least mapped to the GM instrument set sensibly. What that mapping might be, though,...

Share this post


Link to post
Share on other sites

A couple of the replies above mention audio, but I do not understand why that is, as the issue is MIDI.  Other than that, I would say the problem is that Ableton is simply not sending the correct MSB/LSB Bank Select and Program Change codes to the CDP-130 for selecting the proper tones on it.  I would think that with only 10 tones there would only be one tone bank and MSB/LSB Bank Select codes should not be necessary, but if the CDP-130 does not use GM Bank 0 then Ableton would need to send the proper Bank Select codes preceding the Program Change code.  My assumption regarding the manual's mention of GM1 adherence means that the CDP-130's 10 tones are, by design, located in the GM1 default Bank 0, making MSB/LSB Bank Select codes unnecessary, and then the individual tones use their corresponding GM1 Program Change codes.  So, the Grand Piano voice would be Bank 0 - Program Change 0 or 1, depending on whether the CDP-130 uses the 0-127 or 1-128 tone mapping scheme.  The Harpsichord would be Bank 0 - Program Change 6 or 7, while the Strings would be Bank 0 - Program Change - 48 or 49, and so forth, so Ableton should really only need to be set up to send the proper Program Change codes on the proper channels to select the correct tones - with the following caveat - Standard MIDI Files would only work properly as long as they only used tones that are available on the CDP-130.  If we were dealing with Cakewalk's Sonar, I could explain how to embed the Program Change codes into the file, but I am not at all familiar with Ableton.  A list of the GM1 Sound Set can be found here:

 

https://www.midi.org/specifications/item/gm-level-1-sound-set

 

This list uses the 1-128 tone mapping scheme, but that does not necessarily mean that the CDP-130 does.  If it uses the 0-127 tone mapping scheme, then all Program Change numbers (PC#) in the list would need to be decremented by 1.

 

Share this post


Link to post
Share on other sites

Even if the CDP-130 uses bank zero it may still require a bank select MSB of zero (as well as an LSB of zero it actually ignores the LSB, as Ted points out below). The MIDI implementation document doesn't say it's optional. (The fact that it mentions it all means that it is likely not optional.)

 

And the tone mapping to the GM1 instruments is unknown. Yes, we can make guesses and they are PROBABLY correct but AFAIK there is no definitive list from Casio. A short (very short!) appendix in the User's Guide would have done the trick. But despite the CDP-130's sorta adherence to GM perhaps they thought no one would ever try. :) 

Share this post


Link to post
Share on other sites

So when all is said and done, does any of this make sense to you cellachris? To keep things simple-if what you want to record into Ableton is "midi" data-not audio-you will have to do what I do with my PX350, PX575 and probably your CDP130. You will have to manually program your midi transmit channel from within the CDP one track at a time. This will embed the that midi channel into your recording first-in other words, you can record using whatever midi transmit channel the CDP130 is set to transmit with-1 through 16. However you are not done-you will need to make sure that when you select a "tone" for recording on whatever midi channel you choose-that the CDP130 is sending the correct "program change" message and recording it into Ableton. How you check this on a MAC I'm not sure-if Snoize will show the actual midi data messages, that will work as I do in Midiox for the Windows platform. I think there is a setting in Ableton where you can also monitor the actual program change messages but I'd need to study Ableton some more to be sure about that..

 

And repeating Ted's tech notes-if all you need to do is make sure Ableton will play back the same sound you selected in the first place-all you need is the specific "program change" number sent out from the CDP130, and check that Ableton is recording the program change at the beginning of whatever track you record. Program change messages are simply made up of a 1 or 2 digit number that specify a particular "tone" Program change "one" for example will always specify a piano sound, based on the standard "GM" (general midi) codes used for various tones or sounds. You must also make sure that the CDP130 is capable of receiving the specific midi data messages you have recorded into Ableton. If the CDP is not designed to respond to program change messages (again I'd have to study the manual to know this) it will always pick the piano sound as a default. You can check this by picking a different "tone" than the one you have recorded, then playing back your recorded midi track. As you said, so far that seems to be what is happening.  If it switches back to the tone you've recorded you're all set. if it doesn't even after you are sure the midi channel and program change numbers are embedded into you Ableton recorded track, then you know the CDP is not capable of receiving program changes-the manual should state this clearly somewhere, Ted may be able to help there. sorry for the long-winded reply, I started this mess, I'm just trying to end it gracefully.

 

I know way too much about midi, more than a normal human being should need to know! :boing:     :banghead:      :beer:

Share this post


Link to post
Share on other sites

The MIDI Implementation Chart in the back of the CDP-130 manual indicates the following:

 

The CDP-130 uses the 0-127 tone mapping scheme.

 

The CDP-130 transmits and receives Bank Select codes, but with the following notation:

          It transmits an MSB of 0 and an LSB of 32

          It receives only an MSB of 0.  Any LSB codes received are ignored. This indicates a single bank tone set,

          but as AlenK has already stated, it may  still be necessary to send the Bank Select MSB of 0 ahead of the

          tone select Program Change even though there is only one tone bank.  I would just set up Ableton to send

          an MSB of 0 and an LSB of 32 on each track and let the CDP-130 use what it needs and ignore the rest.

 

As I have seen Jokeyman write about many, many times here on this forum, this is going to require some experimentation with Ableton and the CDP-130.  To begin with is determining whether it is possible to record the tone select codes from the CDP-130 with Ableton.  Most likely, the CDP-130 sends the Bank Select and Program Change codes when the tone is selected.  That means the Ableton track has to be already armed and recording when the selection is made on the CDP-130.  This could result in a lot of awkward empty bars at the beginning of each track.  These empty bars could be edited out manually with Ableton after recording, but it may be easier to just ignore trying to record the tone select data during recording and just embed them into the track manually with Ableton after recording.  After that, experimentation will be required to determine what specific Program Change codes Ableton needs to send to select the correct tones on the CDP-130.  As with any experimentation, a good set of accurate notes will be an absolute must for reliable future recording efforts.

 

 

Share this post


Link to post
Share on other sites
41 minutes ago, tnicoson said:

The MIDI Implementation Chart in the back of the CDP-130 manual indicates the following:

 

The CDP-130 uses the 0-127 tone mapping scheme.

 

The CDP-130 transmits and receives Bank Select codes, but with the following notation:

          It transmits an MSB of 0 and an LSB of 32

          It receives only an MSB of 0.  Any LSB codes received are ignored. This indicates a single bank tone set.

 

Interesting. The MIDI implementation document specifies that an LSB of zero is transmitted, not 32. You are correct about the LSB being ignored on reception.

 

Of course the CDP-130 has a single tone bank. That was never in question. Only the mapping of its ten sounds to that bank remains in question. Significantly, Note 1 for the Bank Select CC command in the MIDI implementation document says "For details about the relationship between the MSB value and the tone, see the Tone List that comes with the instrument."  Did a piece of paper come with it that is not included online? I see online only the two documents we've already discussed: http://support.casio.com/en/manual/manualfile.php?cid=008006006

 

Regardless, you and Jokeyman are absolutely right that some experimentation will be required. IMO that shouldn't be necessary with this kind of product given its intended customers but hey, that's life.

Share this post


Link to post
Share on other sites

Alen

 

I do not know where you are getting an LSB of 0.  Per the General MIDI Spec - for Bank Select codes the first number listed (CC #0) is the MSB and the second number listed (CC #32) is the LSB:  These are the control numbers that Roland originally used in their "GS" spec.  The fact that the CDP-130 uses them indicates that it not only conforms to the GM-1 spec but also, in this respect at least, it conforms to the Roland "GS" spec.  I have a feeling that this is nothing more than a design carryover from other Casio models to make them compatible with "GS" spec Standard MIDI Files.

 

https://en.wikipedia.org/wiki/General_MIDI

 

Do a search on "bank select".

 

As for experimentation, and I think Jokeyman will attest to this as well, I started with this MIDI business in 1987, and in all the intervening years, I have never had any keyboard (Synth, ROMpler Workstation, Arranger Workstation, Sampler Workstation) of any price from any manufacturer that did not require a lot of experimentation, on my part, any time I wanted to go beyond simple "playing".  Since this is the "norm" I have grown used to, I do not find it surprising or daunting when I run into it now.

 

My comment about the CDP-130 being a single tone bank machine was made to confirm that fact to others who have been or may be taking part in this discussion.  As for now, I am going to go see if I can dig up a trial copy of Ableton to see if we can help cellachris get it to send the right tone select codes to the CDP-130.

 

 

Share this post


Link to post
Share on other sites

CELLACHRIS

 

See this excerpt from the Ableton Live Knowledge Base for using "Clip View" for assigning Bank Select and Program Changes to your MIDI clips.  I would say to start with the clip you already have and assign it a "Bank" number of 0.  I am not sure what should go into the "Sub" entry field.  If you can not leave it blank, assign it a number of 0, as well, but then as I stated above, you are going to have to experiment with the Program Change numbers to see what they actually select on the CDP-130.  The CDP-130's ten tones may simply be listed as tones 01 through 10, but I suspect that they actually use the General MIDI tones numbers from the GM Tone List I provided the link to previously, except that the number you enter in Ableton's Clip View in the "Pgm" field will be one less than the Program Change Number shown on the list.  Take one of the CDP-130's tones, look up its name one the Tone List, subtract one from the Program number shown on the list, enter that into the List View Program number, play the clip and let us know what you get.  If the numbers from the Tone List do not work, just try entering numbers 1 through 10 and see what you get.  If none of the Program numbers you try work, increase the Ableton Clip View Bank number from 0 to 1 and try again.

Good luck:

 

https://help.ableton.com/hc/en-us/articles/209070489-Can-I-send-MIDI-Program-Change-messages-from-Live-to-my-MIDI-device-

Share this post


Link to post
Share on other sites
1 hour ago, tnicoson said:

I do not know where you are getting an LSB of 0.  Per the General MIDI Spec - for Bank Select codes the first number listed (CC #0) is the MSB and the second number listed (CC #32) is the LSB: 

 

We're crossing wires. I'm talking about the DATA ("value") that gets sent by the CC Bank Select command. The code ("control number") for the command itself is fixed by the MIDI spec, which I am already fairly well familiar with thank you (even if I do fail to read some documents that well sometimes). Since the command code itself is a known quantity and would not be different for ANY device transmitting MIDI data, the discussion of protocol should be about what data receiving devices expect along with the command. It never even occurred to me that you would be talking about the code for the command (which, yes has an LSB of 32 or 20h hexadecimal, the latter being how I'm used to thinking of it and the other reason It didn't occur to me that this is what you were talking about). The command CODE itself is NOT important in the context of our discussion here since I guarantee Ableton Live is sending the correct code (assuming it is sending it at all in the OP's situation, which it almost surely does).

Share this post


Link to post
Share on other sites

Hey thanks everyone for all of your help and work on this issue. I've never dealt with change messages before so it took some research to get a basic grasp of the concept. Unfortunately I cannot provide a lot of insight into what worked exactly, but I finally got it working. Basically it required me changing the sound to the desired sound while the MIDI passage was playing in Ableton. Before I had Strings selected and then I pressed play, and the Piano sound was recorded. Now that I changed to the string sound while Ableton was in the process of playing the MIDI passage, the correct sound comes out. Furthermore, it continues to play the proper sound if I stop and start it now. 

 

Thanks everyone for all of your help.

Share this post


Link to post
Share on other sites

cellachris

 

Glad you got it working . . . BUT . . .

 

If you did not save your file while it was playing correctly, it may fall back to your original problem the next time you load it.  If it does, just repeat what you did to get it working, verify that it is working correctly, and then save it before you close it.

 

 

Share this post


Link to post
Share on other sites

Just curious.

How many channels are available on CDP ?

Only one or maybe it has hidden 15 more channels.

 

For instance PX-has set of standard parameters such as Attack, Release, Cutoff, Resonance and more actively available. I can control them from external controller or software.

At the same time PX does not provide access to these parameters from its own UI.

 

Share this post


Link to post
Share on other sites

Question for sslyutov-have you actually been able to change these settings with an external controller, and with what keyboard? I had no luck with the PX350-although the midi spec sheet for it shows cc messages for adjusting settings that are not accessible through the PX350 controls such as revrb and chorus depth and others. All I have been able to do is control relative loudness settings for individual tracks as well as bank and program change messages using my software sequencers. I have tried using external controllers such as a UC-33 interface, and my KORG microkontrol keyboard but it doesn't seem to respond to settings that I can access with other machines and keyboards such as pan, filters, dsp settings etc.

 

and to cellachris-it sounds like you have managed to record your program change messages correctly with your software. Once this is done, these settings should be retained as tnicoson has described as long as you saved your file. You got it to work, that's what matters, right?

 

And again as tnicoson said, the entire concept of midi as a language has evolved over decades, don't be discouraged that you can't figure it all out in an hour or so! What was supposed to be a simple "protocol" of commands to get midi instruments to work together has morphed into a fairly complex system for use with lighting, audio and every other imaginable thing that can be controlled with software or hardware but the basic language and functions are pretty much the same as when it was first created...with a few other commands added over almost 30 years! :banghead:

Share this post


Link to post
Share on other sites

sslyutov

 

The CDP-130 can TRANSMIT on any one of the 16 MIDI channels - but only on one of those channels at a time.

It can RECEIVE on all 16 channels simultaneously - making it 16 part multitimbral - even though it only has a 10 tone voice bank.

 

As to your second comment above, some of the lower priced (entry level) Yamaha Arrangers operate the same way.  The preset tones are fairly or completely fixed, with no way of altering them from the keyboard's front panel, but some parameters are alterable via MIDI.  So, some of the more advanced of those users have devised ways of embedding those parameter "edits" into one or two bar "noteless" MIDI files and then play the file they need to set up the tones the way they want immediately before they start playing.  In other words, they are using one or two bar "noteless" MIDI files as sort of "external" registrations.  With this scheme, a couple of them have been able to turn a few of the mundane, lack-luster, run-of-the-mill pre-set "synth" (sine, saw, square, etc) tones into more lively tones that sound surprisingly like some of the popular vintage boards out of the past, but from the way they describe it, it takes quite a bit of experimentation and effort.

 

 

 

Share this post


Link to post
Share on other sites
3 hours ago, Jokeyman123 said:

and to cellachris-it sounds like you have managed to record your program change messages correctly with your software. Once this is done, these settings should be retained as tnicoson has described as long as you saved your file. You got it to work, that's what matters, right?

 

And again as tnicoson said, the entire concept of midi as a language has evolved over decades, don't be discouraged that you can't figure it all out in an hour or so! What was supposed to be a simple "protocol" of commands to get midi instruments to work together has morphed into a fairly complex system for use with lighting, audio and every other imaginable thing that can be controlled with software or hardware but the basic language and functions are pretty much the same as when it was first created...with a few other commands added over almost 30 years! :banghead:

 

Thanks @Jokeyman123, I think my issue was more with Ableton than the Casio. Since responding last time I found the change message within the MIDI channel on Ableton and now it's a very simple task. Embarrassingly simple, but I'm still pretty new with Ableton. MIDI can be frustrating but it enables some incredible things! Thanks again to everyone who offered their help.

Share this post


Link to post
Share on other sites
5 hours ago, Jokeyman123 said:

Question for sslyutov-have you actually been able to change these settings with an external controller, and with what keyboard? I had no luck with the PX350-although the midi spec sheet for it shows cc messages for adjusting settings that are not accessible through the PX350 controls such as revrb and chorus depth and others. All I have been able to do is control relative loudness settings for individual tracks as well as bank and program change messages using my software sequencers. I have tried using external controllers such as a UC-33 interface, and my KORG microkontrol keyboard but it doesn't seem to respond to settings that I can access with other machines and keyboards such as pan, filters, dsp settings etc.

 

and to cellachris-it sounds like you have managed to record your program change messages correctly with your software. Once this is done, these settings should be retained as tnicoson has described as long as you saved your file. You got it to work, that's what matters, right?

 

And again as tnicoson said, the entire concept of midi as a language has evolved over decades, don't be discouraged that you can't figure it all out in an hour or so! What was supposed to be a simple "protocol" of commands to get midi instruments to work together has morphed into a fairly complex system for use with lighting, audio and every other imaginable thing that can be controlled with software or hardware but the basic language and functions are pretty much the same as when it was first created...with a few other commands added over almost 30 years! :banghead:

I use FA-08 to control PX-360.

Actually I use fully reversed MIDI connection (IN to OUT and OUT to IN) to control any of the units from the another one.

FA-08 is a very open system.

 

 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×