out123(1) User Commands out123(1)

NAME


out123 - send raw PCM audio or a waveform pattern to an output device

SYNOPSIS


cat audio.raw | out123 [ - ] [ options ]

out123 [ options ] filename [ filename ... ]

out123 --wave-freq freq1[,freq2,...] [ options ]

out123 --source geiger [ options ]


DESCRIPTION


out123 reads raw PCM data (in host byte order) from standard input
and plays it on the audio device specified by given options.
Alternatively, it can generate periodic or random signals for
playback itself.

OPTIONS


out123 options may be either the traditional POSIX one letter
options, or the GNU style long options. POSIX style options start
with a single '-', while GNU long options start with '--'. Option
arguments (if needed) follow separated by whitespace (not '='). Note
that some options can be absent from your installation when disabled
in the build process.

--name name
Set the name of this instance, possibly used in various
places. This sets the client name for JACK output.

-o module, --output module
Select audio output module. You can provide a comma-separated
list to use the first one that works. Also see -a.

--list-modules
List the available modules.

--list-devices
List the available output devices for given output module. If
there is no functionality to list devices in the chosen
module, an error will be printed and out123 will exit with a
non-zero code.

-a dev, --audiodevice dev
Specify the audio device to use. The default as well as the
possible values depend on the active output. For the JACK
output, a comma-separated list of ports to connect to (for
each channel) can be specified.

-s, --stdout
The audio samples are written to standard output, instead of
playing them through the audio device. The output format is
the same as the input ... so in this mode, out123 acts similar
the standard tool cat, possibly with some conversions
involved. This shortcut is equivalent to '-o raw -a -'.

-S, --STDOUT
This variant additionally writes the data to stdout, while
still playing it on the output device. So it is more like some
flavour of tee than a cat.

-O file, --outfile
Write raw output into a file (instead of simply redirecting
standard output to a file with the shell). This shortcut is
equivalent to '-o raw -a file'.

-w file, --wav
Write output as WAV file file , or standard output if - is or
the empty string used as file name. You can also use --au and
--cdr for AU and CDR format, respectively. Note that WAV/AU
writing to non-seekable files or redirected stdout needs some
thought. The header is written with the first actual data. The
result of decoding nothing to WAV/AU is a file consisting just
of the header when it is seekable and really nothing when not
(not even a header). Correctly writing data with prophetic
headers to stdout is no easy business. This shortcut is
equivalent to '-o wav -a file'.

--au file
Write to file in SUN audio format. If - or the empty string
is used as the filename, the AU file is written to stdout. See
paragraph about WAV writing for header fun with non-seekable
streams. This shortcut is equivalent to '-o au -a file'.

--cdr file
Write to file as a CDR (CD-ROM audio, more correctly CDDA for
Compact Disc Digital Audio). If - is or the empty string used
as the filename, the CDR file is written to stdout. This
shortcut is equivalent to '-o cdr -a file'.

-r rate, --rate rate
Set sample rate in Hz (default: 44100). If this does not match
the actual input sampling rate, you get changed pitch. Might
be intentional;-)

-R rate, --inputrate rate
Set input sample rate to a different value. This triggers
resampling if the output rate is indeed different. See
--resample.

--speed factor
Speed up/down playback by that factor using resampling. See
--resample.

--resample method
This chooses the method for resampling between differing
sampling rates or to apply a change in tempo. You can choose
between two variants of the syn123 resampler: fine (the
default) and dirty. The fine one features 108 dB dynamic range
and at worst-case 84% bandwidth. The dirty one uses a bit less
CPU time (not that much, though) by reducing the dynamic range
to 72 dB with worst-case bandwidth of 85%. The exact
properties vary with the sampling rate ratio, as there is
interpolation of filter coefficients involved.

-c count, --channels count
Set channel count to given value.

-C count, --inputch count
Set input channel count to a differnt value than for output.
This probably means you want some remixing. Also see --mix.

-e enc, --encoding enc
Choose output sample encoding. Possible values look like f32
(32-bit floating point), s32 (32-bit signed integer), u32
(32-bit unsigned integer) and the variants with different
numbers of bits (s24, u24, s16, u16, s8, u8) and also special
variants like ulaw and alaw 8-bit. See the output of out123's
longhelp for actually available encodings. Default is s16.

--endian choice
Select output endianess (byte order). Choice is big, little,
or native, which is the default. The processing can only work
in native mode, so you need to specify input or output byte
order if that does not match your machine. This also sets the
input endianess if that is not set separately. See also
--inputend and --byteswap.

-E enc, --inputenc enc
Specify input encoding different from output encoding for
conversion.

--inputend choice
Select input endianess (byte order). By default it is the same
as output byte order. See --endian.

--byteswap
A switch to trigger swapping of byte order just before output,
after any other transformations. This works on top of any
endianess you specify with

-m, --mono
Set for single-channel audio (default is two channels,
stereo).

--stereo
Select stereo output (2 channels, default).

--list-encodings
List known encoding short and long names to standard output.

--mix matrix
Specify a mixing matrix between input and output channels as
linear factors, comma separated list for the input channel
factors for output channel 1, then output channel 2, and so
forth. The default is a unit matrix if channel counts match,
so for 3 channels the equivalent of both channels with halved
amplitude, so '--mix 0.5,0.5'. For splitting mono to stereo,
it is '--mix 1,1' top keep the symmetry.

