Skip to content

Wav and Friends

So you've probably heard of wav and w64 before.
This page is meant to explain most notable containers to contain pcm with.

Formats

W64

Specification

Also known as Sony Wave64.
This is an extension to the original riff specification to add support for bigger files.

Usage FFMPEG
ffmpeg -i "$input" -c:a pcm_s24le out.w64

RF64

Specification | Wikipedia

This is an extension to the original riff specification by the European Broadcasting Union.
It has been accepted as the ITU recommendation ITU-R BS.2088.

Usage FFMPEG
# Auto means that it'll be regular wav until it exceeds 4GB.
ffmpeg -i "$input" -c:a pcm_s24le -rf64 auto out.wav

AIFF

Audio Interchange File Format

Specification | Wikipedia

Essentially the Apple equivalent of the regular RIFF/WAVE format and also limited to 4GB.
Not recommended.

Usage FFMPEG
ffmpeg -i "$input" -c:a pcm_s24be out.aiff

CAF

Core Audio Format

Specification | Wikipedia

Essentially the Apple equivalent of RF64.

Usage FFMPEG
ffmpeg -i "$input" -c:a pcm_s24le out.caf

What should I use

If you're mainly using Apple devices and software exclusive to that ecosystem the answer is simple: CAF.

If not: The answer is complicated.
From my own experience and from what I gathered in various forum posts12 and blogs34
RF64 is more widely supported by both hardware and software.

The chaotic good

If your software supports it... you should just use FLAC.
There's no gamble if it supports one or any of the 64-bit WAV extensions/deviations. It usually either supports FLAC or it doesn't.

With FLAC you get a more concrete spec that software is less likely to misinterpret and other things5 less useful for the purpose of having an intermediary file.
If you just want a file to input to something else, low compression levels are actually ridiculously fast6 to encode on modern hardware!

Usage
# If you don't care about compression and just want speed
flac -0 -o "out.flac" "$input"

# The reference flac encoder is better but ffmpeg is also an option
ffmpeg -i "$input" -c:a flac -compression_level 0 "out.flac"

  1. https://gearspace.com/board/music-computers/1086321-do-you-use-rf64.html 

  2. https://forums.cockos.com/showpost.php?s=10bbd1b868d37f653ec4e36a6de1cb5a&p=1845069&postcount=2 

  3. Bjorn Roche - WAVE64 vs RF64 vs CAF 

  4. https://trptk.com/one-wav-or-the-other-wav-formats-explained 

  5. Integrity checks in the encoder and error detection in the decoder, actual metadata support, obviously lossless compression 

  6. Like 2 seconds to encode an anime episode's audio (24 minutes) with flac -0 on my machine