Why libmp3lame is still used instead of AAC
While Advanced Audio Coding (AAC) offers superior sound quality and
compression efficiency compared to the aging MP3 format, the
libmp3lame encoder remains highly popular and widely
integrated today. This article explains why this legacy software library
persists in modern audio workflows, highlighting factors such as
universal compatibility, licensing freedom, open-source integration, and
entrenched legacy systems.
Universal Compatibility and Ubiquity
The primary reason libmp3lame remains relevant is the
absolute ubiquity of the MP3 format. Virtually every digital device
capable of playing audio—ranging from modern smartphones and smart TVs
to legacy car stereos, DVD players, and cheap microcontrollers—can
decode MP3 files. While AAC support is highly widespread on iOS,
Android, and modern web browsers, there are still legacy hardware
systems and niche media players that fail to decode AAC files.
Developers choose libmp3lame to guarantee that their audio
output will play on 100% of devices without exception.
Patent Expiration and Licensing Freedom
All patents associated with the MP3 format expired by April 2017.
This milestone turned MP3 into a completely free, patent-unencumbered
technology. Developers can integrate libmp3lame into
commercial software and distribute MP3-encoded files without paying
royalties or worrying about legal liabilities.
In contrast, AAC is still protected by active patents. Commercial
software developers and hardware manufacturers often must pay licensing
fees to the AAC patent pool (administered by Via LA) to legally
distribute AAC decoders and encoders. For indie developers, open-source
projects, and bootstrapped startups, the total financial and legal
safety of libmp3lame makes it highly attractive.
Open-Source Friendly Licensing
libmp3lame is distributed under the GNU Lesser General
Public License (LGPL), making it easy to bundle with major open-source
media frameworks like FFmpeg, VLC, and Audacity.
While there are open-source AAC encoders, they come with caveats: *
FDK-AAC: While highly efficient, its custom license is
incompatible with the GPL, meaning developers cannot legally distribute
pre-compiled binaries containing both GPL code and FDK-AAC. *
Native FFmpeg AAC encoder: This encoder is
GPL-compatible, but historically it lagged behind FDK-AAC and
libmp3lame in terms of tuning and quality, though it has
improved significantly in recent years.
Because of these licensing friction points, libmp3lame
remains the most hassle-free, high-quality open-source encoder available
for developers to ship.
Entrenched Workflows and Legacy Systems
Many industries built their digital foundations during the peak of the MP3 era. Radio broadcasting systems, podcast hosting platforms, DJ software, and archiving systems are often hardcoded to ingest, process, and distribute MP3 files. Upgrading these end-to-end infrastructures to support AAC requires substantial time, testing, and capital. Since MP3 continues to get the job done, many enterprises see no return on investment in migrating to AAC.
The “Good Enough” Quality Factor
At lower bitrates (such as 64kbps or 96kbps), AAC is objectively
superior, preserving high-frequency details that MP3 completely
discards. However, at higher bitrates like 320kbps, the human ear cannot
reliably distinguish between a libmp3lame MP3 encode and an
AAC encode.
Because modern internet bandwidth and storage costs have plummeted,
the necessity of squeezing audio into ultra-small file sizes has
diminished. Encoding at 320kbps using libmp3lame provides
transparent audio quality while bypassing the compatibility and
licensing hurdles of AAC.