Jump to content
Video Files on Forum ×

Midi Hex Layer


Hugh O Kelly

Recommended Posts

Hello,
 

I'll start with the short answer:
 

You need to access the External Zone on the Hammond.  If I understand the manual correctly, for the upper keyboard you would set XU1 (PROG) to 97 - 0 - <px hex tone number>

So if you wanted to set the px=5s to concert strings it would look like 97 - 0 - 73 for M-BNK-L PROG .  You'd also have to make sure that for particular XU1 Zone the channel is set to 1 or 2.  Those are the only channels the px-5s will understand a hex layer change request for.

 

Read below if you want some background information on what is going on.
 

I'll try to make this as painless as possible but I want to include some background info to help explain what we need to do which should be useful for future midi stuff.  Basically, we have to send a control code from the hammond to the px-5s so the px knows what the hammond wants.  You probably already knew that - the question is, what should the hammond ask for?
 

Midi messages can have a whole bunch of numbers sent for 1 single request.  What we want is a bank and program change and that is made up of 8 numbers divided into three commands also called three strings of information.
 

This is gonna sound a little complicated, but stick with me: A MIDI message often contains 2 groups of 7 bit numbers.  Group 1 is called the Most Significant Byte (MSB) and group 2 is called the Least Significant Byte (LSB).  We use the term bytes because midi is electronnic, and also it's in Hexadecimal format (too much info?)
 

With all that being said, you have to have the hammond tell the PX to change to the proper bank that represents a Hex layer.  You then have to have the hammond tell the PX which tone to use (program change).
 

The midi message starts off with a status byte that will say "The status of this particular thing coming up is about to change." In our case, we want to tell it that we're going to pull up a Hex tone.  Whenever we want to tell a midi device we're going to change a control code of some kind, the status byte will almost always start with B (hexadecimal) which is the number 11X16 .  Immediately following the status byte is the channel number.  Midi channels are zero based which means channel 0 is the first channel so if we are transmitting on channel 1 the full status byte will look like B0 ( that is 176 in regular numbers - decimal).  Above, when you needed to set the zone to channel 1 on the hammond, it learned that it would have to send status bytes = B0 for midi operations.

 

Ok, once the px-5s has been woken up by the status byte and told "somethings coming..." it now needs to know what will change.  In our case, we want to change the tone bank to Hex tones.  The main bank for all tone groups on the PX is contained in the MSB.  Seem a little familiar? Above when we referenced M-BNK-L , that was the hammonds identifier for MSB and LSB for a particular bank change.  The box for the bank MSB is always 00; and we need to tell the Px-5s what we want to put into that box: i.e. what bank we want to switch to. 97 is the Hex tone bank which is 61 in hexadecimal notation.  Therefore our first group of numbers out of the 8 is:
 

B0 00 61
 

That says: "wake up PX! we're changing the status for the tone bank MSB to 61.
 

We still have to address the LSB and the actual tone we want.  The LSB is similar to the MSB setting except the LSB bank box is 20 (32 in decimal).  And luckily, the PX-5s doesn't require a particular bank setting for it.  The value sent will be:
 

B0 20 00
 

"PX, we know we have to tell you about the bank LSB, but we're just going to set it to zero."
 

Last but not least is the tone number referred to as the program change.  The program change also has it's own status byte: C .  It follows the conventions of the B status byte in that Channel one would be C0, channel 2 would be C1, Channel 3 C2 etc.  It differes from the B status byte because it changes only one thing - the program (patch, tone, stage setting, etc.).  So we don't have to call the MSB and the LSB.  We just need to call up the concert strings for our example, which is number 49 (73 in decimal).
 

C0 49
 

The complete midi code sent to access the Hex tone would look like:
 

B0 00 61

B0 20 00

C0 49
 

That may be more information than you ever wanted but it should be helpful in identifying how you would set up your zones and programs in the hammond menus and what the px-5s actually would receive or act on.

Link to comment
Share on other sites

Ah!  It must start at 1 instead of 0.  So 97 on the px becomes 98 on the hammond!  Good find!

 

That's one of the headaches with MIDI - all manufacturers aren't consistent with the numbering.  Even on the PX within itself - the tones are 0 to 127 but the midi channels are 1 to 16 instead of 0 to 15.

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.