Trim VOC — Free Online Tool

Trim VOC audio files directly in your browser — no upload required. This tool cuts Creative Labs VOC audio to a precise start and end point, preserving the original PCM stream (pcm_u8 or pcm_s16le) without any re-encoding or quality loss.

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

VOC files store raw PCM audio data in a chunked block format originally designed for Creative Labs Sound Blaster cards. When trimming, FFmpeg seeks to the specified start time (-ss) and copies the raw PCM audio blocks up to the end point (-to) without decoding or re-encoding — this is a lossless stream copy. Because VOC uses uncompressed PCM (either 8-bit unsigned or 16-bit little-endian), the trim is essentially a precise byte-range extraction wrapped in a valid VOC container with proper header and block structure intact. No audio samples are modified; only the boundaries of the playback region change.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg binary. When run in the browser, this is executed via FFmpeg.wasm (WebAssembly), so no files leave your machine. On desktop, this calls your locally installed FFmpeg.
-i input.voc Specifies the input VOC file. FFmpeg reads the Creative Labs VOC header to detect the PCM codec (pcm_u8 or pcm_s16le), sample rate, and channel count before processing.
-ss 00:00:00 Sets the trim start point to the beginning of the file (00:00:00). Change this timestamp to seek to any position in the VOC audio — for example, '00:00:03.500' to start trimming from 3.5 seconds in.
-to 00:00:10 Sets the absolute end point of the trim to 10 seconds into the VOC file. Audio after this timestamp is discarded. This is an absolute file position, not a duration — use '-t' instead if you want to specify a clip length.
-c copy Copies the VOC's raw PCM audio stream directly without decoding or re-encoding it. This preserves the original pcm_u8 or pcm_s16le samples bit-for-bit and makes the trim operation near-instantaneous regardless of file size.
output.voc Defines the output filename and format. The .voc extension tells FFmpeg to write a valid Creative Labs VOC container with the proper header and block structure, compatible with DOSBox, Sound Blaster hardware, and DOS-era applications.

Common Use Cases

  • Extract a specific sound effect from a vintage DOS game VOC file for use in a retro game remake or mod
  • Trim a long VOC recording down to the exact dialogue or music loop needed for a Sound Blaster-era demo or intro sequence
  • Isolate a short PCM clip from a VOC file to test or debug a DOS-era game audio engine that only accepts VOC input
  • Cut unused silence or dead audio from the beginning or end of a VOC sample before embedding it in a retro game asset pack
  • Prepare a trimmed VOC segment for playback through a real or emulated Sound Blaster card in a DOSBox environment
  • Reduce the file size of a large VOC audio sample by removing unneeded sections before archiving a vintage multimedia software collection

Frequently Asked Questions

No. The FFmpeg command uses '-c copy', which performs a stream copy rather than decoding and re-encoding. Because VOC stores uncompressed PCM data (either pcm_u8 or pcm_s16le), there is no lossy compression stage to begin with, and copying the stream preserves every audio sample bit-for-bit. The only change is where the audio starts and ends.
Accuracy depends on the sample rate of the VOC file and the PCM encoding. Because VOC contains raw, uncompressed PCM samples with no compression frames to align to, seeking precision is generally very high — FFmpeg can align cuts at the sample level. However, with '-c copy' and '-ss' placed before the input, there may be minor alignment differences of a few samples. For most Sound Blaster and DOS game audio use cases, this level of precision is more than sufficient.
Yes. FFmpeg reconstructs a valid VOC file with the proper Creative Labs header ('Creative Voice File') and block structure, so the output remains fully compatible with DOSBox, vintage DOS applications, and real Sound Blaster cards. The PCM encoding (pcm_u8 or pcm_s16le) and sample rate are preserved exactly from the source file.
FFmpeg automatically detects the codec in use within the VOC file and copies it unchanged. Whether your source file uses 8-bit unsigned PCM (pcm_u8, the most common for DOS-era Sound Blaster content) or 16-bit little-endian PCM (pcm_s16le, used by later Sound Blaster Pro and 16 content), the '-c copy' flag ensures the codec is preserved without conversion. The output VOC will use the same codec as the input.
Replace the values after '-ss' and '-to' with your desired timestamps in HH:MM:SS or HH:MM:SS.mmm format. For example, to trim from 2.5 seconds to 7 seconds, use '-ss 00:00:02.500 -to 00:00:07.000'. You can also use plain seconds, such as '-ss 2.5 -to 7'. The '-to' flag specifies the absolute end time in the file, not a duration — if you want to specify a duration instead, replace '-to' with '-t'.
The displayed command processes one file at a time, but you can batch process multiple VOC files using a shell loop. On Linux or macOS, use: for f in *.voc; do ffmpeg -i "$f" -ss 00:00:00 -to 00:00:10 -c copy "trimmed_$f"; done. On Windows Command Prompt: for %f in (*.voc) do ffmpeg -i "%f" -ss 00:00:00 -to 00:00:10 -c copy "trimmed_%f". Adjust the -ss and -to values to your desired trim points.

Technical Notes

VOC is a chunked container format with a fixed 26-byte header identifying it as a Creative Voice File, followed by data blocks that encode PCM audio along with sample rate and bit-depth metadata. FFmpeg supports both pcm_u8 (8-bit unsigned, the format used by original Sound Blaster cards) and pcm_s16le (16-bit signed little-endian, introduced with Sound Blaster Pro and 16). Because VOC does not support video, subtitles, chapters, or multiple audio tracks, trimming is a straightforward single-stream operation. The '-c copy' flag avoids any transcoding, meaning sample rate, bit depth, and channel count are all preserved identically. One known limitation is that very old VOC files with looping block markers (used in DOS games to create seamless audio loops) may have their loop metadata stripped or not handled correctly after trimming, since the trim changes the block boundaries. If you are working with looped VOC game audio, verify playback in your target environment (such as DOSBox) after trimming. File sizes will scale linearly with the duration of the trimmed segment, since PCM data has no variable-bitrate compression.

Related Tools