The Speaker Position (SPOS) chunk

Pithy saying is loading (requires JavaScript) ...

Pithy Sayings


This document describes a soundfile information chunk that may be added to WAVE-EX soundfiles to indicate the intended positions (azimuths and elevations) of the speakers. This information can be used for guidance when positioning speakers for optimal playback of the soundfile. It can be used to give the listener more precise information than the "SPEAKER_FRONT_LEFT", etc provided by dwChannelMask.

Elevations would typically be zero, and are included to accommodate formats which purloin the Centre-Front and/or LFE channels to feed elevated speakers.

The SPOS chunk is recommended in WAVE-EX files that also contain the G-Format (AMBG) chunk.

The SPOS chunk structure

typedef struct
{
    char          ID[4];     /* 'SPOS' */
    unsignedInt32 dataSize;  /* the size of the chunk */
    unsignedInt32 version;   /* version of the SPOS chunk */
    signedInt32   azimuths[FormatChunk.nChannels];    /* speaker azimuths */
    signedInt32   elevations[FormatChunk.nChannels];  /* speaker elevations */
} SPOSchunk;
<SPOSchunk.ID>
The character array 'SPOS', for chunk identification.
<SPOSchunk.dataSize>
The size of the data section of the chunk. It does not include the 8 bytes used by <SPOSchunk.ID> and <SPOSchunk.dataSize>.
<SPOSchunk.version>
Indicates the version of the SPOS chunk. This allows anything after <SPOSchunk.version> to be redefined for future needs. This document describes version 1.
<SPOSchunk.azimuths>
An array for speaker azimuths, one azimuth per speaker. Values are integer degrees in either the range -180 to +180 or 0 to +360. Zero azimuth is Centre-Front, with positive angles measured counter-clockwise. Values are in the same channel/speaker order as the samples are interleaved.
<SPOSchunk.elevations>
An array for speaker elevations, one elevation per speaker. Values are integer degrees in the range -90 to +90. Zero elevation is the horizon, with positive angles measured up. Elevations would typically be zero. Values are in the same channel/speaker order as the samples are interleaved.

Examples

For examples please see the G-Format (AMBG) chunk.


Webmaster: / martin.leeseAT_SINGstanfordalumni.org