Fraunhofer FDK AAC
   HOME

TheInfoList



OR:

Fraunhofer FDK AAC is an
open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized so ...
library A library is a collection of materials, books or media that are accessible for use and not just for display purposes. A library provides physical (hard copies) or digital access (soft copies) materials, and may be a physical location or a vi ...
for encoding and decoding digital audio in the
Advanced Audio Coding Advanced Audio Coding (AAC) is an audio coding standard for lossy digital audio compression. Designed to be the successor of the MP3 format, AAC generally achieves higher sound quality than MP3 encoders at the same bit rate. AAC has been stan ...
(AAC) format.
Fraunhofer IIS The Fraunhofer Society (german: Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V., lit=Fraunhofer Society for the Advancement of Applied Research) is a German research organization with 76institutes spread throughout Germany ...
, developed this library for
Android 4.1 Android Jelly Bean, or Android 4.1 is the codename given to the tenth version of the Android (operating system), Android mobile operating system developed by Google, spanning three major point releases (versions 4.1 through 4.3.1). Among the dev ...
. It supports several Audio Object Types including
MPEG-2 MPEG-2 (a.k.a. H.222/H.262 as was defined by the ITU) is a standard for "the generic coding of moving pictures and associated audio information". It describes a combination of lossy video compression and lossy audio data compression methods, ...
and
MPEG-4 MPEG-4 is a group of international standards for the compression of digital audio and visual data, multimedia systems, and file storage formats. It was originally introduced in late 1998 as a group of audio and video coding formats and related t ...
AAC LC, HE-AAC (AAC LC + SBR), HE-AACv2 (LC + SBR + PS) as well AAC-LD (low delay) and AAC-ELD (enhanced low delay) for real-time communication. The encoding library supports
sample rate In signal processing, sampling is the reduction of a continuous-time signal to a discrete-time signal. A common example is the conversion of a sound wave to a sequence of "samples". A sample is a value of the signal at a point in time and/or spa ...
s up to 96 kHz and up to eight channels (7.1 surround).


Operation

The Android-targeted implementation of the Fraunhofer AAC encoder uses fixed-point math and is optimized for encoding on embedded devices/mobile phones. The library is currently limited to 16-bit
PCM Pulse-code modulation (PCM) is a method used to digitally represent sampled analog signals. It is the standard form of digital audio in computers, compact discs, digital telephony and other digital audio applications. In a PCM stream, the am ...
input. Other versions of the Fraunhofer encoder, like the one included in
Winamp Winamp is a media player for Microsoft Windows originally developed by Justin Frankel and Dmitry Boldyrev by their company Nullsoft, which they later sold to AOL in 1999 for $80 million. It was then acquired by Radionomy in 2014. Since ve ...
, are optimized for encoding music on desktop-class processors. Those versions of the encoder, however, are not open-source and require a commercial license. Version 2 of the library, introduced with Android P, also includes support for
xHE-AAC Unified Speech and Audio Coding (USAC) is an audio compression format and codec for both music and speech or any mix of speech and audio using very low bit rates between 12 and 64 kbit/s. It was developed by Moving Picture Experts Group (MPEG ...
and AAC-ELD v2. xHE-AAC extends the operating range of the codec from 12 to 300 kb/s for stereo signals and allows seamless switching between bitrates over this range for adaptive bitrate delivery (using standards such as MPEG-DASH or HLS for example). xHE-AAC also includes MPEG-D DRC mandatory loudness control to playback content at a consistent volume and offers new dynamic range control profiles for listening in noisy situations. The FDK AAC encoder employs a more aggressive default
low-pass filter A low-pass filter is a filter that passes signals with a frequency lower than a selected cutoff frequency and attenuates signals with frequencies higher than the cutoff frequency. The exact frequency response of the filter depends on the filt ...
than is used in other codecs. Higher frequencies are removed so that more bits are available to better describe sounds of lower frequencies, improving the overall quality for most combinations of recordings and listeners. In some, not completely rare, combinations the missing high frequencies are noticeable. The library allows overriding the low-pass filter setting, and in the highest VBR mode effectively applies no filter at all. A cross-platform source distribution is maintained by Martin Storsjö as part of the opencore-amr project under the name fdk-aac. The code compiles into a shared library, libfdk-aac. The media frameworks
FFmpeg FFmpeg is a free and open-source software project consisting of a suite of libraries and programs for handling video, audio, and other multimedia files and streams. At its core is the command-line ffmpeg tool itself, designed for processing of vid ...
and Libav support audio encoding through libfdk-aac.


Licensing

The license included by Fraunhofer in the FDK library source code allows redistribution in source or binary forms, but does not license patented technologies described by the code. The license states that the library may only be used for purposes as authorized by patent licenses. Due to this restriction, along with a limitation on charging for the library,
Debian Debian (), also known as Debian GNU/Linux, is a Linux distribution composed of free and open-source software, developed by the community-supported Debian Project, which was established by Ian Murdock on August 16, 1993. The first version of De ...
considers it non-free. It was classified as free by
Fedora A fedora () is a hat with a soft brim and indented crown.Kilgour, Ruth Edwards (1958). ''A Pageant of Hats Ancient and Modern''. R. M. McBride Company. It is typically creased lengthwise down the crown and "pinched" near the front on both side ...
after a review by the legal department at
Red Hat Red Hat, Inc. is an American software company that provides open source software products to enterprises. Founded in 1993, Red Hat has its corporate headquarters in Raleigh, North Carolina, with other offices worldwide. Red Hat has become a ...
. The FSF also considers it to be free, though discourages its use due to the explicit lack of a patent grant. Via Licensing administers a patent pool that includes patent licenses for the AAC codecs, including xHE-AAC and MPEG-D DRC. The FDK license also states that "most manufacturers of Android devices already license these patent claims through Via Licensing or directly from the patent owners, and therefore FDK AAC Codec software may already be covered under those patent licenses when it is used for those licensed purposes only."


See also

*
Nero AAC Codec __NOTOC__ Nero AAC Codec is a set of software tools for encoding and decoding Advanced Audio Coding (AAC) format audio, and editing MPEG-4 metadata. It was developed and distributed by Nero AG, and is available at no cost for Windows and Linux fo ...
*
FAAC FAAC or Freeware Advanced Audio Coder is a software project which includes the AAC encoder FAAC and decoder FAAD2. It supports MPEG-2 AAC as well as MPEG-4 AAC. It supports several MPEG-4 Audio object types (LC, Main, LTP for encoding and SBR, ...
*
MPEG-4 Part 3 MPEG-4 Part 3 or MPEG-4 Audio (formally ISO/IEC 14496-3) is the third part of the ISO/IEC MPEG-4 international standard developed by Moving Picture Experts Group. It specifies audio coding methods. The first version of ISO/IEC 14496-3 was publish ...


References


External links

;Information *
Fraunhofer AAC Audio Playback Test SiteFraunhofer FDK AAC
at Hydrogenaudio Knowledgebase
Detailed information about the Fraunhofer FDK AAC encoder used in the EZ CD Audio ConverterVia Licensing Advanced Audio Coding
;Implementations
Official FDK source code repository
at the Android Open Source Project
fdk-aac
at Debian Package Tracker
"libfdk-aac" repo
at GitHub — FDK AAC as a shared library
"fdkaac" repo
at GitHub.com – a cross-platform command-line encoding and metadata utility that employs the libfdk-aac shared library
"fdk-aac-win32-builder repo"
at GitHub – a script for compiling the two repos above. (The binaries cannot distributed because of the FDK AAC licensing.) {{Compression Software Implementations, state=collapsed Audio codecs Cross-platform software