Apple Lossless

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
Apple Lossless
Developer(s) Apple Inc.
Initial release April 28, 2004; 20 years ago (2004-04-28)
Stable release October 28, 2011; 12 years ago (2011-10-28)
Type Audio codec
License Apache License 2.0
Website alac.macosforge.org
Filename extension .m4a .CAF
Developed by Apple Inc.
Type of format Lossless data compression, audio file format
Contained by MPEG-4 Part 14

Apple Lossless, also known as Apple Lossless Audio Codec (ALAC), 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 they have begun to use the abbreviated term ALAC when referring to the codec.[1]

Codec

Apple Lossless supports up to 8 channels of audio at 16, 20, 24 and 32 bit depth with a maximum sample rate of 384kHz. Apple Lossless data is 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). However, Apple Lossless is not a variant of AAC (which is a lossy format), but rather a distinct lossless format that uses linear prediction similar to other lossless codecs. These other lossless codecs, such as FLAC and Shorten, are not natively supported by Apple's iTunes software (either the Mac OS or Windows versions) or by iOS devices, so users of iTunes software who want to use a lossless format which allows the addition of metadata (unlike WAV/AIFF or other PCM-type formats, where metadata is usually ignored) have to use ALAC.[2] All current iOS devices can play ALAC–encoded files. 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.[citation needed]

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] Furthermore, compared to some other formats, it is not as difficult to decode, making it practical for a limited-power device, such as older iOS devices.[5][6]

Partly because of the use of an MP4 container, Apple Lossless does not contain integrated error checking.[7]

While not nearly as common, the ALAC format can also use the .CAF file type container.

History

The 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.[citation needed] The codec is also used in the AirPort and AirPlay implementation.

The Apple Lossless Encoder (and decoder) were released as open source software under the Apache License version 2.0 on October 27, 2011,[8][9][10] however an independent reverse-engineered open-source encoder and decoder were already available before the release.

Other players

David Hammerton and Cody Brocious have analyzed and decoded this codec without any documents on the format. On March 5, 2005, Hammerton published a simple open source decoder in the programming language C on the basis of the reverse engineering work.[11]

The open source library libavcodec incorporates both a decoder and an encoder for Apple Lossless 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, XBMC, and Boxee) are able to play Apple Lossless files. The library was subsequently optimized for ARM processors and included in Rockbox. Foobar2000 will also play Apple Lossless files as will JRiver Media Center and BitPerfect.

See also

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.

External links