This page is about
mp3guessenc, a small utility for analyzing audio mpeg
files and detecting the encoder used (when layer III).
Further, it can detect
many details about the mpeg audio stream and print out lots of useful
informations.
Supported streams are
mpeg 1, mpeg 2 and unofficial mpeg 2.5, layer I, layer II and layer III
of course.
Xing tag, lame tag, VBRI
tag and Id3 tags (both 1.x and 2.x) are detected as well.
Now you can look inside
your digital audio collection as you never did before!
There is more to come, so
stay tuned!
Systems mp3guessenc will run on
mp3guessenc is available for POSIX
systems such as Linux
(it is actually developed on an Ubuntu
distribution) and recent releases of HaikuOS.
Also, you will find a ready-to-go Windows(R) command line executable (mp3guessenc.exe) into the tarball.
I successfully built mp3guessenc in a x86 (32 bit) environment using
gcc (and mingw),
clang and
tcc, the Tiny C Compiler.
Further, a prerelease version of 0.25beta2 builds into a
16 bit executable
and runs pretty well in
FreeDOS
thanks to DJGPP(read more).
2013/03/24,
"Please Please Please Let Me Release What I Want"
Support for audio mpeg files up to 2^60 bytes (!!!), APE tag v1/2 are now recognized, detection of mp3PRO and mp3Surround streams
mp3guessenc-0.25alpha24 (64.6 kb)
2013/02/21,
"Owner Of A Lonely Release"
Finally updated the guessing engine, support for freeformat streams is now
waaay better and (I hope) complete - lots of bug-fixes, as usual
2012/04/21, "Sparrow's Nightmare"
Less warnings during analysis and more compatibiliy with layer III
streams
mp3guessenc-0.25alpha22 (48.1 kb)
2012/01/16, "70 Years Are Not Enough"
Free format bitstreams are now supported, new calculation for framesize
now brings great speed gain
mp3guessenc-0.25alpha21 (44.0 kb)
2011/12/26, "Smells Like Release Spirit"
This release fixes a buffer overflow, fixes printed informations and
adds a Makefile
mp3guessenc-0.25alpha20 (44.2 kb)
2011/11/30, "A Release With No Name"
This release brings code optimizations, an enriched frame histogram and
compliancy with latest lame tags
mp3guessenc-0.25alpha19 (24.6 kb)
2011/05/03
Added workaround for a random appearing stack smashing error
mp3guessenc-0.25alpha18 (23.3 kb)
(I can't remember when it came)
Reworked the code for extracting lame string
mp3guessenc-0.25alpha (40.3 kb)
until 2011/03/04 (the code itself prints alpha 15)
Beginning of the journey... Added support for VBR tags and lame tag,
better support for id3v1/id3v2 tags, added lots of comments, fixed
compiler warnings, added early support for all layers (I/II/III),
string alignment, small code modifications and more, more, more...
(guess what? larger packages include win32 executable built using mingw)
You can browse all mp3guessenc releases here.
Full changelog is available here.
Documentation
Lots of internet docs and technical details I've read before putting my
hands into mp3guessenc.
http://maaate.sourceforge.net/
This project is about an audio analyzer, nevertheless the home page
links to good in-depth documentation about mpeg layer I/II/III.
http://www.mp3-tech.org/programmer/docs/bitstream.zip
(thanks to Naoki for pointing me to this)
Implementation details about an mp3 decoder. This zipfile actually
contains the
original document in Microsoft(R) Word I-don't-know-the-version format,
with a
messy layout and some missing images (they're actually a lot). I tried
to edit it in order to increase readability, so you can download this
recent version here in
OpenDocument format and here in
PDF. Note that some errors may still hide in there, you know, I'm
just a human being :-)
History
In early months of 2011 I stumbled upon this small utility, released back in
2002 by Naoki
Shibata. I enjoyed it very soon. I realized the code was fully
functional and reliable, nevertheless it offered room for improvements.
I made several small and tiny modifications and, after receiving
Naoki's agreement, I took over the task (and fun) to update the whole
utility.
The project has now its custom page on
SourceForge
even!