Extract Audio from WebM to VOC — Free Online Tool
Extract audio from a WebM file and save it as a VOC file — the classic Sound Blaster format used in DOS-era games and multimedia. This tool decodes the WebM's Opus or Vorbis audio stream and re-encodes it to raw unsigned 8-bit PCM, the native encoding of the VOC container.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your WebM 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
WebM stores audio using modern compressed codecs — typically Opus or Vorbis — which are lossy formats optimized for streaming efficiency. VOC, developed by Creative Labs for the original Sound Blaster card, stores audio as raw uncompressed PCM samples. This conversion fully decodes the compressed WebM audio stream and re-encodes it into unsigned 8-bit PCM (pcm_u8) inside a VOC container. Because 8-bit PCM has a much lower bit depth than the source (Opus and Vorbis operate at effectively 16-bit or higher precision), there is some quality reduction in dynamic range and fidelity. The video stream in the WebM file is completely discarded — VOC is a pure audio format with no video support. The result is a retro-compatible audio file that can be played by DOSBox, vintage Sound Blaster hardware, retro game engines, and legacy audio toolchains.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg binary — the same open-source multimedia engine running in your browser via WebAssembly that performs this WebM-to-VOC conversion entirely client-side. |
-i input.webm
|
Specifies the input WebM file, which contains a VP9 video stream and a compressed Opus or Vorbis audio stream inside a Matroska-based container. |
-vn
|
Disables video output entirely, discarding the VP9 video stream from the WebM file. This is necessary because VOC is a pure audio format and cannot contain any video data. |
-c:a pcm_u8
|
Encodes the audio as unsigned 8-bit PCM — the native and most compatible audio encoding for the VOC format, used by the original Creative Labs Sound Blaster hardware and DOS game engines. |
output.voc
|
Specifies the output filename with the .voc extension, which tells FFmpeg to wrap the raw PCM audio data in a Creative Labs VOC container structure. |
Common Use Cases
- Preparing sound effects or music for a DOS game remake or demoscene project that requires Sound Blaster-compatible VOC files
- Converting WebM audio clips for use in DOSBox-based game mods where the engine expects VOC format sound assets
- Extracting narration or dialogue from a WebM screen recording to use as a voice sample in a retro game engine like BUILD or id Tech 1
- Archiving or porting audio assets from modern web-based media into a format compatible with period-accurate DOS multimedia applications
- Creating test audio assets in VOC format for hardware or emulator developers working on Sound Blaster emulation or compatibility layers
- Stripping the audio from a WebM video clip and converting it to a raw PCM format for further processing in tools that accept VOC as input
Frequently Asked Questions
Yes, there will be a noticeable quality reduction. The WebM source uses Opus or Vorbis — modern codecs that encode audio at high perceptual quality. The VOC format here uses unsigned 8-bit PCM (pcm_u8), which provides only 256 discrete amplitude levels and produces a signal-to-noise ratio of roughly 48 dB. This means the output will sound noticeably less detailed than the source, with a characteristic gritty, lo-fi quality typical of early 1990s PC audio.
Yes, VOC supports signed 16-bit little-endian PCM (pcm_s16le) in addition to unsigned 8-bit. To use it, change the command to: ffmpeg -i input.webm -vn -c:a pcm_s16le output.voc. This gives you 65,536 amplitude levels versus 256, resulting in a much cleaner output with a theoretical SNR of around 96 dB — significantly closer to the quality of the WebM source audio.
This is because VOC stores raw uncompressed PCM data, while WebM's Opus or Vorbis codecs use aggressive compression to reduce file size. Opus can compress audio to as little as 6 kbps, whereas even 8-bit PCM at a typical 22050 Hz sample rate produces about 22 KB per second. The VOC file will often be many times larger than the WebM source despite having lower fidelity, because compression is entirely absent in the VOC container.
No. The VOC format has no support for metadata tags such as title, artist, album, or chapter information. Any metadata embedded in the WebM file — including Matroska tags or cover art — is lost during this conversion. If metadata preservation is important, you should consider exporting to a format like FLAC or WAV that supports tagging.
You can specify a sample rate using the -ar flag. For example, to output at the classic 22050 Hz rate common on Sound Blaster cards, use: ffmpeg -i input.webm -vn -ar 22050 -c:a pcm_u8 output.voc. Early Sound Blaster hardware commonly used 8000, 11025, or 22050 Hz. If you omit -ar, FFmpeg will attempt to use the source audio's sample rate, which may not be compatible with older playback hardware or emulators.
Yes. On Linux or macOS, you can use a shell loop: for f in *.webm; do ffmpeg -i "$f" -vn -c:a pcm_u8 "${f%.webm}.voc"; done. On Windows Command Prompt, use: for %f in (*.webm) do ffmpeg -i "%f" -vn -c:a pcm_u8 "%~nf.voc". This is especially useful for porting a full set of game audio assets from WebM sources to Sound Blaster-compatible VOC files in one pass.
Technical Notes
The VOC format was introduced by Creative Labs alongside the Sound Blaster card in 1989 and became a standard for DOS game audio throughout the early 1990s. It supports two PCM encodings: unsigned 8-bit (pcm_u8) and signed 16-bit little-endian (pcm_s16le). This tool uses pcm_u8 by default, matching the most common and widely compatible VOC variant. The unsigned 8-bit encoding means sample values range from 0 to 255, with 128 representing silence — a different convention from modern signed PCM. VOC files have no support for video, subtitles, chapters, or multiple audio tracks, so all of those streams from the WebM source are discarded. The WebM source may contain either Opus or Vorbis audio; in both cases, FFmpeg fully decodes the compressed stream before encoding to PCM, meaning no shortcuts or stream copying are possible here — a full decode-encode cycle always occurs. If the WebM file contains multiple audio tracks, FFmpeg will extract the first audio track by default; use -map 0:a:1 to select a different track. Sample rate is passed through from the source unless explicitly overridden, so very high sample rates from the WebM (such as 48000 Hz) will be preserved in the VOC file unless you specify -ar to downsample to a more retro-appropriate rate.