FLAC

Qu’est-ce qu’un fichier FLAC ?

Compression sans perte, pour environ la moitié de la taille d’un WAV. Le choix pour archiver de la musique.

Ce qu’est FLAC

FLAC est un codec : l’encodage lui-même, et non la boîte dans laquelle il voyage. Il est utilisé pour l’archivage.

L’extension est .flac et le nom complet Free Lossless Audio Codec. L’un et l’autre comptent moins que ce que le fichier peut contenir, et c’est le sujet du reste de cette page.

D’où vient FLAC

Xiph.Org l’a publié en 2001. La spécification est RFC 9639.

L’âge est utile à connaître pour une raison pratique : plus un format est ancien, plus les programmes ont eu le temps de l’apprendre.

La spécification est publique

Elle est publiée intégralement : n’importe qui peut l’implémenter à partir du document plutôt qu’en l’observant, et c’est pourquoi ce format apparaît dans tant de programmes et pourquoi des fichiers écrits il y a vingt ans s’ouvrent encore. Une spécification publiée n’est pas pour autant libre de redevances : quand un format enveloppe un codec, les brevets sont une question à part, que la norme ne tranche pas.

Rien n’est jeté

FLAC enregistre son contenu à l’identique. Le réenregistrer ne change rien : vous pouvez l’ouvrir, le modifier et le réenregistrer autant de fois que vous voulez sans accumuler de dégâts, et c’est ce qui en fait un format de travail plutôt qu’un format de livraison.

Les couleurs qu’il sait décrire

Jusqu’à 32 bits par canal.

Plus de huit bits par canal, c’est ce qui empêche un dégradé de se casser en marches quand on le retouche : cela compte dans un fichier de travail et presque jamais dans un fichier fini.

Combien de canaux audio

Jusqu’à 8. Deux couvrent la stéréo et c’est ce qu’est presque tout ; au-delà de deux on est dans le son multicanal, et c’est la partie la plus susceptible d’être repliée en convertissant vers un format qui ne la définit pas.

Ce qu’il fait pour se protéger

FLAC porte une somme de contrôle, pour qu’un fichier abîmé soit détecté au lieu d’être mal lu en silence.

Une somme de contrôle ne répare rien. Elle vous dit que le fichier est abîmé, ce qui fait la différence entre l’apprendre maintenant et l’apprendre de la personne à qui vous l’avez envoyé.

Ce qui ouvre FLAC

Audacity, foobar2000 et VLC le lisent, comme la plupart des programmes du même genre.

Quand un fichier ne s’ouvre pas, le format est rarement en cause : le plus souvent, c’est le programme qui est plus ancien que lui. Convertir vers quelque chose de plus ancien est le contournement fiable, et c’est à cela que sert le reste de ce site.

L’ouvrir dans un navigateur

Tous les navigateurs actuels le lisent.

Vous pouvez donc le poser sur une page ou l’attacher à un message sans vous demander ce que le destinataire a installé.

Ce qu’il peut porter en plus du contenu

FLAC peut contenir les propriétés du document.

Que quoi que ce soit survive à une conversion dépend entièrement de la cible, et la réponse honnête est le plus souvent « une partie ».

C’est un format de travail

FLAC est fait pour être ouvert et modifié. Gardez le fichier dans ce format tant que le travail dure, et exportez depuis lui chaque fois qu’une version finie est nécessaire.

Sans perte veut dire bit-identique, et c’est vérifiable

Décompressez un FLAC et vous retrouvez exactement les échantillons qui sont entrés — chacun d’eux, les mêmes valeurs dans le même ordre. Ce n’est pas une affirmation sur le son ; c’est une affirmation sur la donnée, et elle peut être vérifiée en comparant la sortie décodée à l’original octet par octet. Le test est mécanique, pas esthétique, et il donne une réponse claire.

C’est toute la distinction avec MP3, AAC et Opus, qui modélisent ce que l’oreille humaine manque et le suppriment. Ce sont de bonnes ingénieries et la perte est en général inaudible, mais elle est permanente. FLAC ne fait pas un tel compromis : il compresse comme le fait ZIP, en trouvant de la redondance, pas en décidant de ce que vous ne remarquerez pas. L’analogie avec la compression sans perte de fichiers est exacte, et la conséquence en est que la qualité du résultat ne dépend pas du contenu mais uniquement de la redondance présente dans le signal.

Environ la moitié de la taille d’un WAV, et pourquoi pas moins

Un FLAC se situe typiquement entre 50 et 60 % du WAV équivalent. Un album de CD qui occupe 600 Mo non compressé devient quelque chose comme 300 à 350 Mo. C’est une économie réelle et c’est loin de ce qu’obtient un codec avec perte, où le même album fait 60 Mo.

Le plafond est mathématique plutôt qu’une limite d’implémentation. L’audio n’est pas très répétitif, et la compression sans perte ne peut exploiter que la redondance réelle. Tout ce qui prétend une compression sans perte audio à un dixième de la taille n’est soit pas sans perte, soit pas de l’audio. La compression sans perte d’un texte peut atteindre cet ordre de grandeur parce que la langue a une structure forte ; l’audio n’a pas la même prévisibilité, et c’est ce qui fixe la limite.

Libre, ouvert, et c’est pour cela qu’il a gagné

