Thursday, November 8, 2007

Casio PG-380 program change

The Casio PG-380 midi guitar, and midi guitars in general, can be great interfaces. In fact, it's my interface of choice for my main music project. But the PG-380's interface for MIDI Program Change is baffling.

There is a 2-LED display which shows the current program. But this does not display the program in binary, octal, hex, or decimal. Rather it displays hexal, the low half of octal values but counting from 1; each LED displays 3 bits, counting from 1, with values 1-8. Apparently the designers thought counting from 0 would be confusing, but didn't go all the way making it display proper decimal (counting from 0 or 1) The default program, binary/decimal 0 according to MIDI spec, is displayed as "11": each of the 3-byte units is 0, so the LED displays two 1s. 11-18 progress as expected, representing MIDI decimal 0-7. The next program, represented with as a decimal 8 (9th program counting from 0) in MIDI spec is displayed as "21"... to reconstruct their logic, the binary representation is 00001000 grouping it into the 3-bit units that drive the LED's yields 00 (001) (000) which is 0 (1) (0). But Casio thinks 0s are confusing, so they add one to each and display "21". There are 8 buttons for entering the program, labeled 1-8. The labeling corresponds to the LED display; each represents 3 bits, counting from 0. The first press sets the the "high" unit, bits[3-5] the second press sets the lowest 3 bits. The maxium program, decimal 63 binary 00111111 grouped (00) (111) (111) equivalent to (0) (7) (7) is displayed as "88".

Phew! Translating between the the displayed values and the actual equivalent bytes is an obnoxious ordeal that slows down creation of MIDI binding patches. The display logic is too tied to the underlying binary system, but oddly they didn't go to decimal, counting from 0 or 1. Instead it sits in-between, with its own unique mapping scheme between the displayed value and the actual MIDI byte. Although I'm not an expert on old MIDI hear, I've never seen another piece of gear using this odd scheme. I imagine there is some other Casio gear from the era which displays in a similar way. Horribly non-intuitive and cumbersome.

No comments: