Error Guide
E-8304CDJ Error E-8304: Corrupt WAV Header — How to Diagnose and Fix
Your CDJ shows "DECODE ERROR E-8304" on a WAV file that opens and plays fine in every software player on your computer. This is a strong indicator that the WAV file header — the first few hundred bytes that describe the file format, sample rate, bit depth, and data layout — is malformed or contains data the CDJ decoder cannot parse. Unlike format incompatibilities that can be fixed by re-encoding, a corrupt header may or may not be repairable depending on whether the audio data itself is intact.
First analysis free · no account needed
Technical cause
WAV files begin with a RIFF chunk containing format metadata: sample rate, bit depth, channel count, codec tag, and the position of the audio data. The CDJ hardware decoder reads this header strictly before attempting to decode audio. Common causes of corrupt or unreadable headers include: incomplete downloads or USB transfer interruptions that truncated the file, ID3 tag editors that wrote malformed or oversized metadata into the RIFF header, file repair tools that incorrectly reconstructed the RIFF chunk offsets, and files recovered from damaged storage media with partial header data. Desktop software players (Windows Media Player, VLC, foobar2000, macOS QuickTime) use lenient parsers that attempt to recover from header errors and often succeed — which is why the file plays on your computer but fails on the CDJ. E-8304 specifically indicates a decode-stage failure, meaning the header was read but the decoder could not initialise. If the header is completely unreadable, the CDJ may show E-8302 instead.
Manual fix (free tools)
The approach depends on whether the audio data is intact. Start with a header inspection and repair attempt before resorting to a full re-encode.
ffmpeg -v error -i suspect.wav -f null - 2>&1 | head -30This command runs ffmpeg in analysis mode without producing output. Any header errors or decode warnings are printed to the terminal. Look for lines containing "invalid data", "missing chunk", or "truncated". If ffmpeg reports no errors, the WAV header is likely valid — the E-8304 may be caused by a format incompatibility (32-bit float, EXTENSIBLE tag) rather than corruption.
ffmpeg -i suspect.wav -acodec pcm_s24le -ar 44100 -rf64 never repaired.wavIf ffmpeg can read the file despite header issues, re-encoding produces a clean file with a freshly written RIFF header. `-rf64 never` forces a standard RIFF container (not RF64 or extensible). This resolves header offset errors, malformed chunk sizes, and most ID3-related header corruption.
For files that ffmpeg cannot read at all, a dedicated WAV repair tool attempts to locate the raw PCM data in the file and reconstruct a valid header around it. "Audio Repair Bench" (Windows) and "Izotope RX" (macOS/Windows) can recover audio from files with completely missing or overwritten headers. These tools scan for the PCM data signature and rebuild the RIFF structure from scratch.
If the file was downloaded, re-download it. If it was copied from a USB or external drive, re-copy from the original source. Header corruption from a bad download or interrupted USB transfer cannot always be repaired — a clean copy is faster and more reliable. After re-downloading, always verify with `ffmpeg -v error -i newfile.wav -f null -` before bringing to a gig.
The Boothready way
Fix your entire library automatically
Boothready distinguishes between two types of corrupt WAV headers. Files with a valid RIFF/WAVE structure but a malformed format chunk — caused by ID3 editors, interrupted writes, or broken conversion tools — are repaired automatically via ffmpeg re-encode. Files with completely invalid RIFF magic bytes, where even ffmpeg cannot read the audio data, are flagged as unrecoverable with a clear error message. Either way, you know before the gig, not at the club.
Frequently asked questions
Why does a corrupt WAV play on my computer but not on the CDJ?
Desktop software audio players use lenient, error-correcting parsers that attempt to recover from header problems and often succeed. CDJ hardware decoders are strict by design — they follow the WAV specification closely and reject files that do not conform. This means a corrupt WAV can play fine in VLC or Windows Media Player while consistently triggering E-8304 on every Pioneer CDJ it is loaded on.
Can I tell whether my WAV header is corrupt without a CDJ?
Yes. Run `ffmpeg -v error -i yourfile.wav -f null -` in your terminal. If the output contains header warnings or errors, the file has structural issues. A clean WAV produces no error output from this command.
What is the difference between E-8304 and E-8305 for corrupt files?
E-8304 (DECODE ERROR) indicates the CDJ read the header but the decoder failed to initialise — typically a format mismatch (32-bit float, unsupported codec) or header corruption at the format descriptor level. E-8305 (DATA FORMAT ERROR) indicates the format tag or container type is not recognised at all. Both codes can appear for corrupt headers depending on exactly where the corruption is located.
Is there a risk of the file becoming corrupt on a USB drive?
Yes. Unplugging a USB drive without safely ejecting it can corrupt files that were being written at the time. Always eject USB drives properly via the operating system before removing them. After copying tracks, run a verification pass with ffmpeg before the gig to catch any transfer errors.