NAME
ogg123 - plays Ogg Vorbis files
SYNOPSIS
ogg123 [ -vqrzZVh ] [ -k seconds ] [ -x nth ] [ -y ntimes ] [ -b
buffer_size ] [ -d driver [ -o option:value ] [ -f filename ] ] file
... | directory ... | URL ...
DESCRIPTION
ogg123 reads Ogg Vorbis audio files and decodes them to the devices
specified on the command line. By default, ogg123 writes to the
standard sound device, but output can be sent to any number of devices.
Files can be read from the file system, or URLs can be streamed via
HTTP. If a directory is given, all of the files in it or its
subdirectories will be played.
OPTIONS
--audio-buffer n
Use an output audio buffer of approximately ’n’ kilobytes.
-@ playlist, --list playlist
Play all of the files named in the file ’playlist’. The
playlist should have one filename, directory name, or URL per
line. Blank lines are permitted. Directories will be treated
in the same way as on the command line.
-b n, --buffer n
Use an input buffer of approximately ’n’ kilobytes. HTTP-only
option.
-p n, --prebuffer n
Prebuffer ’n’ percent of the input buffer. Playback won’t begin
until this prebuffer is complete. HTTP-only option.
-d device, --device device
Specify output device. See DEVICES section for a list of
devices. Any number of devices may be specified.
-f filename, --file filename
Specify output file for file devices. The filename "-" writes
to standard out. If the file already exists, ogg123 will
overwrite it.
-h, --help
Show command help.
-k n, --skip n
Skip the first ’n’ seconds. ’n’ may also be in minutes:seconds
or hours:minutes:seconds form.
-K n, --end n
Stops playing ’n’ seconds from the start of the stream. ’n’ may
also have the same format as used in the --skip option.
-o option:value, --device-option option:value
Assigns the option option to value for the preceding device.
See DEVICES for a list of valid options for each device.
-q, --quiet
Quiet mode. No messages are displayed.
-V, --version
Display version information.
-v, --verbose
Increase verbosity.
-x n, --nth
Play every ’n’th decoded block. Has the effect of playing audio
at ’n’ times faster than normal speed.
-y n, --ntimes
Repeat every played block ’n’ times. Has the effect of playing
audio ’n’ times slower than normal speed. May be with -x for
interesting fractional speeds.
-r, --repeat
Repeat playlist indefinitely.
-z, --shuffle
Play files in pseudo-random order.
-Z, --random
Play files in pseudo-random order forever.
DEVICES
ogg123 supports a variety of audio output devices through libao. Only
those devices supported by the target platform will be available. The
-f option may only be used with devices that write to files.
null Null driver. All audio data is discarded. (Note: Audio data is
not written to /dev/null !) You could use this driver to test
raw decoding speed without output overhead.
alsa Advanced Linux Sound Architecture.
Options:
dev ALSA device label to use. The system default is
used by default. Examples include "plughw:0,0"
for the first soundcard, and "plughw:1,0" for the
second. For more information, see
http://alsa.opensrc.org/ALSA+device+labels
buf_size
Override the default buffer size (in bytes).
arts aRts Sound Daemon.
esd Enlightened Sound Daemon.
Options:
host The hostname where esd is running. This can
include a port number after a colon, as in
"whizbang.com:555". (Default = localhost)
irix IRIX audio driver.
oss Open Sound System driver for Linux and FreeBSD.
Options:
dsp DSP device for soundcard. Defaults to /dev/dsp.
sun Sun Audio driver for NetBSD, OpenBSD, and Solaris.
Options:
dev Audio device for soundcard. Defaults to
/dev/audio.
au Sun audio file output. Writes the audio samples in AU format.
The AU format supports writing to unseekable files, like
standard out. In such circumstances, the AU header will specify
the sample format, but not the length of the recording.
raw Raw sample output. Writes raw audio samples to a file.
Options:
byteorder
Choose big endian, little endian, or native byte
order. (Default = "native")
wav WAV file output. Writes the sound data to disk in uncompressed
form. If multiple files are played, all of them will be
concatenated into the same WAV file. WAV files cannot be
written to unseekable files, such as standard out. Use the AU
format instead.
EXAMPLES
The ogg123 command line is fairly flexible, perhaps confusingly so.
Here are some sample command lines and an explanation of what they do.
Play on the default soundcard:
ogg123 test.ogg
Play all of the files in the directory ~/music and its subdirectories.
ogg123 ~/music
Play a file using the OSS driver:
ogg123 -d oss test.ogg
Pass the "dsp" option to the OSS driver:
ogg123 -d oss -o dsp:/dev/mydsp
Use the ESD driver
ogg123 -d esd test.ogg
Use the WAV driver with the output file, "test.wav":
ogg123 -d wav -f test.wav test.ogg
Listen to a file while you write it to a WAV file:
ogg123 -d oss -d wav -f test.wav test.ogg
Note that options apply to the device declared to the left:
ogg123 -d oss -o dsp:/dev/mydsp -d raw -f test2.raw -o
byteorder:big test.ogg
Stress test your hard drive:
ogg123 -d oss -d wav -f 1.wav -d wav -f 2.wav -d wav -f 3.wav -d
wav -f 4.wav -d wav -f 5.wav test.ogg
Create an echo effect with esd and a slow computer:
ogg123 -d esd -d esd test.ogg
INTERRUPT
You can abort ogg123 at any time by pressing Ctrl-C. If you are
playing multiple files, this will stop the current file and begin
playing the next one. If you want to abort playing immediately instead
of skipping to the next file, press Ctrl-C within the first second of
the playback of a new file.
Note that the result of pressing Ctrl-C might not be audible
immediately, due to audio data buffering in the audio device. This
delay is system dependent, but it is usually not more than one or two
seconds.
FILES
/etc/libao.conf
Can be used to set the default output device for all libao
programs.
~/.libao
Per-user config file to override the system wide output device
settings.
BUGS
Piped WAV files may cause strange behavior in other programs. This is
because WAV files store the data length in the header. However, the
output driver does not know the length when it writes the header, and
there is no value that means "length unknown". Use the raw or au
output driver if you need to use ogg123 in a pipe.
AUTHORS
Program Authors:
Kenneth Arnold <kcarnold-xiph@arnoldnet.net>
Stan Seibert <volsung@xiph.org>
Manpage Author:
Stan Seibert <volsung@xiph.org>
SEE ALSO
libao.conf(5), oggenc(1), vorbiscomment(1), ogginfo(1)