# Musepack

Musepack or MPC is an open source lossy audio codec, specifically optimized for transparent compression of stereo audio at bitrates of 160–180 (manual set allows bitrates up to 320) kbit/s. It was formerly known as MPEGplus, MPEG+ or MP+.
Development of MPC was initiated in 1997 by Andree Buschmann and later assumed by Frank Klemm, and as of 2004 is maintained by the Musepack Development Team (MDT) with assistance from Buschmann and Klemm. Encoders and decoders are available for Microsoft Windows, Linux and Mac OS X, and plugins for several third-party media players available from the Musepack website, licensed under the GNU Lesser General Public License (LGPL) or BSD licenses, and an extensive list of programs supporting the format.

## Technical details

Musepack was developed using the MP2 codec as a starting point, but many features have since been added, including:
* subband selectable M/S encoding (as in AAC)
* Huffman coding (as in MP3 and AAC, but more efficient). Since SV8 the bitstream is compressed by highly optimized canonical huffman tables that yields 2% smaller files and faster decoding
* noise substitution techniques (as in ATSC A-52 and MPEG-4 AAC V2)
* pure variable bitrate between 0 and 1300 kbit/s (when needed)
The psychoacoustic model of MPC is based on MPEG ISO model 2, but is extended by CVD (clear voice detection). The quantization algorithm of the MPC encoder performs spectral shaping of the noise, called adaptive noise shaping (ANS), in order to overcome the low frequency resolution of the polyphase quadrature filter bands.
MPC uses the APEv2 tag metadata container.
Musepack is mainly optimized for transparent encoding at the "--standard" preset (175-185 kbit/s). Very few optimisations have been made at lower bitrates (like 128 kbit/s). Nevertheless, various listening tests have been conducted in which Musepack has performed well at both lower and higher bitrates.

## Features

* Container-independent format. An SV8 MPC is a container file for a Musepack stream. Raw stream encoding is possible.
* Packetized stream allows muxing into audio and video containers (e.g. MKA/MKV, NUT).
* Sample-accurate, fast seeking independent of file length.
* Sample-accurate cutting. Application included in download package (mpccut) allows losslessly cutting stream segments based on selected start/end samples.
* Chapters. Chapter editor (mpcchap) included, for embedding chapters into MPC files.
* No internal clipping.
* Streamable.

## Test results

Despite being optimized for 100% transparency at moderately high bitrates, MPC has also scored highly on many 128 kbit/s tests. In May 2004, a series of double-blind listening tests (as reported on Slashdot) suggested that Musepack and Ogg Vorbis (which was the 1.1 "aoTuV" fork at the time) were the two best available codecs for high-quality audio compression at bitrates around 128 kbit/s, beating MP3, AAC, WMA, and ATRAC.
Listening tests of MPC:
* 2004 – rjamorim's second 128 kbit/s group listening test – between 14 and 27 listeners. MPC and Vorbis tied for first.
* 2003 – rjamorim's first 128 kbit/s group listening test – between 14 and 29 listeners. AAC, MPC, Vorbis, and WMA tied for first.
* 2002 – ff123's second 128 kbit/s group listening test
* 2001 – ff123's 128 kbit/s group listening test

## Hardware and software support

Devices supporting The Core Pocket Media Player can play MPC. This includes devices running Palm OS, Symbian OS, Windows, Windows CE and Windows Mobile (Pocket PC). All devices with software audio decoding that are supported by Rockbox, including older revisions of iPod, can also play Musepack files. Playback on Roku Photobridge HD is supported with a plugin. There is a plethora of media players for Android supporting Musepack (among them is the ported Rockbox media player).
Musepack distributes the libmpcdec library for decoding MPC content. Various plugins have been developed, using that library, including for the XMMS player (on Unix). Asunder and Jack! The Knife allows ripping Audio CD tracks directly into Musepack files.