プログラムチェンジ (MIDI)
シンセに音色の切り替えを指示するMIDIメッセージ。2バイトしかなく、MIDI屈指のしぶとい「1ずれ」問題の発生源でもある。
ステータスバイトはCn(nはチャンネル)で、続くデータバイトは1つだけ、プログラム番号0〜127を表す。入るのはそれだけで、128音色ではすぐに足りなくなった。そこで、MIDI CCのコントローラー0と32によるバンクセレクトを先に送り、その後にプログラムチェンジを送るのが慣習となった。理論上は約200万強のパッチを指定できる。
1ずれは番号の数え方にある。プロトコルは0〜127で数えるが、ほぼすべての表示やマニュアルは1〜128で書くため、マニュアルの「プログラム25」は、書き手次第でバイト値24にも25にもなる。General MIDIは番号が何を意味するかを定めたが、どこから始まるかは定めなかった。ステージでは、フットスイッチ1つで曲間のペダルやパッチを切り替えるのに使われる。