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

AUTHORS

341       Maintainer:
342              Thomas Orgis <maintainer@mpg123.org>, <thomas@orgis.org>
343
344       Creator (ancestry of code inside mpg123):
345              Michael Hipp
346
347       Uses code or ideas from various people, see the AUTHORS file accompany‐
348       ing the source code.
349

LICENSE

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

WEBSITE

355       http://www.mpg123.org
356       http://sourceforge.net/projects/mpg123
357
358
359
360                                  26 Apr 2020                        out123(1)
Impressum