Linux Commands Examples

A great documentation place for Linux commands


simple decoder, Ogg Vorbis file to PCM audio file (Wave or RAW).

see also : ogg123 - oggenc - vorbiscomment - flac


oggdec [ -Qhv ] [ -b bits_per_sample ] [ -e endianness ] [ -R ] [ -s signedness ] [ -o outputfile ] file ...

add an example, a script, a trick and tips

: email address (won't be displayed)
: name

Step 2

Thanks for this example ! - It will be moderated and published shortly.

Feel free to post other examples
Oops ! There is a tiny cockup. A damn 404 cockup. Please contact the loosy team who maintains and develops this wonderful site by clicking in the mighty feedback button on the side of the page. Say what happened. Thanks!



Decode a file enabler.ogg to enabler.wav
as little-endian unsigned 16-bit (default options):

oggdec enabler.ogg

Decode a file enabler.ogg to enabler.raw as headerless little-endian unsigned 16-bit:

oggdec --raw=1 enabler.ogg

Decode enabler.ogg to enabler.crazymonkey as unsigned 8-bit:

oggdec -b 8 -s 0 -o enabler.crazymonkey enabler.ogg

Decode enabler.ogg to enabler.raw as big-endian signed 16-bit (any of the following):

oggdec -R -e 1 -b 16 enabler.ogg
oggdec -R -e 1 -b 16 -o enabler.raw - < enabler.ogg
oggdec -R -e 1 -b 16 - < enabler.ogg > enabler.raw

Mass decoding (foo.ogg to foo.wav, bar.ogg to bar.wav, quux.ogg to quux.wav, etc.):

oggdec *.ogg

oggdec --quiet -o - "$1" | lame --silent -
for X in *.ogg ; do
oggdec $Y.ogg ; lame $Y.wav $Y.mp3


oggdec decodes Ogg Vorbis files into PCM-encoded ("uncompressed") audio files, either Wave or RAW format.

For each input file, oggdec writes to a filename based on the input filename, but with the extension changed to ".wav" or ".raw" as appropriate.

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

Writing Wave format to stdout is a bad idea. Wave requires a seekable medium for the header to be rewritten after all the data is written out; stdout is not seekable.


-Q, --quiet

Suppresses program output.

-h, --help

Print help message.

-V, --version

Display version information.

-b n, --bits=n

Bits per sample. Valid values are 8 or 16.

-e n, --endian=n

Set endianness for 16-bit output. 0 (default) is little-endian (Intel byte order). 1 is big-endian (sane byte order).

-R, --raw

Output in raw format. If not specified, writes Wave file (RIFF headers).

-s n, --sign=n

Set signedness for output. 0 for unsigned, 1 (default) for signed.

-o filename, --output=filename

Write output to specified filename. This option is only valid if one input [file] is specified, or if raw mode is used.

see also

ogg123 , oggenc , vorbiscomment , flac , speexdec


Program Authors
Michael Smith <msmith[:at:]xiph[:dot:]org>

Manpage Authors
Frederick Lee <phaethon[:at:]linux.ucla[:dot:]edu>, assisted by a few million monkeys armed with keyboards in irc://

How can this site be more helpful to YOU ?

give  feedback