Extract Audio from MXF to VOC — Free Online Tool
Extract audio from professional MXF broadcast files and save it as a VOC file using lossless PCM encoding. This tool strips the video stream entirely and converts the MXF audio — typically PCM or AAC — down to unsigned 8-bit PCM (pcm_u8), the native format used by Creative Labs' Sound Blaster hardware and classic DOS applications.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your MXF 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
MXF (Material Exchange Format) is a broadcast-grade container that typically carries high-quality audio encoded as 16-bit or 24-bit linear PCM (pcm_s16le or pcm_s24le), sometimes AAC. During this conversion, FFmpeg discards the video stream entirely using the -vn flag, then decodes the MXF audio track and re-encodes it as unsigned 8-bit PCM (pcm_u8) — the only codec supported by the VOC format by default. This is a lossy step in terms of bit depth: 16-bit or 24-bit professional audio is downsampled to 8-bit resolution, which reduces dynamic range significantly. The VOC container itself is a simple, headerless-style format developed by Creative Labs, with no support for metadata, chapters, or multiple audio tracks, so all of those MXF features are dropped.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg command-line tool, which handles all demuxing, decoding, re-encoding, and muxing steps needed to convert the MXF container to a VOC file. |
-i input.mxf
|
Specifies the input MXF file. FFmpeg reads the file, identifies its contained streams (typically video, audio, and timecode metadata), and makes them available for processing. |
-vn
|
Disables video output entirely, discarding the video stream from the MXF file. Since VOC is an audio-only format, no video data can be written, and this flag ensures FFmpeg does not attempt to encode or copy any video. |
-c:a pcm_u8
|
Encodes the audio stream as unsigned 8-bit PCM, which is the default and most compatible audio codec for the VOC format. The MXF audio (typically 16-bit or 24-bit PCM) is decoded and re-encoded at 8-bit depth to match what Sound Blaster hardware and DOS applications expect. |
output.voc
|
Defines the output filename and tells FFmpeg to write the result as a VOC file. FFmpeg uses the .voc extension to select the correct muxer, producing a file compatible with Creative Labs Sound Blaster hardware, DOSBox, and retro multimedia tools. |
Common Use Cases
- Extracting dialogue or sound effects from a broadcast MXF file to use as audio assets in a retro-style DOS game or demoscene project
- Converting professional MXF audio to VOC format for playback on vintage Sound Blaster hardware or period-accurate DOS emulators like DOSBox
- Archiving or cataloguing legacy multimedia content by producing VOC-compatible versions of broadcast recordings for retro computing collections
- Pulling a short audio cue or jingle from an MXF master file to test compatibility with old Sound Blaster-based multimedia authoring tools
- Converting broadcast-origin audio into VOC for use in open-source retro game engines that natively support the Creative Labs VOC format
Frequently Asked Questions
Yes, and significantly so. MXF files used in broadcast typically store audio as 16-bit or 24-bit linear PCM, offering high dynamic range and fidelity. The VOC format's default codec, pcm_u8, is unsigned 8-bit PCM, which provides only 256 possible amplitude values and audibly limited dynamic range — roughly 48 dB compared to 96 dB for 16-bit audio. This is an inherent limitation of the VOC format itself, not the conversion process, and the loss is irreversible.
No. MXF is a metadata-rich container supporting timecode, reel names, production identifiers, and embedded descriptive metadata — all of which are lost during this conversion. The VOC format has no metadata structure whatsoever; it is essentially a raw audio data container with a minimal header. If preserving metadata matters, you should archive the original MXF file separately.
Yes. The VOC format does support pcm_s16le (signed 16-bit little-endian PCM) in addition to the default pcm_u8. To use 16-bit audio, modify the command to: ffmpeg -i input.mxf -vn -c:a pcm_s16le output.voc. This preserves more of the dynamic range from the original MXF audio and is worth using if your target application or hardware supports 16-bit VOC playback.
By default, FFmpeg selects the first audio stream it finds in the MXF file. The VOC format does not support multiple audio tracks, so only one track can be written to the output. If you need to extract a specific audio stream — for example, the second track in a dual-mono broadcast MXF — you can specify it with the -map flag: ffmpeg -i input.mxf -vn -map 0:a:1 -c:a pcm_u8 output.voc, where '0:a:1' selects the second audio track (zero-indexed).
On Linux or macOS, you can use a shell loop: for f in *.mxf; do ffmpeg -i "$f" -vn -c:a pcm_u8 "${f%.mxf}.voc"; done. On Windows Command Prompt, use: for %f in (*.mxf) do ffmpeg -i "%f" -vn -c:a pcm_u8 "%~nf.voc". This processes each MXF file in the current directory and outputs a correspondingly named VOC file.
VOC is the native audio format for Creative Labs Sound Blaster cards and classic DOS-era multimedia software, so this conversion is genuinely useful in retro computing, game development for DOS-compatible platforms, and demoscene projects. It is also used in open-source engines like ScummVM that natively load VOC files for sound effects. Converting from MXF specifically makes sense when professionally recorded audio — such as a studio voiceover or sound effect session — needs to be repurposed for a retro or historically accurate application.
Technical Notes
MXF files from broadcast environments commonly carry audio as pcm_s16le or pcm_s24le at sampling rates of 48 kHz, which is the broadcast standard. The VOC format was designed around the constraints of early 1990s PC audio hardware and imposes a hard ceiling of 8-bit unsigned PCM by default, with optional 16-bit signed PCM (pcm_s16le) as an extension. The sample rate supported by VOC is technically flexible but historically constrained to rates like 8000, 11025, 22050, and 44100 Hz — FFmpeg will handle resampling automatically if the source MXF audio is at 48 kHz. There is no audio quality parameter to configure in this conversion because VOC has no bitrate-based encoding; the output quality is determined entirely by bit depth (8 or 16 bit) and sample rate. The VOC container has no support for MXF's timecode tracks, multichannel audio beyond mono or stereo, chapter markers, or embedded metadata of any kind. If your MXF source contains surround audio (e.g., 5.1 channels), FFmpeg will default to including all channels in the output, but VOC playback applications typically only handle mono or stereo — you may want to add -ac 1 or -ac 2 to the command to explicitly control channel count.