ogg123
plays Ogg Vorbis files
see also :
oggenc - vorbiscomment - ogginfo
Synopsis
ogg123 [
-vqrzZVh ] [ -k seconds ] [ -x
nth ] [ -y ntimes ] [ -b
buffer_size ] [ -d driver [ -o
option:value ] [ -f filename ] ]
file ... | directory ... |
URL ...
add an example, a script, a trick and tips
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 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
source
function ding()
{
(ogg123 -q "/usr/share/sounds/freedesktop/stereo/complete.oga"
&) > /dev/null
}
source
for x in $(seq
${n}); do
ogg123 -q -y2 $(dirname
$0)/$(basename $0 .zsh).ogg
done
source
ogg123 -q $song
elif [[
$song == *mp3
]]
then
mpg123 -q $song
fi
done
source
if [ "`ps aux |grep ' ogg123 '|grep -vc grep`"
!= 0 ];then
kill -9 `ps aux
|grep ' ogg123 '|grep -v
grep|awk {'print
$2'}`
source
if endswith "$1"
"\.ogg" &&
which ogg123 >/dev/null 2>&1
then ogg123 "$@" ; exit
# # else mpg123 -b 10000 "$@" > /dev/null
2>&1
# else unj mplayer "$@" > /dev/null
2>&1
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]
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.
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.
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 seperated 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:
dev:value
Set AIX output device to value
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, incompatable
interface). Options:
buffer_time:value
Set the hardware buffer size to the equivalent of value
milliseconds.
nas
Network Audio Server live output driver. Options:
buf_size:value
Set size of audio buffer on server in bytes.
host:value
Set location of NAS server; See nas(1) for format.
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).
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.
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.
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.
see also
libao.conf,
oggenc , vorbiscomment ,
ogginfo
authors
Program
Authors:
Kenneth Arnold
<kcarnold-xiph[:at:]arnoldnet[:dot:]net>
Stan Seibert <volsung[:at:]xiph[:dot:]org>
Manpage Author:
Stan Seibert
<volsung[:at:]xiph[:dot:]org>