Convert AAC to VOC — Free Online Tool

Convert AAC audio files to VOC format using PCM unsigned 8-bit encoding, transforming modern lossy compressed audio into the raw uncompressed format used by Creative Labs Sound Blaster cards in classic DOS-era software. This tool runs entirely in your browser via FFmpeg.wasm — no upload required.

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

This conversion involves two significant transformations. First, the AAC audio data is decoded from its lossy compressed form — AAC uses perceptual coding to discard audio information the human ear is less sensitive to, so the original pre-compression signal cannot be recovered. The decoded PCM audio is then re-encoded as unsigned 8-bit PCM (pcm_u8) and wrapped in the VOC container format developed by Creative Labs. VOC files store audio as raw uncompressed PCM, so the output is technically lossless at the 8-bit depth level, but quality is limited by that 8-bit depth (256 amplitude levels), which is significantly lower fidelity than the AAC source. The result is a VOC file compatible with DOSBox, retro game asset pipelines, and Sound Blaster emulators.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg tool, which handles all decoding, sample format conversion, and encoding. In the browser, this runs as a WebAssembly binary via FFmpeg.wasm with no server involvement.
-i input.aac Specifies the input file — an AAC audio file. FFmpeg automatically detects the AAC codec and demuxes the container, then begins decoding the lossy compressed audio stream to raw PCM for processing.
-c:a pcm_u8 Sets the audio encoder to unsigned 8-bit PCM, which is the native encoding expected by the classic VOC format and Sound Blaster hardware. This converts the decoded AAC audio into 256-level raw PCM samples, matching the fidelity characteristics of the original Creative Labs sound card era.
output.voc Specifies the output filename with the .voc extension. FFmpeg uses this extension to automatically select the VOC muxer, writing the pcm_u8 audio data into a properly structured VOC container with the correct Creative Labs file header.

Common Use Cases

  • Replacing or modding sound effects in classic DOS games that load audio assets as VOC files, such as early id Software or Sierra titles
  • Preparing audio for DOSBox game mods where custom sounds must be in VOC format to be recognized by the game engine
  • Converting modern AAC recordings of retro-style music or 8-bit chiptune compositions into authentic VOC files for period-accurate playback
  • Creating Sound Blaster-compatible audio assets for demoscene productions or retro computing hobbyist projects
  • Archiving or testing audio pipelines that historically consumed VOC files, using AAC as the modern source format
  • Generating VOC audio samples for use with vintage Creative Labs hardware or accurate hardware emulation environments

Frequently Asked Questions

No — AAC is a lossy format, meaning audio data was permanently discarded when the AAC file was originally encoded. Converting to VOC does not recover that lost information. Additionally, VOC with pcm_u8 encoding uses only 8-bit depth, which introduces its own quantization noise and limited dynamic range compared to the 16-bit or higher audio most people are used to. The VOC output will sound noticeably rougher and noisier than the AAC source, which is characteristic of the Sound Blaster era this format comes from.
The default output codec is pcm_u8 — unsigned 8-bit PCM — which only supports 256 possible amplitude values per sample. This results in audible quantization noise, especially in quieter passages, and a generally grainier sound. This was the native capability of the original Sound Blaster hardware. If your target application supports it, you can modify the FFmpeg command to use pcm_s16le (signed 16-bit little-endian PCM) for significantly better fidelity while remaining in the VOC container.
Replace pcm_u8 with pcm_s16le in the command: ffmpeg -i input.aac -c:a pcm_s16le output.voc. This uses signed 16-bit little-endian PCM, which provides 65,536 amplitude levels instead of 256, yielding dramatically cleaner audio and a much lower noise floor. Not all DOS-era applications can play 16-bit VOC files, but DOSBox and most modern retro emulators handle them correctly.
The single-file command shown is a direct starting point for batch processing. On Linux or macOS you can loop over files with: for f in *.aac; do ffmpeg -i "$f" -c:a pcm_u8 "${f%.aac}.voc"; done. On Windows Command Prompt, use: for %f in (*.aac) do ffmpeg -i "%f" -c:a pcm_u8 "%~nf.voc". The browser-based tool processes one file at a time, so the FFmpeg command is especially useful when you have many files to convert.
No. The VOC format has no support for metadata tags of any kind — it was designed purely as a raw audio transport format for game sound effects and system sounds, not music library management. Any ID3-style or iTunes metadata embedded in your AAC file (artist, album, artwork, track number, etc.) will be completely discarded during conversion. If metadata preservation matters, VOC is not an appropriate target format.
FFmpeg will carry over the sample rate from your AAC source file by default. Common AAC sample rates like 44100 Hz or 48000 Hz are technically valid in VOC files, but original Sound Blaster hardware and some strict DOS game engines only reliably support lower rates such as 8000, 11025, or 22050 Hz. If you are targeting actual hardware or a game with strict sample rate requirements, add -ar 22050 (or another target rate) to the command: ffmpeg -i input.aac -c:a pcm_u8 -ar 22050 output.voc.

Technical Notes

The VOC format was introduced by Creative Labs around 1989 alongside the original Sound Blaster card and remained the primary audio format for DOS game development through the mid-1990s. It supports a simple block-based structure carrying raw PCM data, with the default codec in this conversion being pcm_u8 (unsigned 8-bit, meaning sample values range from 0 to 255 with silence at 128). The alternative pcm_s16le codec (signed 16-bit little-endian) is also supported by the VOC container and by FFmpeg, and was used by later Sound Blaster models. Because AAC is a lossy format using MDCT-based perceptual coding, the decoded PCM signal fed into the VOC encoder already contains the artifacts of AAC compression; no subsequent step can restore the discarded frequency components. File sizes for VOC output are typically much larger than AAC sources despite the lower bit depth — a 128 kbps AAC file will expand significantly because pcm_u8 at 44100 Hz mono produces approximately 352 kbps of raw data. The VOC format does not support stereo in all implementations; while FFmpeg can write stereo VOC files, some retro applications and hardware emulators expect mono audio. Adding -ac 1 to force mono output is advisable when targeting strict DOS game compatibility.

Related Tools