Since patents expired in 2017, I wonder if there are specifications of the MP3 audio format that have been made available to the public?
Unfortunately, access to the official ISO/IEC 13818-3:1998 standard is not free and therefore a bad basis for an open source project.
I found some documents, but none of them described the structure of the data frames in detail:
- https://autohotkey.com/board/topic/26901-mp3-file-structure-howto/ (Informal, incomplete)
- https://en.wikipedia.org/wiki/MP3 (Header spec, but only informal description of frames)
- http://mpgedit.org/mpgedit/mpeg_format/mpeghdr.htm (Covers header only)
- https://sourceforge.net/p/lame/svn/HEAD/tree/trunk/lame/libmp3lame/encoder.c#l244 (lame's code to encode a frame, not a spec)
- https://www.mp3-tech.org/ (Collection of papers mainly focused on how to enhance encoding)
- https://www.mp3-tech.org/programmer/docs/mp3_theory.pdf (Description of frame layout and header, but no in-depth description of frame's Main Data)
Of course one could reverse engineer a spec by analyzing open source MP3 en-/decoder, but I do not want to reinvent the wheel.
If you are curious what I need this for: I have some experience in signal processing and want to extend a program to do certain manipulations to MP3 files without re-encoding and the involved quality loss.