Category: System Common
Purpose
Some master device that controls sequence playback sends this message to force a slave device to set a certain song for playback (ie, sequencing).
Status
0xF3
Data
One data byte follows the status. It's the song number, a value from 0 to 127.
Errata
Most devices display "song numbers" starting from 1 instead of 0. Some devices even use different labeling systems for songs, ie, bank 1, number 1 song. But, a Song Select message with song number 0 should always select the first song.
When a device receives a Song Select message, it should cue the new song at MIDI Beat 0 (ie, the very beginning of the song), unless a subsequent Song Position Pointer message is received for a different MIDI Beat. In other words, the device resets its "Song Position" to 0.
Often, the slave device has its playback tempo synced to the master via MIDI Clock. See Syncing Sequence Playback.