ogg123 - plays Ogg Vorbis files
ogg123 [ -vqrzZVh ] [ -k seconds ] [
-x nth ] [ -y ntimes ] [ -b
buffer_size ] [ -d driver [ -o
option:value ] [ -f filename ] ] file ...
| directory ... | URL ...
ogg123 reads Ogg Vorbis and FLAC 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.
- --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 a file device previously specified with --device.
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]
- Sets 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.
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.
Options supported by all devices:
- debug
- Turn on debugging output [if any] for a chosen driver.
- matrix:value
- Force a specific output channel ordering for a given device. value
is a comma separated list of AO style channel names, eg,
L,R,C,LFE,BL,BR,SL,SR.
- verbose
- Turn on verbose output for a chosen driver. the -v option will also set
the driver verbose option.
- quiet
- Force chosen driver to be completely silent. Even errors will not produce
any output. -q will also set the driver quiet option.
- aixs
- AIX live output driver. Options:
- alsa
- Advanced Linux Sound Architecture live output driver. Options:
- buffer_time:value
- Override the default hardware buffer size (in milliseconds).
- dev:value
- ALSA device label to use. Examples include "hw:0" for the first
soundcard and "hw:1" for the second. The alsa driver normally
chooses one of "surround71", "surround51",
"surround40" or "default" automatically depending on
number of output channels. For more information, see
http://alsa.opensrc.org/ALSA+device+labels
- period_time:value
- Override the default hardware period size (in microseconds).
- period_time:value
- Override the default hardware period size (in microseconds).
- use_mmap:value
- value is set to "yes" or "no" to override the
compiled-in default to use or not use mmap device access. In the past,
some buggy alsa drivers have behaved better when not using mmap access at
the penalty of slightly higher CPU usage.
- arts
- aRts Sound Daemon live output driver. Options:
- multi:value
- value is set to "yes" or "no" to allow opening
the aRts playback device for multiply concurrent playback. Although the
driver works properly in multi mode, it is known to occasionally crash the
aRts server itself. Default behavior is "no".
- 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.
- esd
- Enlightened Sound Daemon live output. Options:
- host:value
- value specifies the hostname where esd is running. This can include
a port number after a colon, as in "whizbang.com:555". (Default
= localhost)
- irix
- IRIX live output audio driver.
- macosx
- MacOS X 'AUHAL' live output driver. This driver supports MacOS X 10.5 and
later (10.4 and earlier uses an earlier, incompatible interface).
Options:
- buffer_time:value
- Set the hardware buffer size to the equivalent of value
milliseconds.
- nas
- Network Audio Server live output driver. Options:
- 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.
- oss
- Open Sound System driver for Linux and FreeBSD, versions 2, 3 and 4.
Options:
- dsp:value
- DSP device for soundcard. Defaults to /dev/dsp.
- pulse
- Pulseaudio live audio sound driver. Options:
- server:value
- Specifies location of remote or alternate Pulseaudio server.
- sink:value
- Specifies a non-default Pulseaudio sink for audio stream.
- raw
- Raw file output. Writes raw audio samples to a file. Options:
- byteorder:value
- Chooses big endian ("big"), little endian ("little"),
or native ("native") byte order. Default is native order.
- roar
- Roar Audio Daemon live output driver. Options:
- host:value
- Specifies location of remote Roar server to use.
- sndio
- OpenBSD SNDIO live output driver. Options:
- dev:value
- Specifies audio device to use for playback.
- sun
- Sun Audio live output driver for NetBSD, OpenBSD, and Solaris.
Options:
- dev:value
- Audio device for soundcard. Defaults to /dev/audio.
- 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.
- wmm
- Windows MultiMedia live output driver for Win98 and later. Options:
- dev:value
- Selects audio device to use for playback by device name.
- id:value
- Selects audio device to use for playback by device id (card number).
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 harddrive:
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
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.
- /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.
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.