6
$\begingroup$

Does anybody have a reference describing the MP3 algorithm in a step-by-step manner and clear to understand?

These references were a little bit confusing:

I am willing to encode a bitstream to MP3 after reading the reference that you introduce, manually, for a complete understanding of the procedure.

$\endgroup$

migrated from sound.stackexchange.com Jun 16 '16 at 13:01

This question came from our site for sound engineers, producers, editors, and enthusiasts.

  • $\begingroup$ I'm voting to close this question as off-topic because it is not about sound design but about implementation of an mp3 encoder. $\endgroup$ – audionuma May 30 '16 at 20:33
  • 1
    $\begingroup$ Have you seen the book "Introduction to Digital Audio Coding and Standards" by Marina Bosi and Richard Goldberg ? $\endgroup$ – Fat32 Jun 16 '16 at 13:17
1
$\begingroup$

The papers you found seem to me quite good references, I've read them briefly and will surely want to study them thoroughly, +1 for that. But your question does not seem to make a lot of sense, or at least it does not have a viable answer.

The procedure is an extremely complex one (as you've realized by the reading the papers) and is built on multiple layers of basic calculus, Fourier tranforms, audio engineering, signal processing, etc. You can't understand the procedure without understanding the theory.

Also it's not humanly possible, in practical terms, to manually encode an audio file by hand. You have to do literally thousands (probably hundreds of thousands, for a complete MP3 implementation) of complex arithmetic operations just to encode a single audio frame of, say, 512 samples. That's just about 0.01 seconds of music at 44.1KHz sampling rate.

Perhaps you should aim your learning efforts at less advanced stuff to begin with?

$\endgroup$
1
$\begingroup$

A compression standard is a quite delicate thing, that took years to develop and tune. I suggest Analysis of the MPEG-1 Layer III (MP3) Algorithm Using MATLAB, 2012 by Jayaraman J. Thiagarajan and Andreas Spanias. After a general overview, it leads you step by step though the different blocks of the whole scheme, providing some Matlab code for each of them.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy