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