- Flac
-
Free Lossless Audio Codec
Free Lossless Audio Codec Développeur Xiph.org Dernière version 1.2.1 (le 17 septembre 2007) [+/-] Environnements Multiplate-forme Type Format audio Licences GNU GPL Site Web flac.sourceforge.net Free Lossless Audio Codec *.oga, *.flac
audio/ogg
audio/x-flac
Développé par
Xiph.org Type de format
Format audio Spécification
Format ouvert Free Lossless Audio Codec (FLAC) est un codec libre de compression audio sans perte. À l'inverse de codecs tels que MP3 ou Vorbis, il n'enlève aucune information du flux audio.
Comme d'autres méthodes de compression, FLAC a pour principal avantage de réduire le débit ou la capacité de stockage nécessaire, sans perdre d'informations de la source audio (en anglais, lossless signifie « sans perte »). Par exemple, un enregistrement numérique (tel qu'un CD) codé en FLAC peut être décompressé pour obtenir une copie identique des données audio. Les sources audio peuvent être codées en FLAC pour permettre une réduction de taille de 30 à 70 %. La réduction de taille est dépendante de la source : plus le signal est constitué d'ondes régulières (sons naturels), meilleure est la compression. Par contre, un signal aléatoire (bruit) ne se compresse pas très bien. Ce phénomène se constate pour tous les formats de compression sans perte.
FLAC est approprié pour tous les archivages de données audio, avec le support des métadonnées, image de couverture, ainsi que pour la recherche rapide. FLAC est libre et open source ; ne nécessitant pas le paiement de redevances, il est bien supporté par de nombreux logiciels. Le support de la restitution de FLAC sur les appareils audio portables, et les systèmes audio dédiés est limité mais en progrès[1]. John Coalson est le premier auteur de FLAC.
Le 29 janvier 2003, Xiphophorus (appelée, en 2004, Xiph.org) annonce l'incorporation de FLAC sous la bannière de Xiph.org, rejoignant ainsi le conteneur Ogg et les codecs Vorbis, Theora et Speex.
Sommaire
Projet
Le projet FLAC est constitué de plusieurs éléments :
- le format de flux ;
- un format conteneur appelé Native FLAC ;
- libFLAC, une bibliothèque de codage et décodage ainsi qu'une interface aux metadonnées ;
- libFLAC++, un accès objet à libFLAC ;
- flac, un accès en ligne de commande à libFLAC pour coder et décoder des fichiers .flac ;
- metaflac, un éditeur en ligne de commande pour les fichiers .flac ;
- des plugins d'entrée pour plusieurs lecteurs musicaux populaires (Winamp, XMMS…) ;
- avec l'inclusion dans le projet Xiph.org, le conteneur Ogg, adapté pour le streaming (l'ensemble est appelé Ogg FLAC).
Les spécifications du format de flux sont dans le domaine public (le projet FLAC se réserve les droits quant aux spécifications et à la certification de compatibilité). Le projet s'attache aussi à ce qu'aucun brevet ne couvre le format ou les méthodes de codage/décodage. Les bibliothèques libFLAC et libFLAC++ sont disponibles sous licence BSD, les sources de flac, metaflac et des plugins sont sous licence GPL.
Comparaisons
FLAC se distingue d'algorithmes sans perte (tels que ZIP et gzip) en ce qu'il a été créé spécifiquement pour compresser des données audio. La méthode ZIP réduit la taille d'un fichier audio de qualité CD de 20 à 40 %, alors que FLAC obtient des taux de 30 à 70 %. Par ailleurs, un fichier FLAC est composé de blocs successifs d'environ 100 ms de données, et peut être décompressé à la volée durant la lecture (quel que soit le niveau de compression), y compris par un système autonome équipé de peu de mémoire (platine CD FLAC, lecteur portable à disque dur ou mémoire Flash, lecteur autonome à disque dur pour chaîne Hi-Fi ou voiture).
Bien que des codecs à perte puissent atteindre des ratio de 80-90 %, voire plus, ils le font en éliminant des données du flux originel. FLAC utilise une technique similaire, mais il ajoute également des données « résiduelles » permettant de restaurer l'original sans déformation.
Comme la plupart des codecs sans pertes, le FLAC est très utilisé comme format d'archivage car il permet de retrouver une copie exacte des fichiers d'origine (ce qui n'est pas possible avec les formats tel que le MP3, ou Vorbis). Un fichier Cue sheet (CUE) peut éventuellement être créé quand on rippe un CD. Si le CD est lu et rippé parfaitement en fichier FLAC, le fichier CUE permet de pouvoir graver plus tard un CD audio qui est la réplique exacte de celui d'origine, en incluant l'ordre des pistes, prégaps, et CD-Text. Pourtant certaines données seront tout de même perdues, comme les informations de paroles, les graphiques d'un CD+G. Car ces informations ne sont pas incluses dans le fichier CUE. Ces données ne seront donc pas archivées.
FLAC est disponible pour pratiquement tous les systèmes d'exploitation.
Union européenne de radio-télévision (UER) a choisi le format FLAC pour son réseau Euroradio, pour la distribution audio de haute qualité.
Détails techniques
FLAC permet seulement les échantillons à virgule fixe, pas ceux à virgule flottante. Il peut manipuler n'importe quelles données audio PCM avec une profondeur d'échantillonnage de 4 à 32 bits par échantillon, n'importe quelle fréquence d'échantillonnage de 1 Hz à 1 048 570 Hz avec des incréments de 1 Hz, et n'importe quel nombres de canaux audio de 1 à 8. Les canaux peuvent être groupés comme dans le cas de la stéréo et des canaux 5.1 surround pour tirer parti de la corrélation intercanal pour augmenter la compression. FLAC utilise un CRC pour identifier les morceaux corrompus dans le cas de l'utilisation en streaming, mais aussi le hachage MD5 complet des données PCM brutes stockés dans leur en-tête de métadonnées STREAMINFO.
FLAC admet un paramètre de Golomb entre 0 et 16 pour le code de Rice, et jusqu'à 8 canaux audio et une large gamme de fréquence d'échantillonnage jusqu'à 192 KHz, avec des profondeurs d'échantillonnages variables. FLAC prend aussi en charge le Replay Gain.
FLAC est mis en œuvre dans libFLAC (une bibliothèque pour coder & décoder). Le programme flac (utilisable en ligne de commande), est le programme de référence qui utilise l'API libFLAC. Ce codec API est aussi disponible en C++ sous le nom de libFLAC++.
L'implantation de référence de FLAC peut-être compilée sur de nombreuses plateformes, incluant la plupart des Unix (tel que Linux, * BSD, Solaris et Mac OS X), Windows, BeOS, et OS/2.
Pour les métadonnées, FLAC utilise le même système que les métadonnées du format Vorbis.
Organisation de l'API
libFLAC API est organisée autour de flux, flux séparables et fichiers pour permettre d'améliorer l'abstraction du flux binaire de base de FLAC. La plupart des applications FLAC se limiteront à l'utilisation du codage/décodage en utilisant libFLAC à son niveau fichier.
L'API a subi des changements fondamentaux dans sa version 1.1.3 qui pose problème pour la compilation des lecteurs utilisant libFLAC. Personne ne sait à quelle vitesse les développeurs vont s'adapter à ces changements.
Références
- ↑ (en)FLAC Website
Voir aussi
Articles connexes
Liens externes
- (en) Site officiel
- (en) Accueil du projet FLAC sur SourceForge.net
- (fr) Twixo.org : Site (non-officiel) dédié à la compression FLAC
- (fr) Lire Fichier : Page descriptive de l'extension .FLAC
- Portail des logiciels libres
Catégories : Format ouvert | Codec audio | Algorithme de compression sans perte | Format de fichier audio | Logiciel libre sous licence GPL | Logiciel libre sous licence BSD
Wikimedia Foundation. 2010.