The MIDI standard assigns note numbers to the notes of the chromatic scale, for the purpose of informing a synth what note to play in a note on message. Note numbers range from 0 to 127; note 0 is a C, note 1 a C#, note 2 a D, and so on. This is enough note numbers for ten full octaves and a partial 11th octave, which encompasses the normal range of human hearing and of all common acoustical instruments. A specific note may be given by its note number, or by a notation that uses the name of the note and an octave number. Note 60, which is usually treated as middle C, is designated C4; note 48 is C3, note 72 is C5, etc. Notice that C0 is note 12 and that note 0 is designated C-1. tNote numbers are used in the note on and note off messages, which specify the notes to be played, and in the polyphonic aftertouch message to specify which key aftertouch is being applied to.
Unfortunately the standard is not specific about which note numbers correspond to which frequencies in conventional tuning. Most synths have implemented a standard in which C4, note 60, is assigned to middle C (about 261 Hz). This makes A4, note 69, the "concert A" at 440 Hz. So referenced, C0 is at about 16 Hz while G9, the highest possible note, is at 12.5 KHz. Note that the -1 octave is in the subsonics, with C-1 at 8.1 Hz. Some other synths assign middle C to C3, which has the effect of shifting all of the note numbers up one octave; A3, note 57, is now concert A at 440 Hz. With this setup, C-1 is right at the bottom of the audio range, but the (partial) ninth octave is ultrasonic.
Criticisms of this setup focus mainly on accommodating scales with more than 12 notes per octave, and scales with microtunings. If a scale has more than 12 notes in an octave, the 0-127 range of note numbers may not be sufficient to cover the desired frequency range (and the protocol makes it impossible to add more note numbers). And microtunings are complicated by the fact that there is no way to send the actual frequency of a note to be played.