Most modern receivers and components label the channel outputs as:
FL
FR
Surround Left
Surround Right
Center
Sub
Surround Back Left
Surround Back Right
Where the last two are typically reserved for 7.1 configs (or upmixing to a 7.1).
RIFF wav file headers must have any channels that are present in the order specified here:
http://www.microsoft.com/whdc/device/audio/multichaud.mspx under the section “Default Channel Ordering”. No all channels need be present but any ones there must be sequential in that order. The actual mapping of where these channels are sent is specified in the dwChannelMask word as specified in that article.
My question is the 5.1 specification. There are two different ways to specify a nominal “5.1” config. in the wave file (from the KsMedia.h VisualStudio header file):
#define KSAUDIO_SPEAKER_5POINT1 (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT |
SPEAKER_FRONT_CENTER | SPEAKER_LOW_FREQUENCY |
SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT)
#define KSAUDIO_SPEAKER_5POINT1_SURROUND (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT |
SPEAKER_FRONT_CENTER | SPEAKER_LOW_FREQUENCY |
SPEAKER_SIDE_LEFT | SPEAKER_SIDE_RIGHT)
Which is the mapping used in most commercial 5.1 authoring applications or does it vary? My tests with my Pioneer VSX-9140txh receiver uses the SurroundLeft/Right speakers when I use the SIDE_LEFT/SIDE_RIGHT version (5POINT1_SURROUND mapping).