oggenc(1)

NAME
oggenc - encode audio into the Ogg Vorbis format

SYNOPSIS
oggenc [ -hrQ ] [ -B raw input sample size ] [ -C raw input number of channels ] [ -R raw input samplerate ] [ -b nominal bitrate ] [ -m minimum bitrate ] [ -M maximum bitrate ] [ -q quality ] [ --resample frequency ] [ --downmix ] [ -s serial ] [ -o output_file ] [ -n pattern ] [ -c extra_comment ] [ -a artist ] [ -t title ] [ -l album ] [ -G genre ] input_files ...

DESCRIPTION
oggenc reads audio data in either raw, WAV, or AIFF format and encodes it into an Ogg Vorbis stream. oggenc may also read audio data from FLAC and Ogg FLAC files depending upon compile-time options. If the input file "-" is specified, audio data is read from stdin and the Vorbis stream is written to stdout unless the -o option is used to redirect the output. By default, disk files are output to Ogg Vorbis files of the same name, with the extension changed to ".ogg". This naming convention can be overridden by the -o option (in the case of one file) or the -n option (in the case of several files). Finally, if none of these are available, the output filename will be the input filename with the extension (that part after the final dot) replaced with ogg, so file.wav will become file.ogg

OPTIONS

-h, --help
    Show command help.

-r, --raw
    Assume input data is raw little-endian audio data with no header information. If other options are not specified, defaults to 44.1kHz stereo 16 bit. See next three options for how to change this.

-B n, --raw-bits=n
    Sets raw mode input sample size in bits. Default is 16.

-C n, --raw-chan=n
    Sets raw mode input number of channels. Default is 2.

-R n, --raw-rate=n
    Sets raw mode input samplerate. Default is 44100.

--raw-endianness n
    Sets raw mode endianness to big endian (1) or little endian (0). Default is little endian.

-Q, --quiet
    Quiet mode. No messages are displayed.

-b n, --bitrate=n
    Sets encoding to the bitrate closest to n (in kb/s).

-m n, --min-bitrate=n
    Sets minimum bitrate to n (in kb/s).

-M n, --max-bitrate=n
    Sets maximum bitrate to n (in kb/s).

--managed
    Set bitrate management mode. This turns off the normal VBR encoding, but allows hard or soft bitrate constraints to be enforced by the encoder. This mode is much slower, and may also be lower quality. It is primarily useful for creating files for streaming.

-q n, --quality=n
    Sets encoding quality to n, between -1 (low) and 10 (high). This is the default mode of operation, with a default quality level of 3. Fractional quality levels such as 2.5 are permitted. Normal quality range is 0 - 10.

--resample n
    Resample input to the given sample rate (in Hz) before encoding. Primarily useful for downsampling for lower-bitrate encoding.

--downmix
    Downmix input from stereo to mono (has no effect on non-stereo streams). Useful for lower-bitrate encoding.

--advanced-encode-option optionname=value
    Sets an advanced option. See the Advanced Options section for details.

-s, --serial
    Forces a specific serial number in the output stream. This is primarily useful for testing.

--discard-comments
    Prevents comments in FLAC and Ogg FLAC files from being copied to the output Ogg Vorbis file.

-o output_file, --output=output_file
    Write the Ogg Vorbis stream to output_file (only valid if a single input file is specified).

-n pattern, --names=pattern
    Produce filenames as this string, with %g, %a, %l, %n, %t, %d replaced by genre, artist, album, track number, title, and date, respectively (see below for specifying these). Also, %% gives a literal %.

-c comment, --comment comment
    Add the string comment as an extra comment. This may be used multiple times, and all instances will be added to each of the input files specified. The argument should be in the form "tag=value".

-a artist, --artist artist
    Set the artist comment field in the comments to artist.

-G genre, --genre genre
    Set the genre comment field in the comments to genre.

-d date, --date date
    Sets the date comment field to the given value. This should be the date of recording.

-N n, --tracknum n
    Sets the track number comment field to the given value.

-t title, --title title
    Set the track title comment field to title.

-l album, --album album
    Set the album comment field to album.

Note that the -a, -t, and -l options can be given multiple times. They will be applied, one to each file, in the order given. If there are fewer album, title, or artist comments given than there are input files, oggenc will reuse the final one for the remaining files, and issue a warning in the case of repeated titles.

ADVANCED ENCODER OPTIONS
Oggenc allows you to set a number of advanced encoder options using the --advanced-encode-option option. These are intended for very advanced users only, and should be approached with caution. They may significantly degrade audio quality if misused. Not all these options are currently documented.

bitrate_average_window=NN
    Set the managed bitrate window to NN seconds. The bitrate will be forced to the specified average over a floating window of this length. May be fractional (e.g. 3.5)

lowpass_frequency=NN
    Set the lowpass frequency to NN kHz.

EXAMPLES
Simplest version. Produces output as somefile.ogg:
    oggenc somefile.wav

Specifying an output filename:
    oggenc somefile.wav -o out.ogg

Specifying a high-quality encoding averaging 256 kbps (but still VBR).
    oggenc infile.wav -b 256 out.ogg

Specifying a maximum and average bitrate, and enforcing these.
    oggenc infile.wav --managed -b 128 -M 160 out.ogg

Specifying quality rather than bitrate (to a very high quality mode)
    oggenc infile.wav -q 6 out.ogg

Downsampling and downmixing to 11 kHz mono before encoding.
    oggenc --resample 11025 --downmix infile.wav -q 1 out.ogg

Adding some info about the track:
    oggenc somefile.wav -t "The track title" -a "artist who performed this" -l "name of album" -c "OTHERFIELD=contents of some other field not explicitly supported"

This encodes the three files, each with the same artist/album tag, but with different title tags on each one. The string given as an argument to -n is used to generate filenames, as shown in the section above. This example gives filenames like "The Tea Party - Touch.ogg":
    oggenc -b 192 -a "The Tea Party" -l "Triptych" -t "Touch" track01.wav -t "Underground" track02.wav -t "Great Big Lie" track03.wav -n "%a - %t.ogg"

Encoding from stdin, to stdout (you can also use the various tagging options, like -t, -a, -l, etc.):
    oggenc -

AUTHORS

Program Author:
    Michael Smith <msmith@xiph.org>

Manpage Author:
    Stan Seibert <indigo@aztec.asu.edu>

BUGS
Reading type 3 wav files (floating point samples) probably doesn't work other than on intel (or other 32 bit, little endian machines).

SEE ALSO
ogg123(1)