1out123(1)                   General Commands Manual                  out123(1)
2
3
4

NAME

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

SYNOPSIS

9       cat audio.raw | out123 [ - ] [ options  ]
10
11       out123 [ options ] filename [ filename ... ]
12
13       out123 --wave-freq freq1[,freq2,...] [ options ]
14
15       out123 --source geiger [ options ]
16
17

DESCRIPTION

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

OPTIONS

24       out123  options may be either the traditional POSIX one letter options,
25       or the GNU style long options.  POSIX style options start with a single
26       '-',  while  GNU  long  options  start with '--'.  Option arguments (if
27       needed) follow separated by whitespace (not '=').  Note that  some  op‐
28       tions  can  be absent from your installation when disabled in the build
29       process.
30
31       --name name
32              Set the name of this instance, possibly used in various  places.
33              This sets the client name for JACK output.
34
35       -o module, --output module
36              Select  audio  output  module. You can provide a comma-separated
37              list to use the first one that works.  Also see -a.
38
39       --list-modules
40              List the available modules.
41
42       --list-devices
43              List the available output devices for given  output  module.  If
44              there  is no functionality to list devices in the chosen module,
45              an error will be printed and out123 will exit  with  a  non-zero
46              code.
47
48       -a dev, --audiodevice dev
49              Specify  the  audio  device  to use.  The default as well as the
50              possible values depend on the active output. For the  JACK  out‐
51              put,  a  comma-separated  list  of ports to connect to (for each
52              channel) can be specified.
53
54       -s, --stdout
55              The audio samples are written to  standard  output,  instead  of
56              playing them through the audio device.  The output format is the
57              same as the input ... so in this mode, out123 acts  similar  the
58              standard  tool   cat,  possibly  with some conversions involved.
59              This shortcut is equivalent to '-o raw -a -'.
60
61       -S, --STDOUT
62              This variant additionally writes the data to stdout, while still
63              playing it on the output device. So it is more like some flavour
64              of tee than a cat.
65
66       -O file, --outfile
67              Write raw output into a  file  (instead  of  simply  redirecting
68              standard  output  to  a  file with the shell).  This shortcut is
69              equivalent to '-o raw -a file'.
70
71       -w file, --wav
72              Write output as WAV file file , or standard output if  -  is  or
73              the  empty  string  used as file name. You can also use --au and
74              --cdr for AU and CDR  format,  respectively.  Note  that  WAV/AU
75              writing  to  non-seekable  files or redirected stdout needs some
76              thought. The header is written with the first actual  data.  The
77              result  of  decoding nothing to WAV/AU is a file consisting just
78              of the header when it is seekable and really  nothing  when  not
79              (not even a header). Correctly writing data with prophetic head‐
80              ers to stdout is no easy business.  This shortcut is  equivalent
81              to '-o wav -a file'.
82
83       --au file
84              Write  to file in SUN audio format.  If - or the empty string is
85              used as the filename, the AU file  is  written  to  stdout.  See
86              paragraph  about  WAV  writing  for header fun with non-seekable
87              streams.  This shortcut is equivalent to '-o au -a file'.
88
89       --cdr file
90              Write to file as a CDR (CD-ROM audio, more  correctly  CDDA  for
91              Compact  Disc  Digital Audio).  If - is or the empty string used
92              as the filename, the CDR file is written to stdout.  This short‐
93              cut is equivalent to '-o cdr -a file'.
94
95       -r rate, --rate rate
96              Set  sample  rate in Hz (default: 44100). If this does not match
97              the actual input sampling rate, you get changed pitch. Might  be
98              intentional;-)
99
100       -R rate, --inputrate rate
101              Set input sample rate to a different value. This triggers resam‐
102              pling if the output rate is indeed different. See --resample.
103
104       --speed factor
105              Speed up/down playback by  that  factor  using  resampling.  See
106              --resample.
107
108       --resample method
109              This  chooses  the  method for resampling between differing sam‐
110              pling rates or to apply a change in tempo. You  can  choose  be‐
111              tween  two  variants of the syn123 resampler: fine (the default)
112              and dirty. The fine one features 108 dB  dynamic  range  and  at
113              worst-case 84% bandwidth. The dirty one uses a bit less CPU time
114              (not that much, though) by reducing the dynamic range to  72  dB
115              with worst-case bandwidth of 85%. The exact properties vary with
116              the sampling rate ratio, as there is interpolation of filter co‐
117              efficients involved.
118
119       -c count, --channels count
120              Set channel count to given value.
121
122       -C count, --inputch count
123              Set  input  channel  count  to a differnt value than for output.
124              This probably means you want some remixing. Also see --mix.
125
126       -e enc, --encoding enc
127              Choose output sample encoding. Possible  values  look  like  f32
128              (32-bit  floating  point),  s32  (32-bit  signed  integer),  u32
129              (32-bit unsigned integer) and the variants with  different  num‐
130              bers of bits (s24, u24, s16, u16, s8, u8) and also special vari‐
131              ants like ulaw and alaw  8-bit.   See  the  output  of  out123's
132              longhelp for actually available encodings.  Default is s16.
133
134       --endian choice
135              Select  output endianess (byte order). Choice is big, little, or
136              native, which is the default.  The processing can only  work  in
137              native  mode,  so you need to specify input or output byte order
138              if that does not match your machine. This also  sets  the  input
139              endianess if that is not set separately. See also --inputend and
140              --byteswap.
141
142       -E enc, --inputenc enc
143              Specify input encoding different from output encoding  for  con‐
144              version.
145
146       --inputend choice
147              Select  input  endianess (byte order). By default it is the same
148              as output byte order.  See --endian.
149
150       --byteswap
151              A switch to trigger swapping of byte order just  before  output,
152              after any other transformations.  This works on top of any endi‐
153              aness you specify with
154
155       -m, --mono
156              Set for single-channel audio (default is two channels, stereo).
157
158       --stereo
159              Select stereo output (2 channels, default).
160
161       --list-encodings
162              List known encoding short and long names to standard output.
163
164       --mix matrix
165              Specify a mixing matrix between input  and  output  channels  as
166              linear  factors, comma separated list for the input channel fac‐
167              tors for output channel 1, then output channel 2, and so  forth.
168              The  default  is a unit matrix if channel counts match, so for 3
169              channels the equivalent of both channels with halved  amplitude,
170              so  '--mix  0.5,0.5'. For splitting mono to stereo, it is '--mix
171              1,1' top keep the symmetry.
172
173       --filter coeff
174              Apply digital filter(s) before pre-amplification (see  --preamp)
175              with the coefficient list coeff as
176                                  b_0,...,b_N,a_0,...,a_N
177              where  a_0=1  is  mandatory and perhaps helps orientation a bit.
178              Multiple filters are separated by ':'.
179
180       -P dbvalue --preamp dbvalue
181              Enable a pre-amplification stage that amplifies the signal  with
182              the given value in dB before output.
183
184       --offset value
185              Apply a PCM offset (floating point value scaled in [-1:1] in the
186              pre-amplification stage.  Normally, you would do that to correct
187              a known DC offset in a recording.
188
189       --clip mode
190              Select  clipping mode: 'soft' or 'hard' for forced clipping also
191              for floating point output, 'implicit' (default) for implied hard
192              clipping during conversion where necessary.
193
194       --dither
195              Enable  dithering  for  conversions  to  integer. If you insist.
196              This is just some un-spectacular TPDF dither. For  some  people,
197              that  is  not fancy enough.  Most people cannot be bothered that
198              way or the other.
199
200       --test-format
201              Check if given format is supported by given  driver  and  device
202              (in command line before encountering this), silently returning 0
203              as exit value if it is the case.
204
205       --test-encodings
206              Print out the short names of encodings supported with  the  cur‐
207              rent setup.
208
209       --query-format
210              If  the  selected driver and device communicate some default ac‐
211              cepted format, print out a command line fragment for out123 set‐
212              ting  that  format,  always in that order: --rate <r> --channels
213              <c> --encoding <e>
214
215       -o h, --headphones
216              Direct audio output to the headphone  connector  (some  hardware
217              only; AIX, HP, SUN).
218
219       -o s, --speaker
220              Direct  audio  output  to the speaker  (some hardware only; AIX,
221              HP, SUN).
222
223       -o l, --lineout
224              Direct audio output to the  line-out  connector  (some  hardware
225              only; AIX, HP, SUN).
226
227       -b size, --buffer size
228              Use  an  audio  output buffer of size Kbytes.  This is useful to
229              bypass short periods of heavy system activity, which would  nor‐
230              mally  cause  the  audio  output  to be interrupted.  You should
231              specify a buffer size of at least 1024 (i.e. 1 Mb, which  equals
232              about  6  seconds  of usual audio data) or more; less than about
233              300 does not make much sense.  The default  is  0,  which  turns
234              buffering off.
235
236       --preload fraction
237              Wait  for  the  buffer  to be filled to fraction before starting
238              playback (fraction between 0 and 1).  You  can  tune  this  pre‐
239              buffering to either get sound faster to your ears or safer unin‐
240              terrupted web radio.  Default is 0.2 (changed from 1 since  ver‐
241              sion 1.23).
242
243       --devbuffer seconds
244              Set  device buffer in seconds; <= 0 means default value. This is
245              the small buffer between the application and the audio  backend,
246              possibly directly related to hardware buffers.
247
248       --timelimit samples
249              Set playback time limit in PCM samples if set to a value greater
250              than zero.  out123 will stop reading from stdin or playing  from
251              the generated wave table after reaching that number of samples.
252
253       --seconds seconds
254              Set time limit in seconds instead.
255
256       --source name
257              Choose  the  signal source: 'file' (default) for playback of the
258              given file(s) on the command line or standard input if there are
259              none,  or one of the generators 'wave' (see --wave-freq), geiger
260              (see --geiger-activity), or just 'white' for some white noise.
261
262       --wave-freq frequencies
263              Set wave generator frequency or list of those with comma separa‐
264              tion  for  enabling  a generated test signal instead of standard
265              input. Empty values repeat the previous one.
266
267       --wave-pat patterns
268              Set the waveform patterns of the generated waves as  comma-sepa‐
269              rated  list.   Choices include sine, square, triangle, sawtooth,
270              gauss, pulse, and shot.  Empty values repeat the previous one.
271
272       --wave-phase phases
273              Set waveform phase shift(s) as  comma-separated  list,  negative
274              values  inverting  the pattern in time and empty value repeating
275              the previous. There is also --wave-direction overriding the neg‐
276              ative bit.
277
278       --wave-direction
279              Set wave direction explicitly (the sign counts).
280
281       --wave-sweep frequency
282              Sweep  a  generated  wave to the given frequency, from first one
283              specified for --wave-freq, using the first wave pattern and  di‐
284              rection, too.
285
286       --sweep-time seconds
287              Set frequency sweep duration in seconds if > 0. This defaults to
288              the configured time limit if set, otherwise one second, as  end‐
289              less sweeps are not sensible.
290
291       --sweep-count count
292              Set timelimit to exactly produce that many (smooth) sweeps
293
294       --sweep-type type
295              Set  sweep  type: lin(ear) for linear, qua(d) (default) for qua‐
296              dratic, or exp(onential) for an exponential change of  frequency
297              with time.
298
299       --sweep-hard
300              Disable post-sweep smoothing for periodicity.
301
302       --genbuffer bytes
303              Set  the  buffer size (limit) for signal generators, if > 0 (de‐
304              fault), this enforces a periodic buffer  also  for  non-periodic
305              signals,  benefit:  less  runtime CPU overhead, as everything is
306              precomputed as enforced periodic signal.
307
308       --wave-limit samples
309              This is an alias for --genbuffer.
310
311       --pink-rows number
312              Activate pink noise source and choose rows for the algorithm (<1
313              chooses  default).   The generator follows code provided by Phil
314              Burk (http://softsynth.com) and uses the Gardner method.
315
316       --geiger-activity number
317              This configures the simulation of a  Geiger-Mueller  counter  as
318              source,  with the given numer as average events per second. Play
319              with it. It's fun!
320
321       -t, --test
322              Test mode.  The audio stream is read, but no output occurs.
323
324       -v, --verbose
325              Increase the verbosity level.
326
327       -q, --quiet
328              Quiet.  Suppress diagnostic messages.
329
330       --aggressive
331              Tries to get higher priority
332
333       -T, --realtime
334              Tries to gain realtime priority.  This option  usually  requires
335              root privileges to have any effect.
336
337       -?, --help
338              Shows short usage instructions.
339
340       --longhelp
341              Shows long usage instructions.
342
343       --version
344              Print the version string.
345

AUTHORS

347       Maintainer:
348              Thomas Orgis <maintainer@mpg123.org>, <thomas@orgis.org>
349
350       Creator (ancestry of code inside mpg123):
351              Michael Hipp
352
353       Uses code or ideas from various people, see the AUTHORS file accompany‐
354       ing the source code.
355

LICENSE

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

WEBSITE

361       http://www.mpg123.org
362       http://sourceforge.net/projects/mpg123
363
364
365
366                                  26 Apr 2020                        out123(1)
Impressum