SYNOPSIS

       madplay [options] file ...
       madplay [options] -o [type:]path file ...


DESCRIPTION

       madplay  is  a  command-line MPEG audio decoder and player
       based on the MAD library (libmad).

       MAD is a high-quality MPEG  audio  decoder.  It  currently
       supports MPEG-1 and the MPEG-2 extension to Lower Sampling
       Frequencies, as well as the so-called MPEG 2.5 format. All
       three  audio  layers  (Layer I,  Layer II,  and  Layer III
       a.k.a. MP3) are fully implemented.

       Among the special features of MAD are 24-bit  PCM  resolu­
       tion and 100% fixed-point (integer) computation. Since MAD
       is implemented entirely without the use of floating  point
       arithmetic,  it  performs especially well on architectures
       without an FPU.

       MAD  does  not  yet  support  MPEG-2  multichannel   audio
       (although  it  should  be  backward  compatible  with such
       streams) nor does it currently support AAC.

       By default madplay reads and decodes  one  or  more  input
       files  containing  MPEG  audio  data and plays them on the
       native audio device. If the input file is  a  single  dash
       (-), data is read from standard input.

       Decoded  output  may  optionally  be  redirected to a file
       instead of being played on the audio device by  using  the
       -o (--output) option.

       For  each file, madplay will also attempt to read and dis­
       play ID3 tag information. If data is being read from stan­
       dard input, ID3 tags will be displayed as they are encoun­
       tered.  The supported tag  versions  are  ID3v1,  ID3v1.1,
       ID3v2.2, ID3v2.3, and ID3v2.4.


OPTIONS

   Verbosity
       -v or --verbose
              Show  information about the stream during decoding,
              including playing time, audio layer, bit rate, sam­
              pling frequency, and stereo mode.

       -q or --quiet
              Do not show any information during decoding, except
              warnings.

       -Q or --very-quiet
              Do  not  show  any  information  during   decoding,

   Audio Output
       -o or --output=[type:]path
              Direct output to path, rather than playing audio on
              the  native  audio device. The format of the output
              is specified by type which can be any of  the  sup­
              ported  output  formats (see Output Formats below.)
              If a format is not specified, one will be  inferred
              from  path.  If path is a single dash (-), the out­
              put will be written to standard output.

       -b or --bit-depth=depth
              Request an output precision of depth bits per  sam­
              ple.  Higher bit depths yield higher quality sound.
              Typical bit depths are 8, 16, 24, and  32,  however
              other  depths  may  also be possible. See the NOTES
              section  below  for  further  details  about   this
              option.

       -d or --no-dither
              Do  not  dither output PCM samples. This may result
              in lower sound quality but is useful for  analyzing
              output from the decoder.

       --fade-in[=duration]
              Gradually  fade-in  the  audio  from each file over
              duration.  If not specified, the  default  duration
              is 0:05 (five seconds.)

       -a or --attenuate=decibels or --amplify=decibels
              Attenuate  or  amplify the signal by decibels (dB).
              The signal is attenuated if the  decibel  value  is
              negative; it is amplified if the value is positive.
              The decibel value must be in the range -175 to +18.
              The value may be fractional, e.g. -1.5.  A value of
              0 will leave the signal unchanged.   Each  step  of
              6 dB  will  approximately  halve  (in  the negative
              direction) or double (in  the  positive  direction)
              the strength of the signal.

   Channel Selection
       For  dual  channel  streams,  an  output channel should be
       selected. If one is not selected, the first (left) channel
       will be used.

       For  stereo streams, making a channel selection other than
       stereo will cause the output to become monaural.

       -1 or --left
              Output the first (left) channel only.

       -2 or --right

       -t or --time=duration
              Stop  playback after the playing time of the output
              audio equals duration.

       -z or --shuffle
              Randomize the list of files given  on  the  command
              line for playback.

       -r or --repeat[=max]
              Play  the  input  files max times, or indefinitely.
              Playback can be stopped  prematurely  by  giving  a
              time  limit  with  the  -t  (--time)  option. If -z
              (--shuffle) is also used, the files will be contin­
              uously shuffled and repeated in such a way that the
              same file is not played again until at  least  half
              of the other files have played in the interim.

       --tty-control
              Enable  keyboard  controls during playback. This is
              the default unless standard input is not a terminal
              or  output  is  redirected with -o (--output).  The
              keyboard controls are:

              P  Pause; press any key to resume.

              S  Stop; press any key to replay the  current  file
                 from the beginning.

              F  Forward; advance to the next file.

              B  Back;  replay  the  current  file, unless it has
                 been playing for less than 4 seconds,  in  which
                 case replay the previous file.

              T  Time display; change the time display mode. This
                 only works with  -v  (--verbose).   The  display
                 mode alternates among overall playing time, cur­
                 rent time remaining, and current playing time.

              Q  Quit; stop decoding and exit.

       --no-tty-control
              Disable keyboard controls during playback. This  is
              the  default  when standard input is not a terminal
              or output is redirected with -o (--output).

   Miscellaneous
       -V or --version
              Display the effective version and build options for
              madplay and exit.

       wave   Microsoft RIFF/WAVE, [16-bit] PCM (*.wav)

       snd    Sun/NeXT audio, 8-bit ISDN µ-law (*.au, *.snd)

       raw    binary  [16-bit]  host-endian  linear  PCM,  stereo
              interleaved

       hex    ASCII  hexadecimal  [24-bit]  linear  PCM,   stereo
              interleaved,  one  sample  per  output  line (debug
              builds only)

       esd    Enlightened Sound Daemon  (EsounD)  [16-bit]  (give
              speaker host as path)

       null   no  output  (usually  for  testing  or  timing  the
              decoder)

       Default bit depths shown in square brackets can be changed
       with the -b (--bit-depth) option.

       Note that EsounD support requires the libesd library.


