Convert AMR to VOC — Free Online Tool

Convert AMR audio files — the compressed, speech-optimized format used in mobile voice recordings — to VOC, Creative Labs' classic PCM audio container designed for DOS-era Sound Blaster hardware. The conversion decodes the narrow-band AMR bitstream and re-encodes it as uncompressed 8-bit unsigned PCM, making your voice recordings compatible with retro gaming tools, DOSBox, and vintage multimedia applications.

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

AMR (Adaptive Multi-Rate) stores audio using a lossy speech codec — either narrow-band (AMR-NB, up to 12.2 kbps) or wide-band (AMR-WB) — specifically engineered for compressing human voice with minimal perceptual loss at very low bitrates. VOC files, by contrast, store raw uncompressed PCM audio, originally developed by Creative Labs for the Sound Blaster card. During this conversion, FFmpeg uses the libopencore_amrnb decoder to fully decode the compressed AMR speech frames back into raw audio samples, then encodes those samples as pcm_u8 — unsigned 8-bit PCM at the original sample rate. Because AMR-NB is typically sampled at 8,000 Hz and VOC with pcm_u8 also operates well at 8 kHz, this is a natural fit. The VOC container wraps the PCM data with a simple Creative Labs header block structure. No video stream exists in either format. Since AMR is already a lossy format, the original quality ceiling is set at the AMR encoding stage — the VOC output is a lossless PCM representation of whatever audio survived the initial AMR compression.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg binary — the open-source multimedia processing engine that powers this conversion both in the browser (via FFmpeg.wasm) and on the desktop command line.
-i input.amr Specifies the input file as an AMR audio file. FFmpeg detects the AMR container and selects the libopencore_amrnb decoder to decompress the narrow-band speech frames into raw PCM samples.
-c:a pcm_u8 Sets the audio codec for the output to unsigned 8-bit PCM — the native and most compatible audio encoding for the VOC format, matching the original Sound Blaster hardware's 8-bit playback capability.
output.voc Defines the output filename with the .voc extension, which tells FFmpeg to write a Creative Labs VOC container. FFmpeg automatically generates the correct VOC file header and block structure around the pcm_u8 audio data.

Common Use Cases

  • Loading voice memos or mobile phone recordings into DOSBox or a real DOS environment that expects Sound Blaster-compatible VOC files for playback
  • Integrating AMR-recorded speech clips into retro game modifications or demoscene projects that use VOC as their native audio asset format
  • Archiving old voice recordings from feature phones (which defaulted to AMR) into the uncompressed VOC format for long-term preservation without further lossy re-encoding steps
  • Supplying audio assets to legacy Creative Labs tools, such as older versions of Sound Forge or early multimedia authoring software that could only import VOC files
  • Converting AMR voice prompts from mobile IVR systems into VOC format for testing on hardware or emulators that simulate early Sound Blaster-era telephony equipment
  • Extracting a clean, uncompressed PCM representation of an AMR speech file for waveform analysis in tools that read VOC but not AMR containers

Frequently Asked Questions

No — converting AMR to VOC will not recover any quality lost during the original AMR encoding. AMR is a lossy codec, so the speech artifacts, limited frequency range (typically 300–3400 Hz for AMR-NB), and low bitrate characteristics are permanently baked into the audio data. The VOC output is an uncompressed, lossless PCM copy of that already-degraded signal. Think of it as losslessly preserving a lossy recording — the file gets bigger but no fidelity is restored.
AMR-NB, the most common AMR variant used in mobile phones, operates at an 8,000 Hz sample rate and is designed specifically for voice telephony, capturing only the 300–3400 Hz frequency band needed for speech intelligibility. This inherently produces a narrow, telephone-like sound. When decoded to pcm_u8 VOC, that limited bandwidth is preserved exactly as-is. If your source was AMR-WB (wideband, 16,000 Hz sample rate), the result will sound noticeably fuller, but still not hi-fi.
The VOC format supports both 8-bit unsigned PCM (pcm_u8) and 16-bit signed little-endian PCM (pcm_s16le), and FFmpeg defaults to pcm_u8 for VOC output. Since AMR-NB source material is only 8,000 Hz and already lossy, upgrading to pcm_s16le adds bit depth headroom but won't recover detail that AMR discarded. If you need 16-bit output for compatibility with a specific tool, you can modify the command to use '-c:a pcm_s16le'. Be aware that some strict VOC-reading applications and vintage hardware may only handle the 8-bit variant.
On Linux or macOS, you can run the following in your terminal: 'for f in *.amr; do ffmpeg -i "$f" -c:a pcm_u8 "${f%.amr}.voc"; done'. On Windows Command Prompt, use: 'for %f in (*.amr) do ffmpeg -i "%f" -c:a pcm_u8 "%~nf.voc"'. Each AMR file will be independently decoded and written out as a separate VOC file with the same base filename. This is especially useful for large collections of mobile voice memos.
No. The VOC format has no metadata support whatsoever — it was designed as a bare-bones audio container for DOS-era hardware and contains only a file header, block-type markers, and raw PCM data. Any metadata stored in the AMR file (such as creation timestamps embedded by a phone's voice recorder app) will be discarded during conversion. If metadata preservation matters, consider converting to a format like WAV or FLAC instead.
Significantly larger. AMR-NB at its maximum bitrate of 12,200 bps is extremely compressed, while pcm_u8 at 8,000 Hz produces 8,000 bytes per second (64,000 bps) — roughly five times the data rate. A 1-minute AMR-NB file at 12.2 kbps is about 90 KB; the same audio as pcm_u8 VOC will be approximately 480 KB. This size increase is expected because VOC stores uncompressed PCM samples rather than the compact, speech-coded AMR frames.

Technical Notes

AMR-NB files decoded by libopencore_amrnb produce 8,000 Hz mono audio, which maps directly and cleanly to VOC's pcm_u8 mode — making this one of the more straightforward codec transitions despite the apparent format-era mismatch. The VOC container uses a block-based structure (block type 1 for raw voice data, block type 9 for extended data) and FFmpeg writes a valid Creative Labs-compatible header automatically. One notable limitation: VOC inherently supports only mono or stereo audio, and AMR is always mono, so channel layout is preserved without any downmixing. The pcm_u8 codec stores samples as unsigned integers (0–255, with silence at 128), which is distinct from the more common signed 16-bit PCM found in WAV files — some modern audio editors may need explicit format hints to correctly interpret the VOC file. FFmpeg does not attempt to resample the 8,000 Hz AMR audio upward during conversion; the output VOC retains the native 8 kHz rate. If your downstream application requires a higher sample rate, append '-ar 22050' or '-ar 44100' to the command before the output filename, though this will upsample rather than genuinely recover high-frequency content.

Related Tools