Convert AIF to VOC — Free Online Tool

Convert AIF audio files to VOC format, transcoding Apple's lossless big-endian PCM audio down to Creative Labs' 8-bit unsigned PCM — the native format for DOS Sound Blaster cards and classic game audio. This tool runs entirely in your browser using FFmpeg.wasm, with no file uploads 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

AIF stores audio as uncompressed big-endian PCM — most commonly 16-bit signed (pcm_s16be) at high sample rates like 44.1kHz or 48kHz. VOC, designed for the original Sound Blaster hardware, supports only 8-bit unsigned PCM (pcm_u8) or 16-bit little-endian PCM (pcm_s16le). This conversion re-encodes the audio from AIF's high-resolution big-endian samples into 8-bit unsigned little-endian samples, which dramatically reduces bit depth from 16 or more bits down to 8 bits. This means the dynamic range drops from roughly 96dB to about 48dB — a real and audible reduction, particularly noticeable in quiet passages and transients. The byte order also flips from big-endian (Apple/Motorola convention) to little-endian (Intel/DOS convention). No video, subtitle, or chapter data is involved since both formats are audio-only.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg tool. In the browser version of this tool, FFmpeg runs as a WebAssembly (wasm) binary entirely within your browser — no server processes your file. On your desktop, this calls your locally installed FFmpeg executable.
-i input.aif Specifies the input file — an AIF audio file containing uncompressed big-endian PCM audio (typically pcm_s16be, pcm_s24be, or similar). FFmpeg reads the AIFF container structure and decodes the PCM samples for re-encoding.
-c:a pcm_u8 Sets the audio codec for the output to 8-bit unsigned PCM (pcm_u8) — the native and default audio encoding of the VOC format, originally designed for Creative Labs Sound Blaster hardware. This step re-encodes the audio, reducing bit depth and converting from signed big-endian to unsigned little-endian representation.
output.voc Specifies the output filename with the .voc extension, which tells FFmpeg to use its VOC muxer to write the Creative Labs Sound Blaster container format. The muxer writes the VOC file header and audio data blocks in the correct chunked structure expected by DOS-era games and multimedia software.

Common Use Cases

  • Preparing custom sound effects or voice lines for retro DOS games that use the VOC format natively via the Sound Blaster API
  • Creating audio assets for classic game modding projects — such as DOOM, Duke Nukem 3D, or Descent — where VOC files are required by the game engine
  • Recording high-quality audio on a modern Mac in AIF format, then converting to VOC for use in a vintage PC demoscene production
  • Archiving and restoring original Sound Blaster-era audio by round-tripping modern recordings back into the period-correct VOC container
  • Building educational or nostalgia-focused multimedia presentations that emulate early 1990s PC audio using authentic VOC files
  • Supplying audio samples to retro hardware projects or FPGA-based Sound Blaster emulators that expect VOC-formatted input

Frequently Asked Questions

Yes — this conversion involves a significant reduction in bit depth. AIF typically stores audio at 16, 24, or 32 bits per sample, while the default VOC output uses 8-bit unsigned PCM (pcm_u8). This limits dynamic range to approximately 48dB, compared to 96dB for 16-bit audio. The result is audibly noisier, especially in quiet sections, with a characteristic lo-fi 'crunch' that is actually authentic to the Sound Blaster era. If your target application supports it, you can use pcm_s16le instead to preserve more fidelity.
Yes. The VOC format supports pcm_s16le (16-bit signed little-endian PCM) in addition to the default pcm_u8. To use it, change the FFmpeg command to: ffmpeg -i input.aif -c:a pcm_s16le output.voc. This preserves significantly more dynamic range and is still compatible with many VOC-aware applications, though some very old DOS programs or hardware may only handle 8-bit VOC files.
The pcm_u8 encoding in VOC is a historical artifact of the original Creative Labs Sound Blaster hardware design from the late 1980s. The Sound Blaster DAC operated on unsigned byte values (0–255), where 128 represents silence, rather than the signed range (-128 to 127) used by most modern audio systems. AIF uses signed big-endian PCM, so this conversion also involves a sign convention change alongside the byte-order flip from big-endian to little-endian.
No. The VOC format has no support for metadata tags such as artist, title, album, or track information. Any ID3-style or AIFF chunk metadata present in your source AIF file will be silently discarded during conversion. If preserving metadata is important, you should store it externally or alongside the VOC file in a sidecar document.
You can batch convert in a Unix shell using a loop: for f in *.aif; do ffmpeg -i "$f" -c:a pcm_u8 "${f%.aif}.voc"; done. On Windows Command Prompt, use: for %f in (*.aif) do ffmpeg -i "%f" -c:a pcm_u8 "%~nf.voc". This applies the same pcm_u8 transcoding to each AIF file in the directory and outputs a matching VOC file. The browser tool handles one file at a time, so the FFmpeg command is especially useful for bulk workflows.
FFmpeg will attempt to carry the original sample rate into the VOC file, but the VOC format's support for sample rates is limited by its Sound Blaster origins — it works best at rates like 8000Hz, 11025Hz, 22050Hz, and 44100Hz. If your AIF file uses an unusual sample rate, you may want to explicitly resample it by adding -ar 22050 (or another standard rate) to the FFmpeg command to ensure maximum compatibility with retro software and hardware.

Technical Notes

The AIF-to-VOC conversion is one of the more lossy paths between two technically 'lossless' PCM formats, because the loss comes from bit depth reduction rather than perceptual compression. AIF supports up to 64-bit floating point PCM (pcm_f64be), while VOC's ceiling is 16-bit integer. The default output codec, pcm_u8, uses unsigned representation — an unusual choice by modern standards — where the midpoint value 128 represents digital silence. FFmpeg handles the signed-to-unsigned conversion and the big-endian to little-endian byte swap automatically. VOC files also use a chunked internal structure with a file header identifying them as Sound Blaster audio, which FFmpeg's VOC muxer generates correctly. There is no support for stereo in some strict VOC implementations (the original Sound Blaster was mono-only), though FFmpeg will write stereo VOC if the source is stereo. If targeting hardware or software that expects mono, add -ac 1 to the command to downmix. Chapter markers, loop points, and multiple audio tracks are not supported in VOC. File sizes will be substantially smaller than the AIF source due to the bit depth reduction: an 8-bit mono VOC is one-quarter the size of a 16-bit stereo AIF at the same sample rate.

Related Tools