1 2 madplay - MPEG audio decoder and player 3 Copyright (C) 2000-2004 Robert Leslie 4 5 $Id: README,v 1.60 2004/01/23 09:41:31 rob Exp $ 6 7=============================================================================== 8 9INTRODUCTION 10 11 `madplay' is a command-line MPEG audio decoder and player based on the MAD 12 library (libmad). For details about MAD, see the libmad package 13 distributed separately. 14 15 After decoding, `madplay' sends the output to an audio output module. The 16 following audio output modules are provided: 17 18 - an Open Sound System interface module (for Linux, et al.) 19 - a Sun audio interface module (for Solaris, NetBSD, et al.) 20 - a Mac OS Carbon audio interface module (for Mac OS X) 21 - a Win32 audio interface module (for Windows 95/98/NT/2000, et al.) 22 - an ALSA audio interface module 23 - a QNX audio interface module 24 - an EsounD interface module 25 - a CD audio output module (*.cdr, *.cda) 26 - an Audio IFF output module (*.aif, *.aiff) 27 - a Microsoft RIFF/WAVE file output module (*.wav) 28 - a Sun/NeXT audio file output module (*.au, *.snd) 29 - a raw PCM output module 30 - a hex output module (for debugging and compliance testing) 31 - a null module (for timing the decoder) 32 33 `madplay' will also read and display ID3 tag information, and further 34 supports the relative volume adjustment information (RVA2) in such tags, 35 as written by tools like `normalize'. 36 37Audio Quality 38 39 MAD produces output samples with a precision greater than 24 bits. Because 40 most output formats use fewer bits, typically 16, `madplay' implements a 41 dithering algorithm when truncating samples for output. This produces high 42 quality audio that generally sounds superior to the output of a simple 43 rounding algorithm. However, dithering may unfavorably affect an analytic 44 examination of the output (such as compliance testing), and therefore it 45 may optionally be disabled at runtime. 46 47=============================================================================== 48 49BUILDING AND INSTALLING 50 51 Before you can build this package, you must first build and install the 52 libmad and libid3tag packages distributed separately. 53 54Windows Platforms 55 56 `madplay' can be built under Windows using either MSVC++ or Cygwin. A 57 MSVC++ project file and workspace can be found under the `msvc++' 58 subdirectory. 59 60 To build `madplay' using Cygwin, you will first need to install the Cygwin 61 tools: 62 63 http://www.cygwin.com/ 64 65 You may then proceed with the following POSIX instructions within the 66 Cygwin shell. 67 68 Note that by default Cygwin will build an executable that depends on the 69 Cygwin DLL. You can use MinGW to build an executable that does not depend 70 on the Cygwin DLL. To do so, give the option --host=mingw32 to 71 `configure'. Be certain you also link with MinGW versions of libmad, 72 libid3tag, and any further dependent libraries (such as zlib). 73 74POSIX Platforms (including Cygwin) 75 76 The code is distributed with a `configure' script that will generate for 77 you a `Makefile' and a `config.h' in each of the subdirectories that 78 require them. See the file `INSTALL' for generic instructions. 79 80 The specific options you may want to give `configure' are: 81 82 --disable-debugging do not compile with debugging support, and 83 use more optimizations 84 85 --with-alsa use ALSA for default audio output 86 87 --with-esd use EsounD (Enlightened Sound Daemon) for 88 default audio output 89 90 Support for the EsounD output format type (esd) is enabled automatically 91 if the EsounD library (libesd) is available, however it is not made the 92 default output format unless --with-esd is given. To disable EsounD 93 support completely, use --without-esd. 94 95 If you have installed libmad and/or libid3tag in an unusual place or 96 `configure' can't find them, you may need to indicate where they are: 97 98 ./configure ... CPPFLAGS="-I${include_dir}" LDFLAGS="-L${lib_dir}" 99 100 where ${include_dir} and ${lib_dir} are the locations of the installed 101 header and library files, respectively. 102 103Experimenting and Developing 104 105 Further options for `configure' that may be useful to developers and 106 experimenters are: 107 108 --enable-debugging enable diagnostic debugging support and 109 debugging symbols 110 111 --enable-profiling generate `gprof' profiling code 112 113 --enable-experimental enable code using the EXPERIMENTAL 114 preprocessor define 115 116=============================================================================== 117 118COPYRIGHT AND AUTHOR 119 120 Please read the `COPYRIGHT' file for copyright and warranty information. 121 Also, the file `COPYING' contains the full text of the GNU GPL. 122 123 Send inquiries, comments, bug reports, suggestions, patches, etc. to: 124 125 Robert Leslie <rob@mars.org> 126 127 See also the `madplay' home page on the Web: 128 129 http://www.mars.org/home/rob/proj/mpeg/ 130 131=============================================================================== 132 133