Convert CAVS to VOC — Free Online Tool
Extract and convert audio from CAVS video files into VOC format, the classic Creative Labs Sound Blaster audio container. This tool strips the AAC audio track from a CAVS source, re-encodes it as raw unsigned 8-bit PCM, and writes a VOC file — ideal for retro game modding and DOS-era multimedia compatibility.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your CAVS file here
or click to browse
Free — no uploads, no signups. Your files never leave your browser.
Settings
Note: Browser-based encoding uses approximate quality targets. For precise CRF compression, copy the FFmpeg command above and run it on your desktop.
Estimated output:
Conversion Complete!
DownloadHow It Works
CAVS files carry video encoded with H.264/AVC and audio encoded with AAC, a modern lossy codec. The VOC format is an audio-only container from the early 1990s that stores raw PCM samples — it has no concept of compressed audio. During this conversion, FFmpeg discards the CAVS video stream entirely and decodes the AAC audio track into uncompressed PCM samples. Those samples are then written as unsigned 8-bit PCM (pcm_u8) inside a VOC container. Because VOC stores raw waveform data, no audio compression is applied on the output side — the conversion is lossy in one direction only: the original AAC was already lossy, but the VOC output itself is lossless PCM. The result is an audio file that any Sound Blaster-compatible playback system or retro DOS application can read without a modern codec.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg application, the open-source multimedia processing engine that this browser-based tool uses via WebAssembly (FFmpeg.wasm) to handle the CAVS-to-VOC conversion entirely client-side. |
-i input.cavs
|
Specifies the input file in Chinese Audio Video Standard (CAVS) format, which contains an H.264 video stream and an AAC audio stream that FFmpeg will demux and decode for processing. |
-c:a pcm_u8
|
Sets the output audio codec to unsigned 8-bit PCM — the native and most broadly compatible audio encoding for VOC files, matching the format originally used by Creative Labs Sound Blaster hardware. |
output.voc
|
Defines the output file with a .voc extension, which tells FFmpeg to write the Creative Labs VOC container format. The video stream from the CAVS input is automatically discarded since VOC is an audio-only format. |
Common Use Cases
- Extracting dialogue or sound effects from CAVS broadcast recordings to use as audio assets in a DOS game or retro game mod that requires VOC-format sound files.
- Converting CAVS-sourced audio for use with DOSBox, which natively supports VOC files for Sound Blaster emulation when building custom game content.
- Archiving the audio portion of Chinese standard CAVS video content in a universally readable raw PCM format that does not depend on any proprietary codec support.
- Preparing voice-over or narration audio recorded through a CAVS workflow for import into legacy multimedia authoring tools from the MS-DOS era that only accept VOC files.
- Stripping and converting CAVS broadcast audio clips into VOC for use in chiptune or demoscene projects that target real Sound Blaster hardware and expect raw PCM samples.
- Testing audio pipeline compatibility when integrating a Chinese CAVS broadcast capture device into a retro computing workflow that terminates in Sound Blaster audio playback.
Frequently Asked Questions
The AAC audio inside the CAVS file is already lossy — some quality was discarded when the CAVS was originally encoded. Converting that decoded AAC signal into unsigned 8-bit PCM for VOC does not introduce additional lossy compression, but 8-bit PCM has a limited dynamic range of about 48 dB, which is noticeably lower than modern audio standards. If the CAVS source has rich dynamic range or high-quality audio, the 8-bit depth of pcm_u8 will be the dominant quality ceiling in the output VOC file.
VOC is a pure audio container format invented for the Creative Labs Sound Blaster card. It has no mechanism for storing video streams whatsoever. FFmpeg automatically drops the H.264 video track from the CAVS file because there is simply nowhere to put it in a VOC container. If you need to preserve the video, you would need to choose a different output format that supports video.
Yes. VOC files support both unsigned 8-bit (pcm_u8) and signed 16-bit little-endian PCM (pcm_s16le). Signed 16-bit gives you a dynamic range of about 96 dB, which is far closer to the quality of the original AAC source. To use it, modify the command to: ffmpeg -i input.cavs -c:a pcm_s16le output.voc. Note that not all retro DOS applications or older Sound Blaster models support 16-bit VOC playback — check your target software's requirements before choosing.
CAVS files typically carry audio at 44100 Hz or 48000 Hz. To resample to an older Sound Blaster-compatible rate like 22050 Hz or 11025 Hz, add the -ar flag: ffmpeg -i input.cavs -c:a pcm_u8 -ar 22050 output.voc. Lowering the sample rate reduces file size and may be necessary for compatibility with original DOS-era hardware or software that cannot handle full CD-quality sample rates.
The single-file command shown on this page can be adapted into a shell loop for batch processing. On Linux or macOS, run: for f in *.cavs; do ffmpeg -i "$f" -c:a pcm_u8 "${f%.cavs}.voc"; done. On Windows Command Prompt, use: for %f in (*.cavs) do ffmpeg -i "%f" -c:a pcm_u8 "%~nf.voc". This is especially practical for large collections of CAVS broadcast clips since the browser-based tool handles one file at a time.
No. The VOC format was designed in the early DOS era and has virtually no metadata support — it stores a header with sample rate, bit depth, and encoding type, but no fields for title, artist, language, or other tags. Any metadata embedded in the CAVS container will be silently discarded during conversion. If metadata preservation matters, consider an intermediate format like WAV or FLAC before archiving as VOC.
Technical Notes
The VOC format uses a chunk-based structure originally defined for Creative Labs Sound Blaster cards circa 1989–1992. The default codec for this conversion, pcm_u8, stores samples as unsigned 8-bit integers — meaning sample values range from 0 to 255 with 128 representing silence. This is different from the more common signed convention and can cause unexpected results if the VOC file is loaded by software expecting signed 8-bit data. The source CAVS container uses AAC audio, which typically operates at 44100 Hz or 48000 Hz with stereo channels; FFmpeg will preserve the source sample rate and channel count unless you explicitly override them with -ar and -ac flags. VOC files with stereo audio require Sound Blaster 16 or later hardware for correct playback — original Sound Blaster and Sound Blaster Pro cards only supported mono or limited stereo modes. The CAVS video stream (H.264) is automatically ignored by FFmpeg since VOC cannot carry video, so no explicit stream mapping is needed in the command. File sizes for VOC outputs can be significantly larger than the original CAVS audio because raw PCM is uncompressed — a one-minute stereo 44100 Hz pcm_u8 VOC file occupies approximately 5.3 MB compared to the AAC equivalent at around 1 MB.