Convert MP3 to VOC — Free Online Tool

Convert MP3 audio files to VOC format, the classic Creative Labs Sound Blaster container using unsigned 8-bit PCM audio. This tool decodes your lossy MP3 stream and re-encodes it as raw PCM data in a format natively compatible with DOS-era sound hardware and retro game engines.

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

MP3 uses the MPEG Audio Layer III lossy compression algorithm, storing audio as perceptually encoded frequency data that must be fully decoded before it can be repackaged. During this conversion, FFmpeg first decodes the MP3 bitstream back to raw PCM audio, then re-encodes it as unsigned 8-bit PCM (pcm_u8) wrapped in the VOC container. The VOC format was designed by Creative Labs for the Sound Blaster card and stores audio as uncompressed PCM blocks with a simple header — there is no compression applied within the VOC container itself. Because 8-bit unsigned PCM has a much lower dynamic range than modern audio formats (only 256 amplitude levels versus 65,536 for 16-bit), the conversion introduces some quantization noise on top of the artifacts already present in the MP3 source. The resulting VOC file will be larger than the source MP3 despite potentially lower perceptual quality, because raw PCM is far less space-efficient than MP3 compression.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg command-line tool, which handles the decoding of the input MP3 bitstream and all subsequent processing and encoding steps in this conversion pipeline.
-i input.mp3 Specifies the input file as an MP3 audio file. FFmpeg automatically detects the libmp3lame-encoded audio stream and prepares it for decoding to raw PCM before re-encoding into the VOC container.
-c:a pcm_u8 Sets the audio codec for the output to unsigned 8-bit PCM, which is the native and most broadly compatible audio encoding used in the original Creative Labs VOC format for DOS Sound Blaster applications.
output.voc Defines the output filename with the .voc extension, which tells FFmpeg to use its VOC muxer — writing the correct Creative Voice File header, version info, and block structure that DOS applications and retro game engines expect.

Common Use Cases

  • Preparing sound effects or music cues for use in DOSBox-based retro game projects that require native VOC file input
  • Replacing or modding audio assets in classic DOS games (such as early id Software or Apogee titles) that originally shipped with VOC sound files
  • Converting modern MP3 recordings to VOC so they can be played back on vintage Sound Blaster hardware or authentic DOS machines
  • Creating period-accurate audio assets for demoscene productions targeting DOS and OPL/Sound Blaster compatibility
  • Supplying audio files to retro game development toolchains (such as Game Maker for DOS or custom engine editors) that only accept VOC input
  • Archiving or reconstructing historical multimedia CD-ROM content that originally distributed audio in the VOC format

Frequently Asked Questions

Yes, there will be a quality reduction, and it compounds two separate losses. Your MP3 source already contains lossy compression artifacts from the original encoding. When FFmpeg decodes the MP3 and re-encodes to pcm_u8, the audio is stored at only 8-bit depth, which means just 256 possible amplitude levels — compared to the 16-bit or 24-bit depth typical of modern recordings. This 8-bit quantization introduces audible noise and reduced dynamic range, which is characteristic of the Sound Blaster era but noticeable on modern playback systems.
MP3 is a compressed format that achieves small file sizes by discarding audio data the human ear is less sensitive to. VOC stores audio as raw uncompressed PCM blocks with no compression at all. Even though pcm_u8 is only 8 bits per sample (relatively low resolution), a one-minute audio file at 44,100 Hz takes about 2.6 MB as raw 8-bit PCM — whereas the same audio might be only 1 MB or less as a 128 kbps MP3. The trade-off is instant, zero-overhead playback on hardware without a decoder.
FFmpeg will preserve the sample rate of your source MP3 in the output VOC file unless you specify otherwise. Common MP3 sample rates are 44,100 Hz or 48,000 Hz. However, original Sound Blaster hardware and DOS game engines often expected lower sample rates such as 8,000 Hz, 11,025 Hz, or 22,050 Hz. If you are targeting authentic hardware or a specific DOS application, you may need to add '-ar 22050' (or your target rate) to the FFmpeg command to resample accordingly.
Yes, VOC supports 16-bit signed little-endian PCM (pcm_s16le) in addition to 8-bit unsigned PCM. Sixteen-bit audio provides 65,536 amplitude levels versus 256, resulting in significantly better dynamic range and less quantization noise. To use it, change the command to 'ffmpeg -i input.mp3 -c:a pcm_s16le output.voc'. Note that not all retro applications and DOS game engines support 16-bit VOC files — the 8-bit variant (pcm_u8) is the safest choice for maximum compatibility with vintage software.
No. The VOC format does not support metadata tags of any kind. Its structure consists only of a file header and a series of data blocks containing raw audio — there is no provision for storing artist, title, album, or any other ID3-style information. All metadata embedded in your source MP3 will be silently discarded during conversion. If preserving metadata matters, you should keep the original MP3 alongside the VOC file.
On Linux or macOS, you can use a shell loop: 'for f in *.mp3; do ffmpeg -i "$f" -c:a pcm_u8 "${f%.mp3}.voc"; done'. On Windows Command Prompt, use: 'for %f in (*.mp3) do ffmpeg -i "%f" -c:a pcm_u8 "%~nf.voc"'. This applies the same pcm_u8 encoding to each MP3 in the current directory and outputs a corresponding VOC file. If you need a specific sample rate for hardware compatibility, add '-ar 22050' (or your target rate) before the output filename.

Technical Notes

The VOC format was introduced with the Creative Labs Sound Blaster card in 1989 and became the de facto standard for digital audio in DOS gaming through the early 1990s. Its internal structure uses a block-based layout where block type 0x01 carries the audio data, along with a time constant byte that encodes the sample rate. The pcm_u8 codec stores samples as unsigned 8-bit integers (values 0–255, with silence at 128), while pcm_s16le stores them as signed 16-bit little-endian integers — the latter being a later addition to the Sound Blaster specification. FFmpeg's VOC muxer correctly writes the file signature ('Creative Voice File'), version fields, and block headers automatically. One known limitation is that the VOC format does not support multi-channel (stereo or surround) audio in the most compatible block type; if your MP3 is stereo, FFmpeg may downmix it to mono depending on the codec and muxer constraints, so verify your output if stereo playback is expected. Because the source MP3 is already a lossy format, this conversion is a lossy-to-lossless-container transcode — the PCM data in the VOC is an exact representation of the decoded MP3 waveform, but the upstream MP3 artifacts cannot be recovered.

Related Tools