---
name: "opusdec"
section: "1"
platform: "linux"
package: "opus-tools"
version: "0.2-7"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/opusdec"
---

# opusdec(1)

decode audio in Opus format to Wave or raw PCM

## NAME

opusdec - decode audio in Opus format to Wave or raw PCM

## SYNOPSIS

**opusdec** \[ **-hV** \] \[ **--quiet** \] \[ **--rate Hz** \] \[ **--force-stereo** \] \[ **--gain dB** \] \[ **--no-dither** \] \[ **--float** \] \[ **--force-wav** \] \[ **--packet-loss pct** \] \[ **--save-range file** \] **input.opus** \[ **output.wav** \]

## DESCRIPTION

**opusdec** decodes Opus URLs or files to uncompressed Wave or raw PCM.

In URLs, the **file** , **http** , and **https** schemes are supported unless HTTP support was disabled at build time.

If the input file is specified as **-** , then **opusdec** will read from stdin. Likewise, an output filename of **-** will cause output to be to stdout.

If no output is specified **opusdec** will attempt to play the audio in realtime if it supports audio playback on your system.

## OPTIONS

- \-h, --help

  Show help message

- \-V, --version

  Show version information

- \--quiet

  Suppresses program output

- \--rate n

  Force decoding at sampling rate n Hz

- \--force-stereo

  Force decoding to stereo

- \--gain n

  Adjust the output volume n dB, negative values make the signal quieter

- \--no-dither

  Do not dither 16-bit output

- \--float

  Output 32-bit floating-point samples instead of 16-bit integer samples

- \--force-wav

  Force including a Wave header on output (e.g. for non-wav extensions and stdout)

- \--packet-loss n

  Simulate n % random Opus packet loss

- \--save-range file

  Save check values for every frame to a file

## EXAMPLES

Decode a file **input.opus** to **output.wav**

opusdec input.opus output.wav

Play a file **input.opus**

opusdec input.opus

Re-encode a high bitrate Opus file to a lower rate

opusdec --force-wav input.opus - \| opusenc --bitrate 64 - output.opus

Play an http stream **http://icecast.somwhere.org:8000/stream.opus** on a system with pulseaudio\
 *(press ctrl-c to quit)*

padsp opusdec http://icecast.somwhere.org:8000/stream.opus

## AUTHORS

Jean-Marc Valin \<jmvalin@jmvalin.ca\>\
 Gregory Maxwell \<greg@xiph.org\>

## BUGS

Opusdec does not currently reject all invalid files which it should reject. It also doesn't provide very helpful output for the corrupted files it does reject. Use [**opusinfo**(1)](/opusinfo/1.md) for somewhat better diagnostics.

## SEE ALSO

[**opusenc**(1)](/opusenc/1.md), [**opusinfo**(1)](/opusinfo/1.md)
