RF64 is a BWF-compatible multichannel file format enabling file sizes to exceed 4 GB. It has been specified by the European Broadcasting Union.
The file format is designed to meet the requirements for multichannel sound in broadcasting and audio archiving. It is based on the Microsoft RIFF/WAVE format and Wave Format Extensible for multichannel parameters. Additions are made to the basic specification to allow for more than 4 GB file sizes when needed (the new maximum filesize is now approximately 16 exabytes). The format is transparent to the BWF and all its supplements and chunks.
A maximum of 18 surround channels, stereo down mix channel and bit stream signals with non-PCM coded data can also be stored in the file format. RF64 can be used in the entire programme chain from capture to editing and play out and for short or long term archiving of multichannel files.
Due to the inconsistent usage of CUE data definition, the additional requirement that CUE chunk names be stored in an additional LABL chunk, along with the inherent 32-bit limitation of the CUE chunk pointer index, the RF64 format also defines a new R64M marker chunk.
The RF64 file format should fulfill the longer-term need for multichannel sound in broadcasting and archiving. The required effort for software implementers is very small. The changes that will be needed to update existing systems will be reasonable in cost.
In its basic form, the 32-bit chunk size field at offset 4 in the file is set to -1
(0xFFFFFFFF
), and immediately following that a new 'DS64' chunk is inserted (before the FMT chunk). This new DS64 chunk will contain the 64-bit sizes of the DATA chunk(s), using a simple sequential table mechanism to point to additional DATA chunks. The first 4 bytes of the file are then changed from 'RIFF' to 'RF64'.
Some existing software (notably Adobe Audition 2.0 and 3.0) already use a variation of this scheme for filesizes larger than 4 GB. Audition uses a simple 'daisy-chaining' mechanism, where data chunks of 4 GB are simply appended to the file (with a size field set to -1) until a data chunk of less than 4 GB is encountered.
An RF64 file with a bext chunk becomes an MBWF-file. The terms ‘RF64’ and ‘MBWF’ can then be considered synonymous.