Convert TS to VOC — Free Online Tool

Convert a MPEG-2 Transport Stream (.ts) file to a Creative Labs VOC audio file, extracting the audio stream and encoding it as raw unsigned 8-bit PCM — the native format for Sound Blaster–era DOS applications and retro game sound engines. Video streams, subtitles, and additional audio tracks are discarded; only a single mono or stereo PCM audio track is written to the VOC container.

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

MPEG-2 Transport Stream files typically carry compressed audio encoded in AAC, AC-3, MP3, or Opus, multiplexed alongside one or more video and data streams. During this conversion, FFmpeg demuxes the transport stream to isolate the primary audio track, then fully decodes the compressed audio to raw PCM samples. Those samples are re-encoded as unsigned 8-bit PCM (pcm_u8) — the codec natively understood by Creative Labs VOC files. This is a full audio transcode, not a remux: every sample is decoded and rewritten. The VOC container itself is extremely simple, carrying no chapter markers, no subtitle tracks, and only a single audio stream, so all video, subtitle, and secondary audio content from the TS source is silently dropped.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg multimedia processing engine — in this browser tool, that is FFmpeg compiled to WebAssembly running entirely on your local device with no server upload required.
-i input.ts Specifies the input MPEG-2 Transport Stream file. FFmpeg will parse the TS container's program tables to identify and demux the available video, audio, and data elementary streams before processing begins.
-c:a pcm_u8 Sets the audio codec to unsigned 8-bit PCM, which is the native default codec for Creative Labs VOC files. The compressed audio from the TS source (typically AAC or AC-3) is fully decoded and then re-quantized to 8-bit unsigned samples — the format expected by Sound Blaster hardware and DOS-era software.
output.voc Specifies the output filename with the .voc extension, which tells FFmpeg to write a Creative Labs VOC container. All video streams and secondary audio tracks from the source TS are automatically excluded because the VOC format can only hold a single raw PCM audio stream.

Common Use Cases

  • Extracting a spoken-word or music audio track from a broadcast transport stream recording for playback or editing in retro DOS-era software that only accepts VOC files.
  • Preparing audio assets for classic DOS game modding or custom sound packs that require Creative Labs VOC format, sourced from modern broadcast recordings.
  • Archiving or studying the raw PCM audio content of a transport stream in the simplest possible uncompressed format, stripping away all codec overhead.
  • Porting audio from a digitally broadcast source into a vintage Sound Blaster–compatible multimedia project or interactive fiction engine that expects VOC input.
  • Producing test audio fixtures in VOC format for retro emulator or DOSBox development, using real broadcast audio as source material rather than synthesized tones.
  • Stripping a TS file down to its bare audio signal as an intermediate step before further processing with legacy audio tools that support only VOC or raw PCM input.

Frequently Asked Questions

Yes, there will be a significant quality reduction. The TS source typically contains AAC or AC-3 audio encoded at 128–384 kbps, which is decoded to full-resolution PCM and then re-encoded as unsigned 8-bit PCM at the same sample rate. 8-bit PCM has only 256 discrete amplitude levels, producing a dynamic range of roughly 48 dB and introducing audible quantization noise compared to the 16-bit or 24-bit audio you may be accustomed to. If you need higher fidelity in the VOC file, you can modify the FFmpeg command to use pcm_s16le (signed 16-bit little-endian PCM), which VOC also supports and offers a much cleaner 96 dB dynamic range.
All of them are discarded. The VOC format is a simple audio-only container developed for Sound Blaster cards; it has no mechanism to store video frames, subtitle streams, chapter markers, or secondary audio tracks. FFmpeg selects the default (usually first) audio stream from the transport stream and ignores everything else. If your TS file has multiple audio tracks — for example, multiple language options — only the first one will appear in the output VOC file.
Replace pcm_u8 with pcm_s16le in the command: ffmpeg -i input.ts -c:a pcm_s16le output.voc. Signed 16-bit little-endian PCM is the other codec the VOC format supports and delivers dramatically better audio fidelity — roughly double the bit depth and a much lower noise floor compared to unsigned 8-bit. This is recommended whenever the audio will be critically listened to rather than used purely for retro compatibility with software that requires 8-bit samples.
Yes. By default FFmpeg preserves the sample rate of the decoded audio from the TS source (commonly 44100 Hz or 48000 Hz). Early Sound Blaster hardware and DOS software often expected much lower sample rates such as 8000 Hz or 22050 Hz. You can add -ar 22050 (or any target rate) to the command before the output filename: ffmpeg -i input.ts -c:a pcm_u8 -ar 22050 output.voc. Lowering the sample rate reduces file size and improves compatibility with vintage hardware and emulators.
The size difference comes from the nature of raw PCM versus compressed audio, minus all the video content. Your TS source file is large primarily because it contains a compressed video stream, which is entirely removed. However, the audio portion of a VOC file is uncompressed raw PCM — every sample stored as an individual byte (or two bytes for 16-bit). A 1-hour broadcast TS file might have only a few hundred megabytes of compressed audio, but the resulting VOC could be hundreds of megabytes of raw samples depending on the sample rate. Compared to the video-heavy TS, the VOC is typically smaller overall; compared to just the audio portion of the TS, it may actually be larger because PCM is uncompressed.
Yes. On Linux or macOS, you can loop over files in a shell: for f in *.ts; do ffmpeg -i "$f" -c:a pcm_u8 "${f%.ts}.voc"; done. On Windows Command Prompt, use: for %f in (*.ts) do ffmpeg -i "%f" -c:a pcm_u8 "%~nf.voc". Each file is processed sequentially, producing one VOC file per TS input with the same base filename. Note that the browser-based tool on this page processes one file at a time, so the FFmpeg command copied from this page is especially useful for bulk conversion on your local machine.

Technical Notes

The VOC format was introduced by Creative Labs in the early 1990s alongside the Sound Blaster card and remains one of the simplest audio container formats in existence. It supports only two PCM codecs: unsigned 8-bit (pcm_u8) and signed 16-bit little-endian (pcm_s16le). There is no support for any compressed audio codec, no metadata fields beyond a minimal file header, no artwork embedding, and no multi-channel audio beyond stereo. MPEG-2 Transport Streams, by contrast, are sophisticated broadcast containers designed to carry multiplexed video, audio, and data with forward error correction, PID-based stream selection, and PCR timing. Converting from TS to VOC therefore involves not just transcoding but aggressive format downgrading: FFmpeg must parse the transport stream's PAT/PMT tables to find the audio elementary stream, decode the compressed audio (most commonly AAC or AC-3 in broadcast TS files), and then quantize it down to 8-bit unsigned samples. The unsigned 8-bit PCM encoding means sample values range from 0 to 255, with 128 representing silence — this offset encoding is distinct from the signed format more common in modern audio systems. Files processed in this browser tool never leave your device; the entire FFmpeg decode and encode pipeline runs locally via WebAssembly.

Related Tools