Convert M4B to VOC — Free Online Tool

Convert M4B audiobook files to VOC format using PCM unsigned 8-bit audio, decoded entirely in your browser with no uploads required. This tool strips the AAC-encoded M4B container down to raw uncompressed PCM audio compatible with Creative Labs Sound Blaster hardware and DOS-era applications.

FFmpeg Command

Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg

Free — no uploads, no signups. Your files never leave your browser.

Estimated output:

Conversion Complete!

Download

How It Works

M4B files store audio as AAC (Advanced Audio Coding), a lossy compressed format wrapped in an MPEG-4 container that also carries chapter markers, bookmarks, and metadata tags. Converting to VOC requires fully decoding the AAC audio stream into raw PCM samples, then re-encoding as unsigned 8-bit PCM (pcm_u8) inside the VOC container format developed by Creative Labs. Unlike a simple remux, this is a full transcode: the AAC compression is unwound entirely, producing uncompressed waveform data. The VOC format has no concept of chapters, bookmarks, or ID3-style metadata, so all of that M4B-specific structure is discarded. The output is a flat, headerless-style raw audio file at 8-bit depth, which is what legacy Sound Blaster drivers and DOS game engines expect.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg tool, which handles the full pipeline of demuxing the M4B container, decoding the AAC audio stream, and encoding the output as VOC.
-i input.m4b Specifies the input M4B audiobook file. FFmpeg will parse the MPEG-4 container, locate the AAC audio track, and ignore any chapter or bookmark metadata structures since they have no equivalent in the VOC output format.
-c:a pcm_u8 Sets the audio codec to unsigned 8-bit PCM, which is the native audio encoding of the VOC format. This forces a full decode of the AAC stream followed by re-encoding to raw 8-bit uncompressed samples, producing a file compatible with Sound Blaster hardware and DOS applications.
output.voc Specifies the output filename with the .voc extension, which causes FFmpeg to use the VOC muxer. The resulting file will be a Creative Labs VOC container holding the unsigned 8-bit PCM audio stream with no chapter markers, metadata, or compression.

Common Use Cases

  • Loading spoken-word audio or narration into a DOS-era game engine or demo tool that only accepts Sound Blaster VOC files
  • Porting an audiobook recording into retro multimedia authoring software (such as early Macromedia or DOS-based presentation tools) that requires VOC input
  • Extracting a voice sample or narration clip from an M4B podcast chapter for use as a sound effect in a DOS game mod or demoscene project
  • Testing Sound Blaster emulation layers (such as DOSBox) with real-world spoken audio content sourced from modern M4B audiobook files
  • Archiving or cataloguing AAC-encoded spoken audio in a flat PCM format for analysis with legacy audio forensics or signal-processing tools that predate MP4 container support
  • Converting a short M4B audio sample to VOC for playback on original Sound Blaster hardware as part of a vintage computing restoration project

Frequently Asked Questions

The conversion involves decoding AAC (a lossy codec used in M4B) to raw PCM, which does not add further compression artifacts — but the output is stored as unsigned 8-bit PCM, which has a dynamic range of only 48 dB and 256 amplitude levels. This is a significant reduction from the fidelity of the original AAC stream. For voice and spoken-word audiobook content the degradation is audible but often acceptable; for music or high-fidelity content, the 8-bit quantization will sound noticeably coarser.
They are lost entirely. The VOC format has no mechanism to store chapter timestamps, bookmarks, or any metadata beyond the raw audio samples themselves. If you need to preserve chapter information, you should extract individual chapters from the M4B before conversion, as the resulting VOC file will be a single continuous audio stream with no navigational structure.
Yes. Replacing '-c:a pcm_u8' with '-c:a pcm_s16le' in the command will encode the output as signed 16-bit little-endian PCM, which gives 96 dB of dynamic range versus the 48 dB of 8-bit PCM. The resulting VOC file will be larger (roughly double the size) but will sound significantly cleaner. However, pcm_s16le VOC files may not be compatible with the oldest Sound Blaster drivers or DOS software that only supports 8-bit VOC playback.
On Linux or macOS you can use a shell loop: 'for f in *.m4b; do ffmpeg -i "$f" -c:a pcm_u8 "${f%.m4b}.voc"; done'. On Windows Command Prompt, use: 'for %f in (*.m4b) do ffmpeg -i "%f" -c:a pcm_u8 "%~nf.voc"'. Each file will be fully transcoded from AAC to PCM u8 individually, and the chapter/bookmark metadata will be dropped for each output file.
M4B files use AAC compression, which typically achieves 10:1 or greater reduction compared to uncompressed audio. VOC with pcm_u8 stores every audio sample as a raw byte with no compression whatsoever. A 128 kbps AAC M4B audiobook that runs for one hour might be around 60 MB, while the equivalent pcm_u8 VOC file at a typical 22050 Hz sample rate would be approximately 75–90 MB — and at 44100 Hz, roughly double that.
Yes, DOSBox has built-in Sound Blaster emulation and can play pcm_u8 VOC files directly through its emulated SB16 or SBPro device. You can load the VOC file using DOSBox-compatible tools like PLAY.EXE or any DOS application that interfaces with the Sound Blaster API. If you use pcm_s16le encoding instead, ensure your DOSBox configuration specifies at least SB16 emulation, as earlier Sound Blaster Pro models only supported 8-bit VOC playback.

Technical Notes

The M4B to VOC conversion is a full transcode with no possibility of stream copying, since AAC (the M4B audio codec) and PCM u8 (the VOC audio codec) are fundamentally incompatible at the container and codec level. FFmpeg fully decodes the AAC bitstream to an internal 32-bit float PCM representation, then quantizes and re-encodes it as unsigned 8-bit PCM samples. The unsigned 8-bit format means sample values run from 0 to 255 with 128 representing silence — distinct from signed PCM formats where 0 is silence. The VOC container itself originates from Creative Labs' Sound Blaster SDK circa 1989 and supports very limited header metadata: sample rate and bit depth are recorded, but no artist, title, album, or chapter fields exist. All M4B metadata (title, author, chapter names, cover art embedded in the MPEG-4 container) is silently dropped. The output file size is determined purely by duration × sample rate × 1 byte per sample, making it straightforwardly predictable but potentially large for long audiobooks. If your target application supports it, switching to pcm_s16le yields substantially better audio fidelity at the cost of doubling the file size.

Related Tools