FLAC a été publié en 2001 par Josh Coalson et est maintenu par la Xiph.Org Foundation. La spécification du format et l’implémentation de référence sont toutes deux libres, sans brevets revendiqués et sans licence à négocier, ce qui est un détail qui compte dans des secteurs où chaque format peut être chargé d’un coût caché.

Apple Lossless — ALAC — fait le même travail à des tailles très proches et était propriétaire jusqu’en 2011. FLAC a eu une décennie d’ouverture en plus, ce qui explique qu’il soit devenu le défaut pour l’archivage musical, les outils de rip de CD, les magasins de téléchargement hi-res et tous les lecteurs de musique open source, pendant qu’ALAC restait largement cantonné à l’écosystème Apple. L’avance a été déterminante, et l’ouverture a fait le reste.

Le niveau de compression change le fichier, pas l’audio

Les encodeurs proposent des niveaux de 0 à 8. L’audio qui en ressort est identique à tous — c’est sans perte, donc il doit l’être. Ce qui change, c’est l’intensité avec laquelle l’encodeur cherche la redondance, et donc le temps d’encodage et la taille du résultat. Le compromis est donc entre vitesse de création et taille finale, sans aucune incidence sur la qualité audio.

L’écart entre le réglage le plus rapide et le plus lent n’est que de quelques pour cent de la taille du fichier, tandis que la différence de temps est substantielle. Le niveau 5 est le défaut pour de bonnes raisons, et le niveau 8 n’intéresse principalement que les personnes qui archivent une grande bibliothèque en une fois. La vitesse de décodage est essentiellement la même quel que soit le réglage, ce qui fait que le coût d’un encodage agressif est payé une seule fois, à la création, et pas à chaque lecture.

Ce qui le lit réellement

Quasiment tout sauf Apple, historiquement. Android le supporte en natif depuis des années, Windows et Linux le gèrent, tous les navigateurs le jouent, VLC et tous les lecteurs sérieux le lisent, et la plupart du matériel audio réseau moderne s’y attend. L’omniprésence est telle qu’un format hi-res qui ne serait pas lisible en FLAC serait marginal par construction.

Apple a longtemps été le retardataire — iTunes et iOS ne jouaient pas le FLAC pendant plus d’une décennie, ce qui est la principale raison pour laquelle il n’a jamais touché le grand public. Les versions récentes d’iOS le gèrent dans l’app Fichiers, même si la bibliothèque Musique préfère toujours ALAC. Si une bibliothèque FLAC doit vivre dans Apple Music, convertir en ALAC est la voie sans perte vers l’autre côté, sans changement de qualité dans un sens ou dans l’autre.

Le taggage est une vraie force

FLAC utilise les commentaires Vorbis — des paires nom-valeur en forme libre, sans liste de champs imposée et sans contrainte de taille. Tout peut être stocké, y compris des valeurs longues, et contrairement à ID3 il n’y a pas de structure héritée à contourner. Cette souplesse est précieuse pour des usages non musicaux ou pour des champs personnalisés que l’application de bibliothèque sait interpréter.

La pochette a aussi un endroit propre ici, dans un bloc image dédié plutôt que glissée dans un champ de commentaire comme dans Ogg. Combiné à une somme de contrôle embarquée de l’audio, cela rend FLAC particulièrement adapté à une bibliothèque qui doit rester organisée pendant des années, et qui doit pouvoir détecter une corruption silencieuse avant qu’elle ne devienne un problème audible.

Il se vérifie lui-même

Quasiment chaque FLAC stocke une signature MD5 de l’audio non compressé d’origine dans son en-tête, et un décodeur peut vérifier que ce qu’il a produit correspond. Si un fichier a été corrompu sur un disque défaillant ou lors d’un transfert raté, la vérification échoue et le dit. Seize octets à zéro y sont licites et signifient que l’encodeur ne connaissait pas la signature — l’encodeur de référence les écrit pour `--no-md5-sum` et pour tout ce sur quoi il n’a pas pu revenir.

C’est pourquoi FLAC est le format de choix pour archiver une collection de CD : une bibliothèque peut être vérifiée en bloc des années plus tard, et la pourriture silencieuse de bits est détectable plutôt que découverte quand un morceau passe mal. Il détecte les dommages ; il ne les répare pas, et c’est une distinction qui compte — une vérification qui passe ne dit rien de la qualité d’origine, seulement que le fichier n’a pas été modifié depuis.

Convertir pour en sortir, et le garder

En MP3 ou AAC quand la destination est un téléphone avec peu de stockage, une voiture, ou tout ce qui ne lira pas du FLAC — c’est le cas normal et il n’y a rien de mal à cela. Utilisez un bitrate élevé ; la source est parfaite, donc la seule perte est celle que vous choisissez.

En WAV quand un outil exige une entrée non compressée, ce que font beaucoup d’éditeurs audio et de pipelines de traitement de la parole. En ALAC quand la bibliothèque doit vivre dans Apple Music, ce qui est sans perte vers sans perte et ne change rien. Et gardez le FLAC dans tous les cas — c’est la copie d’archive, et tout fichier avec perte qui en sort peut être refait, alors que l’inverse est impossible. La conversion est une projection ; l’archive reste l’original.

Les données, au même endroit

Identifiants et origine du format FLAC.
Extension.flac
Type de médiaaudio/flac
Publié parXiph.Org
Première publication2001
SpécificationRFC 9639