WAV
Generated by scripts/gen-format-pages.py from docs/data/format-metadata/, FILE_FORMATS.csv and docs/formats-master.csv. Do not edit by hand: change the source, then run the script.
WAV Audio Preview.
At a glance
| Original creator | Microsoft |
| Purpose | Audio in a RIFF container: a format chunk describing the codec and sample layout, the samples, and optional metadata chunks. |
| Extensions | .wav |
| Poka parser | poka-wav |
| Viewer | poka-metadata-card-viewer |
| Depth tier | Metadata card (see Depth tiers) |
| Breadth tier | B4 Summary (see Breadth tiers) |
How much Poka reads
B4 Summary. The container and metadata are read and summarised (counts, properties, structure), but the main content is not rendered.
Confidence: high (the reviewer read the code and a test that proves the claim). Basis: Reviewed 2026-10-16: parsers/poka-wav/src/lib.rs (RIFF chunk walk, fmt, fact, LIST/INFO, data, WAVE_FORMAT_EXTENSIBLE) and tests/samples.rs over 47 corpus WAVs (PCM, IMA ADPCM, 24-bit). Spec-sheet metadata card only: codec, rate, channels, depth, duration, 11 INFO fields; samples are not decoded (viewer plays the original). Covers classic WAVE and extensible; RF64 is not accepted.
What Poka does not read
- Samples are not decoded, no waveform or analysis
- RF64 and BW64 (files over 4 GB) are rejected as not RIFF
- Broadcast Wave bext chunk is not read
- Cue points, markers, loop and sampler (cue, ltxt, smpl) chunks are not read
- ID3 and iXML chunks and other non-INFO metadata are not read
- Only 11 LIST/INFO tags are shown
- The extensible channel mask is parsed but speaker layout is not shown
- Codec names cover about 14 format tags; others show as unknown
- Files over 24 MiB are cut at the read cap (three quarters of the 32 MiB memory grant); the card reports the file's real size
Background
The Library of Congress says Microsoft created WAVE and introduced it with Windows 3.1; it became the basis of the European Broadcasting Union's Broadcast Wave format. Windows 2000 added the WAVE_FORMAT_EXTENSIBLE header for multichannel audio with speaker positions. The most common content is uncompressed LPCM. Poka shows a spec sheet: codec, sample rate, channels, bit depth, duration and the LIST/INFO metadata. The real codec of an extensible file is taken from its sub-format GUID, the duration from the byte rate, and a data size that is a placeholder or larger than the file is reported, not trusted.
Versions
| Version | Identifier | Poka | Note |
|---|---|---|---|
| WAVE with a classic format chunk | RIFF....WAVE |
Read | |
| WAVE_FORMAT_EXTENSIBLE | format tag 0xFFFE |
Read | The format tag is taken from the first two bytes of the sub-format GUID. |
Libraries
Libraries Poka uses or has assessed for this format, with the status, licence and language the registry records.
- hound (candidate; Apache-2.0; Rust; https://github.com/ruuda/hound)
- riff (candidate; MIT; Rust; https://github.com/frabert/riff)
- Symphonia (candidate; MPL-2.0; Rust; https://github.com/pdeljanov/Symphonia) — already allowed by a deny.toml exception
Sources
- https://www.loc.gov/preservation/digital/formats/fdd/fdd000001.shtml
- parsers/poka-wav/src/lib.rs