Apple Lossless Audio Codec
The Apple Lossless Audio Codec (ALAC), also known as Apple Lossless, or Apple Lossless Encoder (ALE), is an audio coding format, and its reference audio codec implementation, developed by Apple Inc. for lossless data compression of digital music. After initially keeping it proprietary from its inception in 2004, in late 2011 Apple made the codec available open source and royalty-free. Traditionally, Apple has referred to the codec as Apple Lossless, though more recently it has begun to use the abbreviated term ALAC when referring to the codec.[1][2]
Developer(s)
Codec[edit]
ALAC supports up to 8 channels of audio at 16, 20, 24 and 32 bit depth with a maximum sample rate of 384 kHz.
ALAC data is frequently stored within an MP4 container with the filename extension .m4a. This extension is also used by Apple for lossy AAC audio data in an MP4 container (same container, different audio encoding). The codec can also be used by the .CAF file type container, though this is much less common.
ALAC is not a variant of AAC (which is a lossy format), but rather an unrelated lossless format that uses linear prediction (similar to other lossless codecs).
ALAC also does not use any DRM scheme; but by the nature of the MP4 container, it is feasible that DRM could be applied to ALAC much in the same way it is applied to files in other QuickTime containers.
According to Apple, audio files compressed with its lossless codec will use up "about half the storage space" that the uncompressed data would require. Testers using a selection of music have found that compressed files are about 40% to 60% the size of the originals depending on the kind of music, which is similar to other lossless formats.[3][4]
ALAC has been measured to require around four times as much CPU power to decode than FLAC does,[5] with implications for battery life on limited-power devices. Still the format has been recommended for older iPod devices based on claims of lower power usage.[6]
Partly because of the use of an MP4 container, ALAC does not contain integrated error checking.[7]
History[edit]
The data compression software for encoding into ALAC files, Apple Lossless Encoder, was introduced into the Mac OS X Core Audio framework on April 28, 2004, together with the QuickTime 6.5.1 update, thus making it available in iTunes since version 4.5 and above, and its replacement, the Music application.[8] The codec is also used in the AirPort and AirPlay implementation.
David Hammerton and Cody Brocious analyzed and reverse engineered the codec without any documents on the format. On March 5, 2005, Hammerton published a simple open source decoder written in the C programming language on the basis of the work.[9]
The Apple Lossless Encoder (and decoder) were released as open source software under the Apache License version 2.0 on October 27, 2011.[10][11][12]
On May 17, 2021, Apple announced that they would begin offering lossless audio in Apple Music in June 2021, with all lossless music being encoded using ALAC.[13]
Apple support for lossless formats[edit]
Other lossless codecs, such as FLAC and Shorten, are not natively supported by Apple's iTunes nor the later Music app (either the macOS or Windows versions) or by iOS devices running iOS 10 or below. In order to be played through the iTunes and Music app on iOS, audio files using these lossless codecs may be converted via various third-party tools into ALAC-encoded files with no change in fidelity.
Third-party applications are available from the App Store to play such files without converting them. Devices running iOS 11 or above do support FLAC playback natively, through the Files application only.[14] The method of importing the files to the Apple device varies between applications, including Files, as there is currently no official support for doing so.[15]
Software[edit]
All current iOS devices can play ALAC encoded files.
The open source library libavcodec incorporates both a decoder and an encoder for the ALAC format, which means that media players based on that library (including VLC media player and MPlayer, as well as many media center applications for home theater computers, such as Plex, Kodi, and Boxee) are able to play ALAC files.
As of 2015, Windows 10 includes support for ALAC encoding and decoding, thereby enabling other media players to use it, e.g. Windows Media Player when ripping CDs or the Spotify desktop client for playback of local .m4a files.
The library was subsequently optimized for ARM processors and included in Rockbox.
Foobar2000 will play ALAC files as will JRiver Media Center and BitPerfect.
Lossless music via ALAC was added to Apple Music in June 2021, at no additional cost for all subscribers. The maximum fidelity for lossless music on Apple Music is 24-bit at 192 kHz.[16]