Extract Audio from SWF to VOC — Free Online Tool
Extract audio from SWF Flash files and save it as a VOC file using lossless PCM encoding. This tool strips the video stream and re-encodes the MP3 or AAC audio from the SWF container into Creative Labs' raw PCM format, giving you an uncompressed audio file compatible with retro DOS-era playback systems and sound tools.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your SWF 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
SWF files typically carry compressed audio streams encoded in MP3 (libmp3lame) or AAC. During this conversion, FFmpeg discards the video stream entirely using the -vn flag, then decodes the compressed audio from the SWF and re-encodes it into unsigned 8-bit PCM (pcm_u8) — the default codec for the VOC container. This means the lossy SWF audio is decoded to an uncompressed intermediate and then written into the VOC file. VOC does not support variable bitrate or modern compressed codecs, so the output is a straightforward raw PCM audio file. The result is larger than the original audio in the SWF but is fully lossless at the decoded quality level, with no further compression artifacts introduced beyond those already present in the SWF's source audio.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg program, the open-source multimedia processing engine that handles all demuxing, decoding, and encoding steps in this SWF-to-VOC conversion. |
-i input.swf
|
Specifies the input SWF file. FFmpeg's SWF demuxer reads the binary Flash container and identifies the embedded audio stream (typically MP3 or AAC) along with any video stream. |
-vn
|
Disables video output entirely, discarding the FLV1 or MJPEG video stream that may be present in the SWF. Since VOC is a pure audio format, no video data can be written to the output anyway, and this flag makes the intent explicit. |
-c:a pcm_u8
|
Sets the audio encoder to unsigned 8-bit PCM, which is the native and most compatible codec for the VOC container format. This decodes the lossy MP3 or AAC audio from the SWF and re-encodes it as uncompressed raw PCM samples, the format that Creative Labs Sound Blaster hardware originally used. |
output.voc
|
Defines the output filename and tells FFmpeg to write a VOC-format file. FFmpeg infers the VOC container from the .voc extension and writes the pcm_u8 audio stream with the appropriate Creative Labs VOC file header. |
Common Use Cases
- Extracting background music or sound effects from legacy Flash-based browser games to use in retro-style DOS game projects that require VOC-format audio assets.
- Pulling audio from archived SWF educational or training content to load into classic Sound Blaster-compatible tools or DOS emulators like DOSBox, which natively support VOC files.
- Converting SWF cartoon or animation audio tracks into VOC format for use in vintage multimedia authoring environments that only accept Creative Labs audio formats.
- Recovering audio from old SWF web advertisements or interactive presentations where only the SWF file survives and a raw PCM output is needed for further audio editing.
- Preparing SWF-sourced audio for use in hardware or firmware projects targeting embedded systems that expect simple unsigned 8-bit PCM audio in VOC container format.
- Building a retro game modding pipeline where SWF assets from a Flash-era game need their audio extracted and repackaged into VOC files for use in a DOS-port or demake project.
Frequently Asked Questions
No additional lossy compression is introduced. The audio in an SWF is typically encoded as MP3 or AAC — both lossy formats. During this conversion, FFmpeg fully decodes that compressed audio to raw PCM and writes it into the VOC file as unsigned 8-bit PCM. The VOC format itself is lossless, so no further compression artifacts are added. However, the original lossy compression from the SWF's MP3 or AAC stream is already baked into the decoded audio, so the output quality ceiling is determined by how the SWF's audio was originally encoded.
SWF files store audio as compressed MP3 or AAC streams, which can reduce file size dramatically compared to raw audio. VOC stores audio as uncompressed PCM, meaning every sample is written directly with no compression. An MP3 stream at 128 kbps that was only a few megabytes in the SWF may expand to tens of megabytes as unsigned 8-bit PCM in the VOC file, depending on the audio duration and sample rate.
The default output codec used in this command is pcm_u8 — unsigned 8-bit PCM — which is the standard codec for VOC files and what Creative Labs Sound Blaster hardware originally used. If you need higher fidelity, you can modify the FFmpeg command locally to use pcm_s16le instead, which gives you signed 16-bit little-endian PCM at the cost of doubling the file size. Change -c:a pcm_u8 to -c:a pcm_s16le in the command to do this.
SWF does not support multiple independent audio tracks in the way that modern containers like MKV or MP4 do. Typically only one audio stream is extractable from an SWF file. FFmpeg will extract whichever audio stream it detects, but if the SWF contains interleaved or event-based audio from Flash's internal sound system, some sounds embedded at the ActionScript level may not be accessible through a simple FFmpeg extraction.
You can batch process multiple files on the command line using a shell loop. On Linux or macOS, run: for f in *.swf; do ffmpeg -i "$f" -vn -c:a pcm_u8 "${f%.swf}.voc"; done. On Windows Command Prompt, use: for %f in (*.swf) do ffmpeg -i "%f" -vn -c:a pcm_u8 "%~nf.voc". This iterates over every SWF in the current directory and produces a matching VOC file for each.
VOC files are natively supported by DOSBox, the popular DOS emulator, making them useful for retro gaming and DOS software projects. Audacity can import VOC files for further editing. VLC media player also supports VOC playback. On vintage hardware or period-accurate setups, any Sound Blaster-compatible application running under DOS can play VOC files directly. FFmpeg itself can also play or further convert VOC files if needed.
Technical Notes
SWF is a binary container format that can embed audio encoded as MP3 via libmp3lame or as AAC, both lossy codecs. The VOC format originated with Creative Labs and the Sound Blaster sound card in the early 1990s and is fundamentally a raw PCM container with a simple header, supporting unsigned 8-bit (pcm_u8) and signed 16-bit little-endian (pcm_s16le) PCM. FFmpeg's SWF demuxer reliably extracts the primary audio stream but cannot access Flash ActionScript event-triggered sound objects embedded at the scripting layer. Metadata from the SWF (such as any title or author tags) is not preserved in the VOC output, as the VOC format has no standardized metadata block. The unsigned 8-bit PCM default means a dynamic range limited to about 48 dB — noticeably lower fidelity than 16-bit audio — so if the source SWF audio is high quality, switching to pcm_s16le locally will better preserve the decoded audio fidelity. VOC files have no compression, no chapter support, and no subtitle capability, making this format strictly a single-stream raw audio container.