Convert MKV to VOC — Free Online Tool

Convert MKV video files to VOC audio format, extracting and re-encoding the audio stream as raw unsigned 8-bit PCM — the native format of Creative Labs Sound Blaster cards used in classic DOS games and early multimedia software. This tool strips all video, subtitles, and chapter data, delivering a lean, retro-compatible audio file directly in your browser.

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

During this conversion, FFmpeg discards all video streams, subtitle tracks, chapter markers, and any additional audio tracks from the MKV container. Only the first audio stream is processed and re-encoded as unsigned 8-bit PCM (pcm_u8) — the codec natively supported by the VOC format. Unlike lossless formats such as FLAC or PCM 16-bit, pcm_u8 quantizes audio to just 256 amplitude levels, which introduces mild quantization noise, particularly on quiet or dynamic material. The output VOC file carries the Creative Labs VOC header block structure and is not wrapped in any modern container — it is essentially a raw PCM stream with a legacy framing layer. No video quality settings apply, and no audio bitrate parameter is used because VOC quality is determined solely by the fixed 8-bit depth and the source sample rate.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg program, the open-source multimedia processing engine that powers this conversion both in the browser via WebAssembly and on your local desktop installation.
-i input.mkv Specifies the input file — an MKV (Matroska) container, which may contain video, multiple audio tracks, subtitles, and chapter data. FFmpeg reads all streams from this container and selects which ones to process based on the rest of the command.
-c:a pcm_u8 Sets the audio codec to unsigned 8-bit PCM, the native and most widely compatible audio encoding for the VOC format. This re-encodes whatever audio codec the MKV contains (AAC, Opus, FLAC, etc.) into raw 8-bit unsigned PCM samples, which the VOC container can store directly.
output.voc Specifies the output filename with the .voc extension, which tells FFmpeg to write a Creative Labs VOC-formatted file. The extension triggers FFmpeg's VOC muxer, which wraps the pcm_u8 audio data in the correct VOC block structure with the Sound Blaster file signature header.

Common Use Cases

  • Preparing audio assets for a DOS game mod or retro game project that requires Sound Blaster-compatible VOC files for in-game sound effects or music
  • Archiving or restoring classic multimedia content from an MKV recording of old CD-ROM software demos that originally shipped audio in VOC format
  • Extracting voice-over or dialogue audio from an MKV video to import into a vintage-style game engine or tracker tool that only accepts VOC input
  • Testing Sound Blaster emulation layers (such as DOSBox or PCem) with freshly generated VOC files derived from modern MKV source recordings
  • Creating 8-bit lo-fi sound effects from MKV footage for chiptune or retro aesthetic music production pipelines that deliberately use pcm_u8 for its characteristic gritty texture

Frequently Asked Questions

Yes, and this is inherent to the VOC format itself rather than the conversion process. The pcm_u8 codec stores audio at only 8 bits of depth, giving 256 possible amplitude values compared to the 65,536 values in 16-bit audio. This results in audible quantization noise on quiet passages and reduced dynamic range. If your MKV source contains AAC or Opus audio — which are already lossy — the VOC output represents a second generation of quality degradation, though at 8-bit depth the quantization effect tends to dominate over the original codec artifacts.
FFmpeg will carry the source audio's sample rate into the VOC output by default, so if your MKV contains audio at 44100 Hz or 48000 Hz, the VOC file will reflect that rate. However, the VOC format has historical roots in lower sample rates (8000–22050 Hz) and some legacy tools or DOS emulators may handle only those rates reliably. If you are targeting a specific emulator or hardware, you may want to append -ar 22050 or -ar 11025 to the FFmpeg command to downsample accordingly.
All of them are lost. VOC is a raw audio-only format with no container infrastructure capable of holding subtitles, chapter markers, metadata tags, or secondary audio tracks. FFmpeg automatically selects the first audio stream from the MKV and ignores everything else. If your MKV has multiple audio tracks and you need a specific one, add -map 0:a:1 (adjusting the index) to the command to select it before the output filename.
Yes, VOC supports 16-bit signed little-endian PCM in addition to 8-bit unsigned PCM. To use it, change the FFmpeg command to ffmpeg -i input.mkv -c:a pcm_s16le output.voc. This doubles the bit depth to 16 bits, dramatically reducing quantization noise and preserving far more dynamic range. However, compatibility with older DOS-era software and hardware that expects the classic 8-bit VOC format may be reduced, so choose based on your target playback environment.
On Linux or macOS, you can run: for f in *.mkv; do ffmpeg -i "$f" -c:a pcm_u8 "${f%.mkv}.voc"; done in your terminal. On Windows Command Prompt, use: for %f in (*.mkv) do ffmpeg -i "%f" -c:a pcm_u8 "%~nf.voc". This processes each MKV in the current directory and outputs a matching VOC file. The browser-based tool processes one file at a time, so the FFmpeg command is especially useful for bulk conversions.
This is a direct consequence of the pcm_u8 format's 8-bit depth. Audio signals near silence are most affected because there are too few quantization steps to represent low-amplitude waveforms accurately, causing a buzzing or grainy distortion. Loudly normalized source audio tends to fare better. If the output sounds too quiet, check whether your MKV audio track has a low replay gain level — you can add -af volume=2.0 to the FFmpeg command to amplify the signal before encoding to pcm_u8.

Technical Notes

VOC is one of the oldest structured audio file formats still in active use within retro computing communities, and its constraints are severe by modern standards. The format stores audio in a series of typed data blocks with a fixed Creative Labs signature header, but it carries no metadata fields for title, artist, album, or track information — any tags present in the MKV source are silently dropped during conversion. The default codec, pcm_u8, uses unsigned representation (silence at byte value 128 rather than 0), which differs from most other PCM formats and can cause compatibility issues if a VOC consumer incorrectly treats the data as signed. The format does not support stereo in its most basic block type (type 0x01); FFmpeg handles this by defaulting to the appropriate block type for multichannel data, but if strict mono compatibility is required for a specific DOS program, add -ac 1 to downmix to mono before output. File sizes will be significantly larger than the MKV source audio in compressed formats like AAC or Opus, since pcm_u8 is uncompressed — a one-minute 44100 Hz mono stream produces approximately 2.6 MB. There are no adjustable quality parameters for this conversion: the only meaningful levers are sample rate (-ar) and channel count (-ac).

Related Tools