--filter coeff
Apply digital filter(s) before pre-amplification (see
--preamp) with the coefficient list coeff as
b_0,...,b_N,a_0,...,a_N
where a_0=1 is mandatory and perhaps helps orientation a bit.
Multiple filters are separated by ':'.

-P dbvalue --preamp dbvalue
Enable a pre-amplification stage that amplifies the signal
with the given value in dB before output.

--offset value
Apply a PCM offset (floating point value scaled in [-1:1] in
the pre-amplification stage. Normally, you would do that to
correct a known DC offset in a recording.

--clip mode
Select clipping mode: 'soft' or 'hard' for forced clipping
also for floating point output, 'implicit' (default) for
implied hard clipping during conversion where necessary.

--dither
Enable dithering for conversions to integer. If you insist.
This is just some un-spectacular TPDF dither. For some people,
that is not fancy enough. Most people cannot be bothered that
way or the other.

--test-format
Check if given format is supported by given driver and device
(in command line before encountering this), silently returning
0 as exit value if it is the case.

--test-encodings
Print out the short names of encodings supported with the
current setup.

--query-format
If the selected driver and device communicate some default
accepted format, print out a command line fragment for out123
setting that format, always in that order: --rate <r>
--channels <c> --encoding <e>

-o h, --headphones
Direct audio output to the headphone connector (some hardware
only; AIX, HP, SUN).

-o s, --speaker
Direct audio output to the speaker (some hardware only; AIX,
HP, SUN).

-o l, --lineout
Direct audio output to the line-out connector (some hardware
only; AIX, HP, SUN).

-b size, --buffer size
Use an audio output buffer of size Kbytes. This is useful to
bypass short periods of heavy system activity, which would
normally cause the audio output to be interrupted. You should
specify a buffer size of at least 1024 (i.e. 1 Mb, which
equals about 6 seconds of usual audio data) or more; less than
about 300 does not make much sense. The default is 0, which
turns buffering off.

--preload fraction
Wait for the buffer to be filled to fraction before starting
playback (fraction between 0 and 1). You can tune this
prebuffering to either get sound faster to your ears or safer
uninterrupted web radio. Default is 0.2 (changed from 1 since
version 1.23).

--devbuffer seconds
Set device buffer in seconds; <= 0 means default value. This
is the small buffer between the application and the audio
backend, possibly directly related to hardware buffers.

--timelimit samples
Set playback time limit in PCM samples if set to a value
greater than zero. out123 will stop reading from stdin or
playing from the generated wave table after reaching that
number of samples.

--seconds seconds
Set time limit in seconds instead.

--source name
Choose the signal source: 'file' (default) for playback of the
given file(s) on the command line or standard input if there
are none, or one of the generators 'wave' (see --wave-freq),
geiger (see --geiger-activity), or just 'white' for some white
noise.

--wave-freq frequencies
Set wave generator frequency or list of those with comma
separation for enabling a generated test signal instead of
standard input. Empty values repeat the previous one.

--wave-pat patterns
Set the waveform patterns of the generated waves as comma-
separated list. Choices include sine, square, triangle,
sawtooth, gauss, pulse, and shot. Empty values repeat the
previous one.

--wave-phase phases
Set waveform phase shift(s) as comma-separated list, negative
values inverting the pattern in time and empty value repeating
the previous. There is also --wave-direction overriding the
negative bit.

--wave-direction
Set wave direction explicitly (the sign counts).

--wave-sweep frequency
Sweep a generated wave to the given frequency, from first one
specified for --wave-freq, using the first wave pattern and
direction, too.

--sweep-time seconds
Set frequency sweep duration in seconds if > 0. This defaults
to the configured time limit if set, otherwise one second, as
endless sweeps are not sensible.

--sweep-count count
Set timelimit to exactly produce that many (smooth) sweeps

--sweep-type type
Set sweep type: lin(ear) for linear, qua(d) (default) for
quadratic, or exp(onential) for an exponential change of
frequency with time.

--sweep-hard
Disable post-sweep smoothing for periodicity.

--genbuffer bytes
Set the buffer size (limit) for signal generators, if > 0
(default), this enforces a periodic buffer also for non-
periodic signals, benefit: less runtime CPU overhead, as
everything is precomputed as enforced periodic signal.

--wave-limit samples
This is an alias for --genbuffer.

--pink-rows number
Activate pink noise source and choose rows for the algorithm
(<1 chooses default). The generator follows code provided by
Phil Burk (http://softsynth.com) and uses the Gardner method.

--geiger-activity number
This configures the simulation of a Geiger-Mueller counter as
source, with the given numer as average events per second.
Play with it. It's fun!

-t, --test
Test mode. The audio stream is read, but no output occurs.

-v, --verbose
Increase the verbosity level.

-q, --quiet
Quiet. Suppress diagnostic messages.

--aggressive
Tries to get higher priority

-T, --realtime
Tries to gain realtime priority. This option usually requires
root privileges to have any effect.

-?, --help
Shows short usage instructions.

--longhelp
Shows long usage instructions.

--version
Print the version string.

AUTHORS


Maintainer:
Thomas Orgis <maintainer@mpg123.org>, <thomas@orgis.org>

Creator (ancestry of code inside mpg123):
Michael Hipp

Uses code or ideas from various people, see the AUTHORS file
accompanying the source code.

LICENSE


out123 is licensed under the GNU Lesser/Library General Public
License, LGPL, version 2.1 .

WEBSITE


http://www.mpg123.org
http://sourceforge.net/projects/mpg123

26 Apr 2020 out123(1)

tribblix@gmail.com :: GitHub :: Privacy