Understanding MP3

Syntax, Semantics, Mathematics, and Algorithms

by Martin Ruckert

This web site provides supplemental information for the book Understanding MP3. It was previously available from Vieweg Verlag (ISBN 3-528-05905-2) but went out of print; it is now available again in a second edition (containing all known bug fixes) from CreateSpace or from Amazon

MPEG audio coding became popular under the name MP3. It is now the most important means of delivering high quality audio over the internet and will play the lead role in digital movie sound as well as in digital audio broadcast. The technology is complex and comprises a vast range of topics, from psychoacustics to digital signal processing, and from mathematics to sofware engineering.

The book explains the ideas, the concepts, and the implementation of MP3. Reading it requires no special prerequisites, but still, the book is detailed enough to include a fully executable highly efficient MP3 decoding engine. The book strives to explain the transformation of a bitstream into music in a way that is not only understandable but even enjoyable.

The information provided below is subject to change as the book develops to reach its final stage. Please direct any comments or suggestions for improvements or corrections of errors to the author.

Preliminary Sample Pages

Software Download

The latest version of source code under LGPL and of binaries can be found on the download page.

Preliminary Table of Content

Table of Contents
2Digital Filters and Subband Synthesis
3Standard Synthesis Subband Filter
4Subbands, the Key to Audio Compression
5How To Use mp32pcm
6How mp32pcm Works
7Unpacking the Frame
8Reading the Bit Stream
9Improving the Bit Packing: Layer II
10The Mathematics of Analyzing Components
11Some new Ideas: Layer III
12Huffman Coding
13Advanced Bit Packing: Layer III
14Low Sample Frequencies
ATables and Special Code
BTheory and Practice of CRC's
DTesting Compliance
List of Figures, Tables, and Equations
Crossreference of Identifiers
Crossreference of Code


Known errors in the book can be found on the errata page.


LAME (open source mp3 encoder)

mp3-tech (technical information)

m3w (a mp3 streamer for the WWW)

Maintained by Martin Ruckert

Prof. Dr. Martin Ruckert
Munich University of Applied Sciences
FB07 Mathematik and Computer Science
Postfach 20 01 13
80323 München