According to Prof. Kabal's site https://web.archive.org/web/20201228133457/http://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/WAVE.html , for an extensible wave format the audio format has to be read from the first two bytes of the guid in the subformat.

From this document https://tech.ebu.ch/docs/tech/tech3306v1_0.pdf defining the RF64 format the first field of the Guid is a four byte field (pg 13).

Does this mean that one should treat RF64 and MS wave files differently? One should look at the first two bytes in the former to determine the audio format, and look at the first four bytes in RF64 wave files.

Practically, looking at the first two bytes to determine the audio format should work for both, since the high bytes are going to be zero in R664 wav files.


The two formats seem to be similar, and as the specification says the older wav-format is compatible with RF64.

From what I can see on p 10, the GUID isn't the only thing that identifies the format:

At the beginning of a recording, a RF64-aware application will create a standard RIFF/WAVE or BWFwith a ’JUNK’ chunk as the first chunk.

While recording, it will check the RIFF and data sizes. If they exceed 4 Gbyte, the application will:

  • Replace the chunkID ‘JUNK’ with ‘ds64’ chunk. (this transforms the previous JUNK chunk into a ds64 chunk).
  • Insert the RIFF size, 'data' chunk size and sample count in the 'ds64' chunk
  • Set RIFF size, 'data' chunk size and sample count in the 32 bit fields to -1 = FFFFFFFF hex
  • Replaces the ID ‘RIFF’ with ‘RF64’ in the first four bytes of the file
  • Continue with the recording.

This way a decoder meant for MS Wave-files should be able to determine that it isn't compatible, while an RF-64-compatible decoder can go on and read the rest of the file.

  • I know. The first four bytes in RF64 bytes will be "RF64". The (signed) size of the data and the riff chunks will be -1 and the actual sizes will have to read from the ds64 chunk. But the audio_format here I am mean the encoding, like PCM, IMA-ADPMC, IEEE-FLOAT etc – Arin Chaudhuri Apr 1 at 3:25

WAV files are 32-bit word based, RF64 files are 64-bit word based.

due to the 32-bit basis of WAV files, this led to a size limit (roughly 4GB) which RF64 was designed to resolve.

Yes, they have to be treated differently, although structurally the formats are fairly similar, other than the fact that 64-bit words are used.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.