Extract Audio from RM to VOC — Free Online Tool

Extract audio from legacy RealMedia (.rm) files and convert it to VOC format — the classic PCM audio container developed by Creative Labs for Sound Blaster cards. The conversion decodes AAC or MP3 audio from the RM stream and re-encodes it as uncompressed 8-bit unsigned PCM, producing a lossless VOC file compatible with DOS-era tools and retro gaming environments.

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

RealMedia files typically contain AAC or MP3-encoded audio streams wrapped in RealNetworks' proprietary container. During this conversion, FFmpeg strips the video stream entirely and decodes the compressed audio codec (AAC or libmp3lame) back to raw PCM samples. Those samples are then re-encoded as unsigned 8-bit PCM (pcm_u8) and written into a VOC container — Creative Labs' structured raw audio format. Because VOC uses uncompressed PCM, there is no further lossy compression applied after the initial decode, but the original AAC/MP3 compression artifacts are already baked into the source material. The resulting VOC file will be substantially larger than the source RM audio track and will be clocked at 8-bit resolution, which is the native depth for the default VOC codec.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg application — the underlying engine also used in its WebAssembly form (ffmpeg.wasm) to run this conversion entirely inside your browser without uploading any files.
-i input.rm Specifies the input RealMedia file. FFmpeg's RM demuxer reads the proprietary RealNetworks container and exposes its audio stream (typically AAC or MP3) and any video stream for further processing.
-vn Disables video output entirely, discarding any MJPEG or other video stream present in the RealMedia file. Since the output is a VOC audio-only format, this flag ensures no video data is processed unnecessarily.
-c:a pcm_u8 Decodes the compressed RealMedia audio (AAC or MP3) and re-encodes it as unsigned 8-bit PCM — the native audio encoding for Sound Blaster VOC files and the default codec expected by DOS games and tools that consume the VOC format.
output.voc Sets the output filename and tells FFmpeg to write a VOC container. FFmpeg infers the VOC format from the .voc extension and structures the output with the appropriate Creative Labs VOC 1.20 file header and block format.

Common Use Cases

  • Extracting audio from archived RealMedia streams downloaded from late-1990s or early-2000s websites for use in retro game modding or DOSBox projects that require VOC audio assets
  • Converting RealAudio content ripped from old CD-ROMs or multimedia kiosks into VOC format for replay through Sound Blaster emulators or vintage hardware
  • Preparing voice acting or sound effect recordings originally distributed as .rm files for injection into classic DOS games that load VOC audio directly
  • Archiving RealMedia audio content in an uncompressed, open PCM-based format to escape dependence on the proprietary RealNetworks codec ecosystem
  • Creating VOC audio assets for use with open-source retro game engines like OpenTTD, ScummVM, or similar projects that natively support the VOC format
  • Recovering audio from RealMedia tutorials or lectures from early e-learning platforms and converting them to a raw PCM format for further processing or archival in retro computing contexts

Frequently Asked Questions

Yes, in two ways. First, the original AAC or MP3 compression inside the RM file already introduced lossy artifacts — those cannot be recovered. Second, the output is encoded as unsigned 8-bit PCM (pcm_u8), which supports only 256 amplitude levels and produces a dynamic range of roughly 48 dB. This is noticeably lower fidelity than 16-bit audio and will sound noisier, especially on quiet passages. For higher fidelity, consider switching the codec to pcm_s16le in the FFmpeg command, which VOC also supports and delivers CD-quality bit depth.
RealMedia stores audio using compressed codecs like AAC or MP3, which can reduce file size by 10x or more compared to raw audio. VOC with pcm_u8 stores every audio sample uncompressed, so the file size is determined purely by duration and sample rate — typically resulting in a file many times larger than the source. A one-minute RealMedia clip encoded at 128k AAC might be around 1 MB, while the equivalent VOC file could be 5–10 MB depending on the sample rate.
Yes. The VOC format was designed specifically for Sound Blaster hardware, and DOSBox has built-in VOC playback support. Files produced with pcm_u8 encoding match the most common VOC variant used in DOS-era software. If you are injecting the VOC into a specific game, verify the expected sample rate, as some games hardcode playback at 8000 Hz, 11025 Hz, or 22050 Hz and will play at the wrong speed if the sample rate does not match.
No. The -vn flag in the FFmpeg command explicitly discards all video streams before processing begins. RealMedia files sometimes contain MJPEG video alongside the audio track, but this tool ignores it entirely. Only the audio stream is decoded and written to the output VOC file, so the presence or absence of a video track in the source RM file has no effect on the result.
Replace pcm_u8 with pcm_s16le in the command: ffmpeg -i input.rm -vn -c:a pcm_s16le output.voc. This encodes the audio as signed 16-bit little-endian PCM, which gives a 96 dB dynamic range versus roughly 48 dB for 8-bit. The resulting VOC file will be approximately twice the size, but the audio will have significantly less quantization noise — a meaningful improvement when the source RealMedia audio was encoded at 128k or higher bitrate.
Yes, on Linux or macOS you can run a simple shell loop: for f in *.rm; do ffmpeg -i "$f" -vn -c:a pcm_u8 "${f%.rm}.voc"; done. On Windows Command Prompt, use: for %f in (*.rm) do ffmpeg -i "%f" -vn -c:a pcm_u8 "%~nf.voc". The browser-based tool processes one file at a time, but the displayed FFmpeg command is designed to be portable so you can run it locally for bulk jobs, which is especially useful given the large output file sizes typical of uncompressed VOC audio.

Technical Notes

RealMedia's proprietary container is poorly documented and support for it has diminished over decades; FFmpeg's RM demuxer is functional but may struggle with some stream variants, particularly very old RealAudio 1.0 or 2.0 streams that predate AAC adoption. This tool targets the more common RM files containing AAC or libmp3lame audio, which FFmpeg handles reliably. The VOC format has a simple block-based structure with a fixed header; FFmpeg writes a valid VOC 1.20 file by default. The pcm_u8 codec encodes samples as unsigned 8-bit values centered at 128, which is the format Sound Blaster hardware expects. No metadata from the RealMedia file — such as title, author, or copyright tags often embedded by RealProducer — is carried over to the VOC output, as the VOC specification has no standardized metadata fields. Chapter markers and multiple audio tracks are unsupported in both formats, so there are no concerns about those being lost. If your RM file contains multiple audio streams (unusual but possible in some RealMedia presentations), FFmpeg will select the default stream; use -map 0:a:1 before the output filename to select an alternate track.

Related Tools