Convert MP4 to VOC — Free Online Tool

Convert MP4 video files to VOC audio format, extracting the audio stream and encoding it as unsigned 8-bit PCM — the native format used by Creative Labs Sound Blaster cards in DOS-era games and multimedia software. This tool strips the video entirely and produces a raw PCM VOC file compatible with retro gaming engines, DOS emulators, and vintage sound hardware.

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

MP4 is a modern container that typically holds compressed audio encoded with AAC or MP3. VOC is a simple, header-based audio container developed by Creative Labs that stores raw uncompressed PCM audio — it has no concept of video, chapters, or multiple tracks. During this conversion, FFmpeg discards the video stream entirely and decodes the MP4's audio (usually AAC) back to raw PCM samples, then re-encodes those samples as unsigned 8-bit PCM (pcm_u8) and wraps them in a VOC container. Because VOC supports only a single audio track and no metadata beyond basic sample rate and channel info, any embedded tags, album art, chapter markers, or secondary audio tracks from the MP4 are lost. The output is lossless in the sense that no further lossy compression is applied, but downsampling to 8-bit unsigned PCM from a higher-quality AAC source does involve a reduction in dynamic range and bit depth.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg command-line tool, which handles all decoding, stream selection, encoding, and container muxing for this MP4-to-VOC conversion entirely within your browser via WebAssembly.
-i input.mp4 Specifies the input MP4 file. FFmpeg reads the container and identifies the available streams — in a typical MP4 this includes at least one H.264 video stream and one AAC audio stream, both of which are parsed here.
-c:a pcm_u8 Sets the audio encoder to unsigned 8-bit PCM, which is the native audio encoding used by Creative Labs VOC files for Sound Blaster compatibility. This decodes the MP4's AAC audio and re-encodes it as raw 8-bit unsigned PCM samples with no further compression.
output.voc Specifies the output filename with the .voc extension, which tells FFmpeg to use the VOC muxer. Because VOC is an audio-only container, FFmpeg automatically omits the video stream from the MP4 without needing an explicit -vn flag.

Common Use Cases

  • Preparing custom music or sound effects for a DOS game mod or total conversion that uses the VOC format for its audio assets
  • Loading converted audio into DOSBox or other DOS emulators that accept VOC files for Sound Blaster emulation and authentic retro playback
  • Archiving or digitizing spoken-word MP4 recordings into VOC format for use in vintage Creative Labs multimedia authoring tools like Creative WaveStudio
  • Supplying audio samples to retro demoscene productions or 8-bit chiptune projects that require raw PCM audio in the VOC container
  • Extracting a voice line or short sound clip from an MP4 video to use as a Sound Blaster-compatible effect in a retro game engine like iD Tech 1 or its derivatives

Frequently Asked Questions

Yes, in a meaningful way. Most MP4 files store audio as AAC, which is a high-quality lossy format typically encoded at 128–256 kbps with 16-bit or higher sample depth. VOC with pcm_u8 stores audio as unsigned 8-bit PCM, which provides only 256 discrete amplitude levels and roughly 48 dB of dynamic range — far less than the 16-bit standard (96 dB). The result will sound noticeably noisier and flatter, especially for music. For dialogue or simple sound effects at low fidelity this may be acceptable, but for high-fidelity audio it is a significant downgrade in bit depth.
Yes. The VOC format also supports signed 16-bit little-endian PCM (pcm_s16le), which provides 16-bit depth and a much wider dynamic range. To use it, change the FFmpeg command to: ffmpeg -i input.mp4 -c:a pcm_s16le output.voc. Not all VOC players or DOS applications support 16-bit VOC files — the format was originally designed around 8-bit Sound Blaster hardware — so check your target application's compatibility before switching.
They are all discarded. VOC is a pure audio-only container with no support for video streams, subtitle tracks, chapter markers, or metadata tags. FFmpeg automatically drops the video stream when the output container cannot accept it. If your MP4 contains multiple audio tracks, only the first (default) audio track will be used in the output VOC file.
This usually means the sample rate of the converted file does not match what the application expects. Early Sound Blaster hardware commonly used sample rates like 8000 Hz, 11025 Hz, or 22050 Hz, while modern MP4 audio is typically at 44100 Hz or 48000 Hz. You can force a specific sample rate by adding the -ar flag to the FFmpeg command, for example: ffmpeg -i input.mp4 -c:a pcm_u8 -ar 22050 output.voc. Match the sample rate to your target application's requirements.
On Linux or macOS you can use a shell loop: for f in *.mp4; do ffmpeg -i "$f" -c:a pcm_u8 "${f%.mp4}.voc"; done. On Windows Command Prompt use: for %f in (*.mp4) do ffmpeg -i "%f" -c:a pcm_u8 "%~nf.voc". Each MP4 in the folder will be processed individually and output as a matching VOC file. This approach is especially useful for preparing entire sets of game audio assets.
FFmpeg can decode virtually all audio codecs found inside MP4 containers — including AAC, MP3, AC-3, E-AC-3, Opus, and ALAC — and transcode them to pcm_u8 for VOC output. The conversion will work regardless of the original codec. The only practical issue you may encounter is with multi-channel surround audio (5.1, 7.1), which FFmpeg will automatically downmix to stereo or mono depending on the default behavior; you can explicitly force mono with -ac 1 if your target DOS application only supports mono VOC playback.

Technical Notes

The VOC format uses a block-based structure where the first block typically contains the audio format header (sample rate, bit depth, channel count) followed by data blocks containing raw PCM samples. Creative Labs defined the format in the early 1990s specifically for Sound Blaster compatibility, and the 8-bit unsigned PCM variant (pcm_u8) remains the most universally supported encoding across DOS software, emulators, and retro hardware. FFmpeg writes a standard VOC header automatically when the output extension is .voc. One important limitation: the VOC format's original sample rate encoding for 8-bit audio uses a single-byte field calculated as 256 − (1000000 / sample_rate), which means only specific sample rates produce accurate playback — 8000, 11025, 22050, and 44100 Hz are the most reliable values. The MP4 source's audio sample rate may not match these, so adding an explicit -ar flag is recommended for retro compatibility. Additionally, VOC files do not preserve any ID3 or iTunes metadata tags from the MP4 source, and there is no workaround within the format's specification.

Related Tools