Convert ALAC to VOC — Free Online Tool
Convert ALAC audio files (.m4a) to VOC format using PCM encoding directly in your browser — no uploads required. This tool decodes Apple's lossless MPEG-4 audio and re-encodes it as unsigned 8-bit PCM, producing a VOC file compatible with classic DOS Sound Blaster applications and retro game engines.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your ALAC 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
ALAC stores audio as losslessly compressed samples inside an MPEG-4 container, typically at 16-bit or higher bit depth. During this conversion, FFmpeg fully decodes the ALAC stream to raw PCM, then re-encodes it as unsigned 8-bit PCM (pcm_u8) inside the VOC container. The bit depth reduction from ALAC's typical 16- or 24-bit samples down to 8-bit is the most significant transformation: dynamic range drops from roughly 96–144 dB to about 48 dB, which is characteristic of the Sound Blaster era audio VOC was designed for. The VOC format itself is a flat, header-minimal container developed by Creative Labs, so no complex container remuxing is needed — FFmpeg simply writes the PCM data with the appropriate VOC block headers. No video, subtitle, or chapter data is transferred, as VOC supports none of these.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg multimedia processing tool, which handles the full pipeline of demuxing the MPEG-4 container, decoding the ALAC audio stream, and re-encoding it into VOC format. |
-i input.m4a
|
Specifies the input ALAC file in its MPEG-4 container (.m4a). FFmpeg reads the Apple Lossless audio stream from this container for decoding. |
-c:a pcm_u8
|
Sets the audio encoder to unsigned 8-bit PCM — the traditional encoding format used by Creative Labs VOC files. This converts the high-resolution ALAC samples down to 8-bit unsigned integers, producing the characteristic Sound Blaster-era audio format. |
output.voc
|
Defines the output file with the .voc extension, which signals FFmpeg to use the Creative Labs VOC muxer and write the PCM audio data wrapped in the appropriate VOC block headers. |
Common Use Cases
- Preparing sound effects sourced from an Apple Music library for use in a DOS game mod or retro game engine that reads VOC files natively.
- Porting audio assets from an iOS app (which commonly uses ALAC) into a Sound Blaster-compatible format for a vintage computing demonstration or museum exhibit.
- Creating authentic 8-bit audio samples for chiptune or lo-fi music projects where the characteristic Sound Blaster PCM sound is intentionally desired.
- Converting ALAC-encoded voice recordings into VOC files for use with DOSBox game replacements or custom Sound Blaster emulator configurations.
- Archiving or reproducing legacy multimedia CD-ROM content that originally shipped with VOC audio, using modern ALAC masters as the lossless source.
- Generating test audio assets in VOC format for developers building or debugging Sound Blaster emulation layers in open-source projects.
Frequently Asked Questions
Yes — this conversion is technically lossy in practice, even though both formats are labeled as PCM-based. ALAC commonly stores audio at 16-bit or 24-bit depth, while the default VOC output uses unsigned 8-bit PCM (pcm_u8), which limits dynamic range to approximately 48 dB. This means subtle details and quieter sounds present in the ALAC source will be quantized away. The VOC format also supports 16-bit signed PCM (pcm_s16le), which preserves more dynamic range if your target application supports it.
Yes. VOC supports 16-bit signed little-endian PCM in addition to the default 8-bit unsigned format. To use it, change the FFmpeg command to: ffmpeg -i input.m4a -c:a pcm_s16le output.voc. This preserves the full 16-bit dynamic range of a typical ALAC source and is closer in quality to the original, though not all Sound Blaster applications or DOS emulators handle 16-bit VOC blocks equally well.
No. The VOC format does not support metadata tags of any kind — it is a minimal container designed purely for raw PCM audio data with simple block headers. All ID3-style or iTunes metadata embedded in the ALAC .m4a file (title, artist, album art, etc.) will be silently discarded during conversion. If preserving metadata matters, consider an intermediate format like FLAC or WAV before eventually converting to VOC.
FFmpeg will attempt to pass through the original sample rate and channel count from the ALAC file into the VOC output, but VOC has practical limitations here. Historically, Sound Blaster hardware worked best with mono audio at sample rates like 8000, 11025, or 22050 Hz. Modern decoders and DOSBox are generally more flexible, but if your target application rejects the VOC file, you may need to downsample and mix to mono using additional FFmpeg flags such as -ar 22050 -ac 1.
The -c:a pcm_u8 flag tells FFmpeg to encode the output audio stream using unsigned 8-bit PCM — the traditional Sound Blaster audio encoding used in the VOC format. Without this flag, FFmpeg would not know which PCM variant to write into the VOC container. Unsigned 8-bit means sample values range from 0 to 255 (with 128 representing silence), which matches the original Creative Labs VOC specification used in DOS-era games.
Not directly with the single-file command shown, but you can adapt it easily in a shell script. On Linux or macOS, run: for f in *.m4a; do ffmpeg -i "$f" -c:a pcm_u8 "${f%.m4a}.voc"; done. On Windows Command Prompt, use: for %f in (*.m4a) do ffmpeg -i "%f" -c:a pcm_u8 "%~nf.voc". The browser tool processes files individually, so the FFmpeg command is especially useful for batch jobs involving large collections.
Technical Notes
ALAC (Apple Lossless Audio Codec) encodes audio with no information loss, typically at 16-bit or 24-bit depth and sample rates up to 384 kHz, stored in an MPEG-4 (.m4a) container. VOC, by contrast, is a rudimentary container from 1989 designed for the Creative Labs Sound Blaster card, consisting of simple typed data blocks with no compression — just raw PCM. The default codec for this conversion is pcm_u8 (unsigned 8-bit PCM), which imposes a hard ceiling of 48 dB dynamic range and is technically a lossy transformation relative to any modern ALAC source. The VOC format does not support chapters (which ALAC files can contain), multiple audio tracks, subtitles, or any metadata fields, so all of these are dropped. VOC also has no standardized support for floating-point PCM or high sample rates beyond what vintage Sound Blaster hardware could handle. If your retro application requires mono audio at a specific sample rate, use -ac 1 and -ar [rate] flags alongside the conversion command. File sizes of VOC output will typically be larger than the ALAC source because lossless compression is removed and raw PCM is written directly, even at 8-bit depth.