The advertisement of "128 voice polyphony" essentially just means "100% polyphonic", as within general midi there are only 128 notes that exist.
128 is a very convenient number for computing: it's 2 to the power of 7
That is to say, if you have seven binary characters (which you can represent however you want, os and xs, 1s and 0s, TRUE
and FALSE
) there are 128 possible combinations: ooooooo
oooooox
oooooxo
oooooxx
etc. for 128 times until you get to xxxxxxx
Midi is designed around the number 128 (or 127 for values where "0" is significant like velocity). The reason for this is that it's built around a protocol that transmits "bytes" of data. A byte of data consists of 8 bits (8 binary units). Usually this consists of 1 bit specifying the type of value, and 7 bits consisting of the value itself.
MIDI includes 128 notes for this reason: in the MIDI protocol, the first bit tells the instrument whether it is a "status byte" or a "data byte" (not important for this answer) and, for a "note on" or "note off" message, the remaining 7 bits tell you which note the message refers to. So every time you press a key on a midi controller, in a simplified sense, a 0, then a 7 bit integer (a number between 1 and 128 represented by 7 1s and 0s) is sent through the wire.
Now, it might seem a bit wasteful to use a whole bit of a byte on this data type for every note press, but there are good reasons why this is a convenient way to design the protocol, and 128 notes (more than 10 octaves) is enough for pretty much all applications. The next option up would be 256 notes, this would make the engineering more difficult (no status/data indicator bit) and 256 notes puts us well outside the range of human hearing.