MIDI 1.0

Notes & Pitch

Spec: MIDI 1.0 Core Specifications

MIDI 1.0 does not carry pitch as a frequency. It carries a key number from 0 to 127, and the receiving instrument decides what that key sounds like. On standard 12-tone equal temperament instruments, the mapping below is the one everyone uses.

Note numbers

Key numbers go from 0 to 127 in semitone steps, more than ten octaves, from C five octaves below middle C up to G about five and a half octaves above it. A standard 88-key piano covers 21 (A0) through 108 (C8).

Note #HexScientific nameYamaha nameFrequency (Hz)Landmark
00x00C-1C-28.18Lowest MIDI note
210x15A0A-127.50Lowest piano key
360x24C2C165.41Common drum pad base; GM Bass Drum 1
600x3CC4C3261.63Middle C
690x45A4A3440.00Concert pitch reference
1080x6CC8C74186.01Highest piano key
1270x7FG9G812543.85Highest MIDI note

C3 or C4? Octave naming

Every implementation agrees that note 60 is middle C. They disagree about what to call it. MIDI defines only the numbers, so software has to pick a convention:

  • Scientific pitch notation: 60 = C4. Used by acoustics, music education, and many tools, including MuseScore and most programming libraries.
  • Yamaha convention: 60 = C3. Used by Yamaha gear and by many DAWs and synthesizers, including Ableton Live, Logic Pro, and Cubase (Cubase's display is configurable). FL Studio goes one step further and labels note 60 as C5.

Roland has used both conventions over the years. When documentation gives a note name, look for the number as well. If you write a library, say which convention it uses or let the user choose. This site uses scientific notation (C4 = 60).

Note number to frequency

In 12-tone equal temperament with A4 = 440 Hz:

f = 440 × 2^((n − 69) / 12)
n = 69 + 12 × log2(f / 440)

A fractional n from the inverse formula is the distance from the nearest key: the fractional part times 100 is the offset in cents. A tuner reading 445 Hz gets n ≈ 69.196, which is A4 plus 19.6 cents.

Note number & frequency table

f = A4 · 2^((n − 69) / 12)

Note Hex Name Frequency (Hz) GM drum (ch 10) Play
127 7F G9 12543.85
126 7E F♯9 11839.82
125 7D F9 11175.30
124 7C E9 10548.08
123 7B D♯9 9956.06
122 7A D9 9397.27
121 79 C♯9 8869.84
120 78 C9 8372.02
119 77 B8 7902.13
118 76 A♯8 7458.62
117 75 A8 7040.00
116 74 G♯8 6644.88
115 73 G8 6271.93
114 72 F♯8 5919.91
113 71 F8 5587.65
112 70 E8 5274.04
111 6F D♯8 4978.03
110 6E D8 4698.64
109 6D C♯8 4434.92
108 6C C8 4186.01
107 6B B7 3951.07
106 6A A♯7 3729.31
105 69 A7 3520.00
104 68 G♯7 3322.44
103 67 G7 3135.96
102 66 F♯7 2959.96
101 65 F7 2793.83
100 64 E7 2637.02
99 63 D♯7 2489.02
98 62 D7 2349.32
97 61 C♯7 2217.46
96 60 C7 2093.00
95 5F B6 1975.53
94 5E A♯6 1864.66
93 5D A6 1760.00
92 5C G♯6 1661.22
91 5B G6 1567.98
90 5A F♯6 1479.98
89 59 F6 1396.91
88 58 E6 1318.51
87 57 D♯6 1244.51
86 56 D6 1174.66
85 55 C♯6 1108.73
84 54 C6 1046.50
83 53 B5 987.77
82 52 A♯5 932.33
81 51 A5 880.00 Open Triangle
80 50 G♯5 830.61 Mute Triangle
79 4F G5 783.99 Open Cuica
78 4E F♯5 739.99 Mute Cuica
77 4D F5 698.46 Low Wood Block
76 4C E5 659.26 Hi Wood Block
75 4B D♯5 622.25 Claves
74 4A D5 587.33 Long Guiro
73 49 C♯5 554.37 Short Guiro
72 48 C5 523.25 Long Whistle
71 47 B4 493.88 Short Whistle
70 46 A♯4 466.16 Maracas
69 45 A4 440.00 Cabasa
68 44 G♯4 415.30 Low Agogo
67 43 G4 392.00 High Agogo
66 42 F♯4 369.99 Low Timbale
65 41 F4 349.23 High Timbale
64 40 E4 329.63 Low Conga
63 3F D♯4 311.13 Open Hi Conga
62 3E D4 293.66 Mute Hi Conga
61 3D C♯4 277.18 Low Bongo
60 3C C4 261.63 Hi Bongo
59 3B B3 246.94 Ride Cymbal 2
58 3A A♯3 233.08 Vibraslap
57 39 A3 220.00 Crash Cymbal 2
56 38 G♯3 207.65 Cowbell
55 37 G3 196.00 Splash Cymbal
54 36 F♯3 185.00 Tambourine
53 35 F3 174.61 Ride Bell
52 34 E3 164.81 Chinese Cymbal
51 33 D♯3 155.56 Ride Cymbal 1
50 32 D3 146.83 High Tom
49 31 C♯3 138.59 Crash Cymbal 1
48 30 C3 130.81 Hi-Mid Tom
47 2F B2 123.47 Low-Mid Tom
46 2E A♯2 116.54 Open Hi-Hat
45 2D A2 110.00 Low Tom
44 2C G♯2 103.83 Pedal Hi-Hat
43 2B G2 98.00 High Floor Tom
42 2A F♯2 92.50 Closed Hi Hat
41 29 F2 87.31 Low Floor Tom
40 28 E2 82.41 Electric Snare
39 27 D♯2 77.78 Hand Clap
38 26 D2 73.42 Acoustic Snare
37 25 C♯2 69.30 Side Stick
36 24 C2 65.41 Bass Drum 1
35 23 B1 61.74 Acoustic Bass Drum
34 22 A♯1 58.27
33 21 A1 55.00
32 20 G♯1 51.91
31 1F G1 49.00
30 1E F♯1 46.25
29 1D F1 43.65
28 1C E1 41.20
27 1B D♯1 38.89
26 1A D1 36.71
25 19 C♯1 34.65
24 18 C1 32.70
23 17 B0 30.87
22 16 A♯0 29.14
21 15 A0 27.50
20 14 G♯0 25.96
19 13 G0 24.50
18 12 F♯0 23.12
17 11 F0 21.83
16 10 E0 20.60
15 0F D♯0 19.45
14 0E D0 18.35
13 0D C♯0 17.32
12 0C C0 16.35
11 0B B-1 15.43
10 0A A♯-1 14.57
9 09 A-1 13.75
8 08 G♯-1 12.98
7 07 G-1 12.25
6 06 F♯-1 11.56
5 05 F-1 10.91
4 04 E-1 10.30
3 03 D♯-1 9.72
2 02 D-1 9.18
1 01 C♯-1 8.66
0 00 C-1 8.18

Velocity

Note On velocity runs from 1 to 127, because 0 means note-off (see Messages). Each instrument decides how velocity maps to loudness or timbre. A common default treats velocity as amplitude on a squared curve, roughly gain = (v / 127)², but curves vary widely between instruments. Devices without velocity sensing should send 64 (0x40).

Note Off velocity (release velocity) is defined but rarely used. Senders that do not measure it should send 64. For finer resolution, CC 88 (High Resolution Velocity Prefix) can add 7 more bits of velocity. See Control Change.

Pitch bend

Pitch Bend (En ll mm) carries a 14-bit unsigned value:

value  = (mm << 7) | ll          // 0 … 16383
signed = value − 8192               // −8192 … +8191
center = 8192 = 0x2000  →  ll = 0x00, mm = 0x40

The receiver decides what the extremes mean. The default pitch bend sensitivity is ±2 semitones, and senders change it with RPN 0. Pitch bend applies to the whole channel, which is why expressive controllers use MPE to give each note its own channel.

Converting to cents

cents = (value − 8192) / 8192 × range_semitones × 100

The scale is not perfectly symmetric. The maximum positive value is 8191, one step short of the full range. Most implementations divide by 8192 for both directions and accept the tiny shortfall at the top. Others divide positive values by 8191 so that full up-bend lands exactly on the range.

Worked example

Bend up a whole tone (+200 cents) with the default ±2 semitone range:

  1. offset = 200 / 200 × 8192 = 8192, which clamps to 8191 because the scale tops out there.
  2. value = 8192 + 8191 = 16383 = 0x3FFF
  3. ll = value & 0x7F = 0x7F, mm = value >> 7 = 0x7F
  4. Send E0 7F 7F.

Bend down a quarter tone (−50 cents) with a ±2 semitone range:

  1. offset = −50 / 200 × 8192 = −2048
  2. value = 8192 − 2048 = 6144 = 0x1800
  3. ll = 0x00, mm = 0x30, so you send E0 00 30.

Byte order

Pitch bend sends the LSB first. 14-bit controller pairs (CC 0–31 with 32–63) send the MSB first, as separate messages. Mixing up the two orders is a common parser bug.

Alternate tunings

MIDI 1.0 offers three ways to play outside 12-TET: the channel tuning RPNs (coarse and fine; see RPN & NRPN), the MIDI Tuning Standard (a set of Universal SysEx messages that retune individual keys; see System Exclusive), and per-note pitch bend with MPE. MIDI 2.0 adds per-note pitch and pitch attributes in the Note On message itself; see MIDI 2.0 & UMP.