# Musepack

Musepack, abrégé MPC, est un algorithme de compression audio (voir aussi « codec ») avec pertes.

## Développement

* Andree Buschmann initia en 1997 le développement de Musepack. Le développement sera repris plus tard par Franck Klemm. Depuis 2011, la Musepack Development Team (MDT) assure le développement, avec l'assistance de Frank Klemm.
* Musepack est libre, ainsi, le développement est ouvert à tous.

## Caractéristiques
### Qualité, rapidité

* Musepack est conçu pour produire un encodage dit « transparent » (c'est-à-dire indifférenciable du fichier original) à des débits compris entre 160 et 180 kilobits par seconde.
* La compression et la décompression du Musepack s'effectuent très rapidement. Les exécutables sont particulièrement véloces sur des architectures x86, PowerPC, ARM ou encore SPARC, notamment la partie décodage à travers la bibliothèque libmpcdec (sous licence BSD). Néanmoins, sur des plates-formes plus exotiques, telles que celles supportées par Rockbox, cet avantage est moindre à cause de l'absence d'optimisations assembleur.

### Licences libres

* code source principal : licence GNU LGPL
* bibliothèque de décodage, libmpcdec : licence BSD (moins restrictive que la licence GNU LGPL)

### Portabilité

* Du fait de sa portabilité, Musepack peut être utilisé sur de nombreux systèmes d'exploitation, pour l'encodage comme pour le décodage : Microsoft Windows, Linux, Mac OS X, etc.
* De nombreux logiciels gèrent le Musepack, nativement ou par l'intermédiaire de plugins : AIMP, VLC, foobar2000, Winamp, Nero, Audition/Cool Edit, Exact Audio Copy, CDex, etc. Le site officiel fournit une liste détaillée de ces logiciels.

### Format des métadonnées (ou "tags")

Musepack utilise nativement les tags au format APEv2 ; les tags ID3v1 sont aussi supportés, mais déconseillés ; les tags ID3v2 sont à proscrire (provoquent de nombreux problèmes)

### Extension de fichier

Les fichiers audio obtenus avec Musepack portent l'extension ".mpc". On peut aussi rencontrer les extensions ".mpp" ou ".mp+", mais cela est très rare. En effet, Musepack était auparavant appelé MPEGplus, MPEG+ ou bien encore MP+.

## Encodage
### Logiciels

Sous Microsoft Windows, l'encodage en Musepack s'effectue avec mpcenc.exe, un utilitaire en ligne de commande. Celui-ci peut être utilisé de 3 manières différentes :
* tel quel, en ligne de commande
* depuis un GUI spécifique, par exemple MuseDrop
* appelé par un logiciel externe : Exact Audio Copy, CDex, Foobar2000...
Le fonctionnement est similaire sur les autres systèmes d'exploitation.
Sous GNU/Linux, Il est possible également d'encoder/décoder sous ce format en utilisant par exemple dBPowerAmp, par le biais de Wine. dBPowerAmp est conçu pour Windows, mais est parfaitement fonctionnel sous Linux en passant par Wine, et s'utilise de façon pratiquement transparente, et en lui adjoignant les codecs disponibles sur le site d'illustrate, il obtient les mêmes fonctionnalités, et crée des fichiers *.mpc de qualité identique à ceux créés sous Windows.

### Paramètres
#### Généralités

Un encodage s'effectue avec la commande suivante :
"n" est le facteur de qualité (voir ci-dessous). Si l'option "--quality n" n'est pas précisée, le paramètre par défaut, soit "--quality 5", est utilisé.
"output.mpc" est le nom du fichier obtenu. Si cette option n'est pas précisée, c'est le nom du fichier d'entrée qui est utilisé, avec l'extension ".mpc" (ici, nous obtiendrions "input.mpc").

#### Réglage de la qualité

Il est conseillé de choisir comme facteur de qualité un entier compris entre 5 et 7. Soit :
* --quality 5 (auparavant --standard) : bitrate d'environ 170 kb/s, variant entre 142 et 184 kb/s
* --quality 6 (auparavant --xtreme) : bitrate d'environ 200 kb/s, variant entre 168 et 212 kb/s
* --quality 7 (auparavant --insane) : bitrate d'environ 220 kb/s
Dans la quasi-totalité des cas, le profil "standard" ne provoque que peu d'altérations audibles du signal audio. Les audiophiles exigeants peuvent utiliser les profils "xtreme" et "insane". De tels profils peuvent également s'avérer utiles si le fichier est réencodé par la suite.
Musepack n'est pas conçu pour les profils inférieurs à "standard" (par exemple "--quality 4", soit "--radio"). Cependant, ses performances avec de tels profils demeurent plutôt bonnes.

#### Prévention du "clipping"

L'option "--xlevel" est une option permettant d'éviter le "clipping" (saturation du signal sonore). Depuis la version 1.15s de mppenc, cette option est activée par défaut. Il n'y a donc plus lieu de l'ajouter à la ligne de commande.

#### Exemple

Ces 2 lignes produisent le même résultat :