Test files › Audio and video › very-short-10ms.wav
Sample WAV file (very short 10ms)
10 milliseconds of audio - 441 samples.
↓ Download very-short-10ms.wav| Filename | very-short-10ms.wav |
| Format | WAV |
| Size | 926 bytes (926 bytes) |
| MIME type | audio/wav |
| SHA-256 | d23833d93b968455dd817ba1849dd1a6e7d534dbde2cf28cca98130a115ab95b |
What this file catchesDecoders with a minimum frame or window size, and duration formatters that render this as "0:00" or divide by a zero-second duration.
Handle it in code
Each snippet below was run against this exact file with Python 3.14.4 and Node 24.15.0 when this page was built, and the output shown is what it printed.
Python
Compare what the header declares with what the file holds, and refuse a header that is itself cut short.
import wave
try:
with wave.open("very-short-10ms.wav") as w:
declared = w.getnframes()
frame_size = w.getsampwidth() * w.getnchannels()
actual = len(w.readframes(declared)) // frame_size
note = "truncated or lying header" if actual < declared else "ok"
print(f"header says {declared} frames, file holds {actual}: {note}")
except (wave.Error, EOFError) as e:
print("rejected:", str(e) or "the header is cut short")Run against this file, it prints: header says 441 frames, file holds 441: ok
Related guides and tools
Download & verify
curl -fsSL -o "very-short-10ms.wav" "https://files.hexaqa.com/audio/very-short-10ms.wav"
curl -fsSL "https://files.hexaqa.com/audio/very-short-10ms.wav" | sha256sum
# expect: d23833d93b968455dd817ba1849dd1a6e7d534dbde2cf28cca98130a115ab95b