MIDI Pitch Wheel message

The MIDI pitch wheel message, also known as a "MIDI modulation wheel message", tells a MIDI device that at a certain time the pitch of the channel should be changed to a certain level.

This message belongs to the category of MIDI voice messages.

This message consists of three bytes of data. The first byte is the status byte and has hexadecimal values between 0xE0 and 0xEF. The high nibble of the status byte is E, which tells the MIDI device that this is a pitch wheel message. The low nibble of the status byte is between 0 and F (0 and 15 in decimal values) and points to one of the 16 MIDI channels. Two bytes follow the status byte. The low 7 bits of each of these two bytes are combined into a 14-bit value, which is the new pitch. The first of the two bytes is the least significant byte and carries the low 7 bits. The second byte is the most significant byte and carries the top 7 bits.

The value of the new pitch is between 0x0000 and 0x3FFF. MIDI devices interpret these values differently, but 0x2000 is usually center (no pitch change), 0x0000 is usually two semitones lower, and 0x3FFF is usually two semitones higher. An example on how to specify the meaning of the range 0x0000 to 0x3FFF precisely is provided in the topic MIDI Registered Parameter Number (RPN).

The following is an example of a MIDI pitch wheel message.

0xE3 0x54 0x39

The status byte 0xE3 shows that this is a pitch wheel message for channel 3. 0x39 and 0x54 (57 and 84 decimal values) have the binary representations 00111001 and 01010100. After removing the top-most bit of each byte, these two bytes form the 14-bit value 01110011010100, which is 0x1CD4 (7380 decimal). The value of the new pitch is 0x1CD4. This pitch is lower than the center of 0x2000 by 0x032C (812 decimal). It is up to the device to translate this to a specific pitch. For example, if 0x2000 (8192 decimal) represents no change in pitch and 0x0000 (0 decimal) is two semitones lower and if the pitch is computed exponentially, then -0x032C (-812 decimal) will represent a drop in the pitch of a little less than 20 cents.

See also:
Musical Instrument Digital Interface (MIDI)

Comments

The two 7-bit numbers are backwards here, the second bit should be bit shifted 7 places left, the first bit is the least significant.

They are already in the right place. They come in as 0x54 and 0x39, but the combined value comes from 0x39 0x54 an so the second byte 0x39 becomes the significant one. I can't remember if you commented on a previous version and we corrected this because of your comment (thanks), but the example should be fine now.

Add new comment

Filtered HTML

  • Freelinking helps you easily create HTML links. Links take the form of [[indicator:target|Title]]. By default (no indicator): Click to view a local node.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image.