MAD: MPEG Audio Decoder

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 de facto MPEG 2.5 format. All three audio layers — Layer I, Layer II, and Layer III (i.e. MP3) — are fully implemented.
MAD does not yet support MPEG-2 multichannel audio (although it should be backward compatible with such streams) nor does it currently support AAC.
MAD has the following special features:
  • 24-bit PCM output
  • 100% fixed-point (integer) computation
  • completely new implementation based on the ISO/IEC standards
  • available under the terms of the GNU General Public License (GPL)
Because MAD provides full 24-bit PCM output, applications using MAD are able to produce exceptionally high quality audio. Even when the output device supports only 16-bit PCM, applications can use the extra resolution to increase the audible dynamic range through the use of dithering or noise shaping.
Because MAD uses integer computation rather than floating point, it is well suited for architectures without a floating point unit. All calculations are performed with a 32-bit fixed-point integer representation.
Because MAD is a new implementation of the ISO/IEC standards, it is unencumbered by the errors of other implementations. MAD is not a derivation of the ISO reference source or any other code. Considerable effort has been expended to ensure a correct implementation, even in cases where the standards are ambiguous or misleading.
Because MAD is available under the terms of the GPL, it can be freely used in other GPL software, and is also available for immediate evaluation prior to obtaining a commercial license.
Download