Program Change (MIDI)
Il messaggio MIDI che dice a un sintetizzatore di cambiare suono: lungo due byte e all'origine di uno degli errori «off-by-one» più duraturi del MIDI.
Il byte di stato è Cn, dove n è il canale, seguito da un solo byte di dati: il programma da 0 a 127. È tutto ciò che ci sta, e 128 suoni non sono bastati a lungo. Per convenzione si invia prima il Bank Select, i controller 0 e 32 del MIDI CC, e poi il program change: poco più di due milioni di patch indirizzabili, almeno sulla carta.
L'errore sta nella numerazione. Il protocollo conta da 0 a 127, ma quasi ogni display e manuale mostra da 1 a 128, quindi «programma 25» in un manuale può significare il byte 24 o 25 a seconda di chi l'ha scritto. General MIDI ha stabilito cosa significano i numeri, non da dove partono. Dal vivo il messaggio cambia pedali e patch tra un brano e l'altro con un solo pedale.