home *** CD-ROM | disk | FTP | other *** search
/ Complete Linux / Complete Linux.iso / docs / apps / sound / players / maplay_t.z / maplay_t / README < prev    next >
Encoding:
Text File  |  1994-02-21  |  7.0 KB  |  159 lines

  1. /*
  2.  *  @(#) MPEG Audio Player maplay 1.1, last edit of this file: 2/21/94 18:10:22
  3.  *  @(#) Copyright (C) 1993, 1994 Tobias Bading (bading@cs.tu-berlin.de)
  4.  *  @(#) Berlin University of Technology
  5.  *
  6.  *  This program is free software; you can redistribute it and/or modify
  7.  *  it under the terms of the GNU General Public License as published by
  8.  *  the Free Software Foundation; either version 2 of the License, or
  9.  *  (at your option) any later version.
  10.  *
  11.  *  This program is distributed in the hope that it will be useful,
  12.  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14.  *  GNU General Public License for more details.
  15.  *
  16.  *  You should have received a copy of the GNU General Public License
  17.  *  along with this program; if not, write to the Free Software
  18.  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  19.  */
  20.  
  21.  
  22. This is the README file of the MPEG Audio Player "maplay", Version 1.1.
  23. Besides this file, you should now own a copy of the following files:
  24.  
  25.   ANNOUNCEMENT        an announcement for this program
  26.   INSTALL        infos about compiling and installing the program
  27.   COPYING        the GNU General Public License
  28.   Makefile        a makefile
  29.   configuration.sh    a shell script used from the makefile
  30.  
  31. and the source files
  32.  
  33.   all.h            maplay.c        subband_layer_1.h
  34.   crc.c            obuffer.c        subband_layer_2.c
  35.   crc.h            obuffer.h        subband_layer_2.h
  36.   header.c        scalefactors.c        synthesis_filter.c
  37.   header.h        scalefactors.h        synthesis_filter.h
  38.   ibitstream.c        subband.h
  39.   ibitstream.h        subband_layer_1.c
  40.  
  41.  
  42. 0) Introduction
  43.  
  44. MPEG is a standard created by the ISO (International Organization for
  45. Standardization) and the IEC (International Electrotechnical Commission).
  46. The full name of this standard is "ISO/IEC DIS 11172: Information
  47. Technology - Coding of moving pictures and associated audio for digital
  48. storage media ut to about 1.5 Mbit/s". As the name already states,
  49. it deals with digital video and audio. The video part of this standard has
  50. inspired many people to write decoders and a few encoders for it.
  51. Best known should be the Berkeley player. Players for the audio part on
  52. the other hand are very rare. The ones I know are the XING player for W*nd*ws
  53. and a sample implementation of the ISO, which also includes an encoder.
  54.  
  55. The audio part of the MPEG standard specifies three layers, whereat each
  56. layer specifies its own audio file format. All three layers are using similar
  57. audio coding techniques, but they vary in efficiency and complexity.
  58. Layer I needs the fewest calculation time for en-/decoding a stream, layer III
  59. the most. But a layer I MPEG audio stream is bigger than a layer III stream
  60. at the same quality. This program is able to decode and play only layer I
  61. and II streams, layer III is not supported (yet?!?).
  62.  
  63. Like the MPEG video standard, the audio part also uses a lossy compression
  64. algorithm, which means that you can't get back 100% the original from a
  65. MPEG audio stream. Layer II MPEG audio streams are compressed by ratios
  66. from 1:3 up to 1:24 compared to raw PCM data, like on an audio CD.
  67. But the quality is still very (very) near to the original at ratios between
  68. 1:5 and 1:12. You will love it... :-)
  69.  
  70.  
  71. 1) What does the program maplay?
  72.  
  73. maplay version 1.1 is the first release of my MPEG audio player/decoder.
  74. It decodes layer I and layer II MPEG audio streams and plays them
  75. using a CD-quality audio device. Currently supported devices are the
  76. dbri device of SPARC 10 computers and the audio device of Silicon
  77. Graphics Indigo machines. But it should not be a problem to adapt
  78. the program to other audio devices. Audio device without CD-quality
  79. - which means no 16 Bit resolution and 32, 44.1, 48 kHz sample frequencies -
  80. are not supported directly, but can be used with the "decode to stdout" option
  81. and an audio format converter.
  82.  
  83. The player supports all modes, which are single channel, stereo,
  84. joint stereo and dual channel, and all bitrates except the free mode.
  85. The missing free mode support should not be a problem for now, because
  86. I haven't seen such a stream by now.
  87.  
  88. Currently the program needs approximately 50% of the cpu time on SPARC 10
  89. machines and Indigos for realtime playing of a single channel stream.
  90. To play a strereo stream in realtime, the programm needs the whole cpu time.
  91. I hope that I can reduce these requirements for cpu power in the next release.
  92.  
  93. Besides realtime playing of audio streams, the program can decode streams
  94. to stdout for further conversions. The output consists of signed short PCM
  95. values. For stereo streams, the values are interleaved, which means that
  96. a value for the left channel is followed by a value for the right channel
  97. and so on.
  98.  
  99.  
  100. 2) How to create the executable "maplay"?
  101.  
  102. Please read the file INSTALL for this topic.
  103.  
  104.  
  105. 3) How to start the program?
  106.  
  107. For a quick test on a SPARC 10 or Indigo, enter "./maplay -v filename", where
  108. filename is the name of an audio stream, like "jennifer.mp2". This stream
  109. has been posted along with the sources and is the beginning of Jennifer Rush's
  110. wonderful song "The Power of Love". It is coded in Joint Stereo Mode with
  111. 128 kbit/s, which is a compression ratio of 1:11.
  112.  
  113. If you don't use a SPARC 10 or Indigo, you can't play the stream directly.
  114. But if you execute "maplay -v -s filename | your_converter", you can convert
  115. the stream into all formats that your converter supports. Unfortunately, I
  116. can't be of much help for you to find such a program. The only good converter
  117. I know is the "soundfiler" on Indigos. But if you have an Indigo, you don't
  118. need an converter...
  119.  
  120.  
  121. 4) Command line options
  122.  
  123. maplay [-v] [-s] [-l] [-r] [-us] [-uh] [-ul] [-c] [-f ushort] filename
  124.  
  125. with:
  126.  
  127.   filename    filename of a MPEG audio stream or - for stdin
  128.   -h        short help
  129.   -v        verbose mode
  130.         You will get information about the stream, like mode, bitrate,
  131.         copyright etc., if you use this option.
  132.   -s        stdout mode
  133.         This option tells the program to decode the stream to stdout.
  134.         The created output contains 16 Bit PCM samples. If the stream
  135.         is in stereo mode, the samples of both channels are
  136.         interleaved, the sample for the left channel first.
  137.   -l        maplay decodes (and playes) the left channel of stereo streams
  138.         only. This option halves the computation effort.
  139.   -r        Same as above, but decodes the right channel only
  140.   -us, -uh, -ul    These options are for SPARC 10 machines only currently.
  141.         They specify where the audio signal should be send.
  142.         "-us" means speaker, "-uh" headphone and "-ul" line out.
  143.   -c        This option instructs the program to report filter range
  144.         violations to stderr. Sometimes PCM values calculated by
  145.         the synthesis filter exceede the 16 Bit boundary and must
  146.         be mapped to these boundaries. If you can hear this, you
  147.         may use the next option.
  148.   -f ushort    maplay uses this scalefactor instead of the default value 32768
  149.         for the synthesis filter. You can reduce or eliminate range
  150.         violations with this option, but lower scalefactor values
  151.         reduce the signal noise ratio, too. You should need thise
  152.         option very seldom.
  153.  
  154.  
  155.  
  156. Enjoy MPEG audio,
  157. bye,
  158.      Tobias Bading  (email: bading@cs.tu-berlin.de)
  159.