Multichannel 7.1 and 5.1 Wav Test Files

Oct 14, 2011

The following 7.1 and 5.1 24bit/48kHz multichannel wav files are simple test audio files for multi-channel testing of audio equipment:

     Download 7.1 and 5.1 PCM 24bit/48kHz test files (1.7 Mb zipped; unzips to 8 and 10 Mb wav files)

The image below shows that the wav file for the 7.1 case with 8 channels has a duration of about 8.5 sec. Each channel contains a voice recording, in sequence separated by about 1 sec, indicating the number of the channel in the order packed into the wav file as follows:
  "One    Two    Three    Four    Five    Six   Seven   Eight" 
With the standard channel order for 7.1 channels, and specifying the correct output mapping order (the "channelMask" value is 0x063F), these voice annotations should be heard, in sequence from the following multi-channel outputs of sound cards or devices that properly support playback of 7.1 PCM wav files:
   FL      FR      C      LFE      BL      BR      SL     SR   
The 5.1 wav sample with 6 channels is almost identical, but without the last 2 channels (SL and SR) and with channelMask 0x003F:
  "One    Two    Three    Four    Five    Six"  

   FL      FR      C      LFE      BL      BR  
The image below for the 7.1 case shows the output channel time line horizontally and the channel-name labels (left), in packed order, in the vertical direction. Note that in RIFF/Wav notation, the 5th and 6th channels are BL/BR (Back Left / Back Right) and the 7th and 8th channels are SL/SR (Side Left, Side Right). In home theatre 7.1 channel configuration usage, the 5th/6th channels are usually directed to the main "Surround" channels while the 7th/8th channels are directed to the home-theatre "Surround Back" channels.

While a given channel is "voicing", all the other channels have perfect "digital silence" (i.e. there is zero audio overlap of any of the voice recordings in time).




More on Channels and the WAV Channel Mask

The order of the 18 audio channels that may be present in a RIFF/wav file are specified in the standards-based Master Channel Layout. The channels can form a non-contiguous set of that master channel list, but the channels sample data must be ordered (packed) in the wav file data section as specified in the list. Consider two different 4-channel wav files with the content in each channel INTENDED for these audio channels:
FL   FR   BL   BR 
FL   FR   C   LFE 
If these 2 different 4 channel wav files are played back on a multi-channel system (sound card or multi-channel player capable of say 7.1 wav playback) how does the playback device "know" where to direct the 4 channels? This is the purpose of the wav file dwChannelMask value. It is a 4-byte number specified in the wav file header. The dwChannelMask indicates exactly what actual output sound-channels the consecutive samples present in the wav file should be directed to. The lowest 18 bits of dwChannelMask specify the output-speakers to be used, with each set-bit corresponding to one particular channel. The order of the bits in dwChannelMask corresponds exactly to the Master Channel Layout. The number of bits set in the dwChannelMask should obviously be the same as the number of channels (4 in the above case) actually present in the wav audio data. (The 4 audio channels in the wav examples above could be redirected to ANY 4 of the 18 output channels in the full master set, providing interesting channel switching capability) In the two different 4-channel wav files above, considering the intended output channels, the dwChannelMask values would be set respectively to:
0x33  (binary: 110011) 
0x0F  (binary: 001111) 

It should be mentioned that some home-theatre players which support multi-channel wav playback will disregard the dwChannelMask value entirely and assume the most common multichannel situations: i.e. if only 4 channels are present in the wav file, the playback device will automatically assume the usual "quadraphonic" situation and direct the 4 channels to FL, FR, BL, BR output audio channels/speakers (irrespective of the dwChannelMask value). Similarly, if 6 channels are present in the wav file, these players would assume the usual "5.1" system and output the 6 channels to FL, FR, C, Sub, BL, BR (where this represents the order of the channels packed in the wav file data).


References

Surround Sound (Wikipedia)
Multiple Channel Audio Data and WAVE Files
WAVEFORMATEXTENSIBLE documentation
WAVEFORMATEX documentation