Time Specifications

       For  options which accept a time or duration argument, the
       following time specifications are recognized:

       hh:mm:ss.ddd
              Hours, minutes, seconds, and decimal fractions of a
              second.  This  specification is flexible; hh:mm:ss,
              mmm:ss,  :ss,  sss.ddd,  .ddd,  and  ssss  are  all
              acceptable.  The  component  values  are  not  con­
              strained to any particular range or number of  dig­
              its.

       frac/unit
              A length of time specified as a rational number, in
              seconds. This can be used  for  sample-granularity,
              for  example  32/44100  for  32 samples, assuming a
              44100 Hz sample frequency.

       time1+time2
              A composite time made by  adding  two  time  values
              together.  This permits mixing the above specifica­
              tion forms.

       The resolution of any time value cannot exceed 1/352800000
       seconds.


DIAGNOSTICS

       error: frame #: lost synchronization
              If  encountered  at  the  beginning of a file, this
              means the file contains  something  other  than  an
              help  restore the bit reservoir for the next frame.

       Most other messages indicate a  deficiency  in  the  input
       stream.

       When  a  frame  cannot  be properly decoded, a concealment
       strategy is used as follows:

       · If the  previous  frame  was  properly  decoded,  it  is
         repeated in place of the current frame.

       · If the previous frame was not properly decoded, the cur­
         rent frame is muted.


CONFORMING TO

       MAD conforms  to  Part 3  of  the  ISO/IEC 11172  (MPEG-1)
       international  standard  for decoding MPEG audio. In addi­
       tion, MAD supports the extension to  Lower  Sampling  Fre­
       quencies  (LSF)  as  defined  in  Part 3  of ISO/IEC 13818
       (MPEG-2).

       The output from MAD has been tested and found  to  satisfy
       the  ISO/IEC 11172-4  computational  accuracy requirements
       for compliance. In most  configurations,  MAD  is  a  Full
       Layer III  ISO/IEC 11172-3 audio decoder as defined by the
       standard.

       The ID3 tag parsing library used by  madplay  conforms  to
       the ID3v2.4.0 informal standard.


NOTES

       Because MAD produces samples with a precision greater than
       24 bits, by default madplay will dither the samples to the
       precision of the output format. This produces high quality
       audio that generally sounds superior to the  output  of  a
       simple rounding algorithm. However, dithering may unfavor­
       ably affect an analytic examination  of  the  output,  and
       therefore it may be disabled by using the -d (--no-dither)
       option.

       The actual precision of output samples  can  be  requested
       with the -b (--bit-depth) option. Whether this request can
       be honored depends on the  output  format.  If  output  is
       directed  to an audio device, success depends on the capa­
       bilities of the device. If this option is not specified, a
       typical  default  depth  will be used (often 16) or in the
       case of output to an audio device, the highest  bit  depth
       determined  to work reliably with the device will be used.

       Note that bit depths greater than 24 are  effectively  the
       same  as  24-bit precision samples padded to the requested
       depth.

Man(1) output converted with man2html