Musepack

From Free net encyclopedia

Musepack or MPC is an open source lossy audio codec, specifically optimized for transparent compression of stereo audio at bitrates of 160-180 kbit/s. It was formerly known as MPEGplus, MPEG+ or MP+.

Development of MPC was initiated in 1997 by Andree Buschmann and later taken over by Frank Klemm, and is currently maintained by the Musepack Development Team (MDT) with assistance from Frank Klemm. Encoders and decoders are available for Microsoft Windows, Linux and Mac OS X, along with plugins for several third-party media players available from the Musepack website, licensed under the LGPL or BSD licenses, and an extensive list of programs supporting the format.

Contents

Technical details

Musepack was developed using the MP2 codec as a starting point, but many features have since been added, including:

  • subband-wise selectable M/S encoding (as in AAC)
  • Huffman coding (as in MP3 and AAC, but more efficient)
  • noise substitution techniques (as in ATSC A-52 and MPEG-4 AAC V2)
  • pure variable bitrate between 3 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.

In the past, MPC has been under suspicion of violating multiple patents (MP2, PNS, subband) [1]. According to the developers of MPC, all patented code has been removed and it is now believed to be free of patent encumbrance. However, one PNS patent application is still active [2], and it is not trivial to know if MPC's own "noise substitution techniques" avoid its scope or not. Only a careful examination by a patent lawyer would say whether Musepack is truly patentless or not.

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.

Unlike other lossy codecs, the current Stream Version (7) of Musepack does not specifically support seeking within a file (with, eg, seektables or similar constructs). Software players that support seeking do so through brute force decoding of the data between start and end seekpoints. According to Musepack developers, the next Stream Version (7.5) will aim at solving this, the format's main hurdle.

Test results

Despite being optimized for 100% transparency at moderately high bitrates, MPC has scored highly on many 128 kbit/s tests. In May 2004, a series of double-blind listening tests [3] (as reported on Slashdot [4]) 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 128kbit/s, beating MP3, AAC, WMA, or ATRAC.

Listening tests of MPC:

  • 2005 - 185 kbit/s test [5] based on 18 classical music samples – MPC comes second to Vorbis aoTuV. (Note: Doubtful. Unlike previous tests, performed by a single person.)
  • 2004 - rjamorim's second 128 kbit/s group listening test [6] - between 14 and 27 listeners. MPC and Vorbis tied for first.
  • 2004 - High bitrate tests [7] (thread by a Musepack developer)
  • 2003 - rjamorim's first 128 kbit/s group listening test [8] - between 14 and 29 listeners. AAC, MPC, Vorbis, and WMA tied for first.
  • 2002 - ff123's second 128 kbit/s group listening test [9]
  • 2001 - ff123's 128 kbit/s group listening test [10]

Hardware support

Devices supporting The Core Pocket Media Player are capable of MPC playback - those include the PocketPC and devices running Palm OS, Symbian OS, Windows, Windows CE or Windows Mobile. All devices with software audio decoding that are supported by Rockbox can also play Musepack files. Playback on Roku Photobridge HD is supported with a plugin.

External links

pl:Musepack