WAVE64 file extension - Sony Wave64 audio file
What is wave64 file? How to open wave64 files?
File type specification:
The RIFF/WAVE file format as defined by Microsoft allows to store up to 4 GB of audio data in a single file. This is sufficient to hold about 6h 45min of uncompressed PCM coded stereo 16-bit audio signals with a sample rate of 44.1 kHz. However, for multi channel audio (e.g. 5.1 surround), high-definition formats (24 bits, 96 or 192 kHz sample rate) or some special applications in production and broadcasting, the file size limit of 4 GB is rather inconvenient, since long recordings need to be split into several files. The file size limit of 4 GB exists, because all size fields in the RIFF/WAVE format have a size of 32 bits, resulting in a maximum size of 2^32 = 4294967296 bytes. The Sony Wave64 file format is defined as a true 64 bit file format that allows to overcome the limitations of the RIFF/WAVE format. The file format was originally defined by Sonic Foundry. In Summer 2003, Sony Pictures Digital acquired Sonic Foundry's Desktop Software assets. Since then, the new format is officially promoted as Sony Pictures Digital Wave 64. Companies are encouraged to support this format and no royalties have to be paid to use it.
General Format Specification
The Sony Wave64 file format is very similar to the well known RIFF/WAVE format. Therefore, existing software implementations of RIFF/WAVE file filters are likely to be extendable to support the Sony Wave64 file format with little programming effort. Because of the similarities to the RIFF/WAVE format, only the differences between these formats are described. It is assumed that the reader is familiar with the original format as defined by Microsoft.
- The recommended file name extension for Sony Wave64 files is .w64 instead of .wav. However, the first bytes of the file can be used to identify the Sony Wave64 format, thus allowing software to recognise Sony Wave64 files without relying on the recommended extension.
- Instead of four characters (known as FOURCC codes), the Sony Wave64 format uses 128-bit globally unique identifiers (GUIDs) to identify chunks. A list of pre-defined GUIDs is given below. There are already GUIDs for the most common FOURCC codes, like "RIFF", "WAVE", "FMT " and "DATA". A Sony Wave64 file starts with a RIFF-GUID, followed by the total file size (see below), followed by a WAVE-GUID. As implementors are obliged to skip over unknown chunks, anyone can add custom chunks. In contrast to the FOURCC codes used in the RIFF/WAVE-Format, there is no danger of two independent developers defining the same chunk in a different way.
- 3All 32-bit size fields are replaced with 64-bit fields, stored as usual in little-endian format (i.e. Intel byte-order).
- The size field between the RIFF- and the WAVE-GUID (starting at byte offset 16 in the file) specifies the total size of the file including the header itself. In contrast, for RIFF/WAV files, the size field at offset 4 does not include the RIFF-FOURCC and the size field itself, making it 8 bytes less than the total file size.
- Also, the chunk size fields directly following the chunk-GUID and preceeding the chunk body, include the size of the chunk-GUID and the chunk length field itself. Therefore, it corresponds to the chunk data size plus 24 (16 bytes for the GUID, 8 bytes for the size field).
- All chunks are byte-aligned on 8-byte boundaries, but their chunk size fields do not include any padding if it is necessary. Standard RIFF/WAV files use 2-byte alignment of chunks.