Convert VOC to AAC — Free Online Tool
Convert VOC audio files — the raw PCM format from Creative Labs' Sound Blaster era — into AAC, a modern lossy format ideal for streaming, mobile playback, and iTunes compatibility. This tool transcodes the uncompressed PCM data (typically 8-bit unsigned or 16-bit signed) from your VOC file into efficient AAC audio at 128k bitrate by default, dramatically reducing file size while maintaining perceptible quality.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your VOC 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
VOC files store raw, uncompressed PCM audio — either 8-bit unsigned (pcm_u8) or 16-bit signed little-endian (pcm_s16le) — in a format developed by Creative Labs for DOS-era Sound Blaster cards. During this conversion, FFmpeg reads and decodes that raw PCM data, then re-encodes it using the AAC codec with lossy compression. Because VOC audio is often recorded at low sample rates (as low as 8kHz or 11kHz to fit within DOS memory constraints), FFmpeg will also resample the audio to meet AAC's typical output requirements. The result is a much smaller .aac file that can be played on any modern device, but the conversion is irreversible — the lossy AAC encoding discards audio data that cannot be recovered.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg tool, which handles reading the VOC container, decoding the raw PCM audio data, re-encoding it to AAC, and writing the output file. |
-i input.voc
|
Specifies the input VOC file. FFmpeg automatically detects the VOC container format and identifies the embedded PCM audio codec (pcm_u8 or pcm_s16le) and sample rate from the VOC file header. |
-c:a aac
|
Instructs FFmpeg to encode the audio stream using FFmpeg's built-in AAC encoder, transcoding the uncompressed PCM data from the VOC file into compressed AAC audio suitable for modern devices and streaming platforms. |
-b:a 128k
|
Sets the AAC output bitrate to 128 kilobits per second, which provides a reasonable balance between file size and audio quality. For low-fidelity 8-bit VOC sources, lower values like 64k or 96k may be equally sufficient. |
output.aac
|
Defines the output filename and tells FFmpeg to write a raw AAC bitstream file. Note that a .aac extension produces a raw AAC file rather than an M4A container — rename to output.m4a if you need Apple/iTunes compatibility with a proper container. |
Common Use Cases
- Extracting and modernizing sound effects from classic DOS games (like those using Sound Blaster audio) so they can be used in contemporary game remakes or fan projects
- Archiving digitized VOC audio from retro computing collections into a space-efficient, universally playable format for long-term storage on mobile devices
- Converting VOC voiceover or dialogue files from old CD-ROM titles (e.g., early adventure games) into AAC for use in YouTube retrospective videos or podcasts
- Preparing retro game audio samples for use in DAWs or music production tools that natively support AAC but cannot read the VOC container format
- Converting VOC speech or sound clips from DOS-era multimedia software into an iTunes- or iPhone-compatible format for personal listening or nostalgia projects
- Reducing the file size of large VOC audio archives from emulation libraries by replacing uncompressed PCM with compressed AAC before uploading to cloud storage or sharing with others
Frequently Asked Questions
It depends heavily on the source audio. Many VOC files were recorded at very low sample rates (8kHz–22kHz) and in 8-bit unsigned PCM, which already limits fidelity significantly compared to modern audio. Encoding this to AAC at 128k will introduce additional lossy compression, but for low-fidelity source material the difference is often imperceptible. The more impactful factor is typically the original VOC recording quality, not the AAC encoding step.
VOC files can store non-standard sample rates that reflect the hardware limitations of Sound Blaster cards, such as 8000Hz or 11025Hz. If FFmpeg misreads or does not correctly interpret the sample rate embedded in the VOC header, the audio may play back at the wrong speed. You can explicitly specify the input sample rate by adding '-ar 11025' (or the correct rate) before the input file in the command to force FFmpeg to interpret it correctly.
The '-b:a 128k' flag controls the AAC output bitrate. You can replace '128k' with any supported value such as '64k' for smaller files, '192k' for higher quality, or '256k' for near-transparent audio. For typical VOC source material with low original fidelity, increasing beyond 128k rarely provides a noticeable benefit, and 64k–96k is often sufficient for 8-bit, low-sample-rate content.
The VOC format has no support for metadata tags such as artist, title, or album — it is a simple raw PCM container with a header that stores only technical parameters like sample rate and bit depth. As a result, the output AAC file will not contain any embedded metadata from the source. If you want to tag the AAC file, you will need to add metadata separately using a tool like FFmpeg's '-metadata title="Song Name"' flag or a dedicated audio tagger.
The single command shown here processes one file at a time, but you can adapt it for batch processing on your desktop. On Linux or macOS, use a shell loop: 'for f in *.voc; do ffmpeg -i "$f" -c:a aac -b:a 128k "${f%.voc}.aac"; done'. On Windows Command Prompt, use 'for %f in (*.voc) do ffmpeg -i "%f" -c:a aac -b:a 128k "%~nf.aac"'. This is particularly useful when converting large collections of DOS game audio assets.
AAC is excellent for practical use and sharing but is not ideal for archival preservation due to its lossy nature — once converted, the original PCM data is permanently discarded. For archival purposes, consider keeping the original VOC files or converting to a lossless format like FLAC. Use AAC when your goal is playback compatibility, mobile use, or file size reduction, not when the priority is faithful long-term preservation of the original uncompressed audio data.
Technical Notes
VOC files use a chunked container format with a simple header identifying the Creative Labs signature, version, and an offset to the data blocks. The audio data itself is raw PCM — most commonly 8-bit unsigned (pcm_u8), though 16-bit signed little-endian (pcm_s16le) variants also exist, particularly in later Sound Blaster titles. Sample rates are often non-standard values like 8000Hz, 11025Hz, or 22050Hz, constrained by the Sound Blaster hardware's timing limitations. FFmpeg handles VOC demuxing well but may occasionally misinterpret the sample rate from malformed or non-standard VOC headers produced by older DOS tools. AAC encoding introduces irreversible lossy compression; at the default 128k bitrate, it is well-suited for typical 16-bit VOC content but arguably over-engineered for 8-bit, 8kHz source audio. The output AAC container in this command is a raw AAC bitstream (.aac), not wrapped in an MP4/M4A container, which means it will lack an iTunes-compatible container — if you need M4A for Apple devices, consider changing the output filename to 'output.m4a'. The libfdk_aac encoder is technically superior to FFmpeg's native AAC encoder but is not always available in standard FFmpeg builds; the native 'aac' codec used here produces good results for this use case.