Open source · Rust + Tauri · macOS · Windows · Linux

Votre lossless est-il vraiment lossless ?

FlacCompagnon examine vos fichiers audio : authenticité, loudness, stéréo, dynamique et intégrité. Dans une application native ou depuis le terminal, retrouvez les mesures utiles pour comprendre votre bibliothèque.

Gratuit · Application MIT · Core MPL-2.0 · L’analyse ne modifie jamais vos fichiers

▾

Aperçu

L'analyse en un coup d'œil

Déposez un dossier ou des fichiers : chaque piste est décodée et passée au crible en parallèle. Un tag coloré par détection — et au survol, l'explication du verdict.

FlacCompagnon
4 fichiers 2 clean 1 upsamplé 1 transcodé
Fichier Format Durée Échantillonnage Bits réels Cut-off Détections MD5
01 · So What.flac FLAC 9:26 44.1k 16-bit 21.9 kHz (99%) Clean ✓ OK
02 · Studio Master.flac FLAC 4:11 96k 24-bit 22.0 kHz (46%) Upsampled ✓ OK
03 · Remaster 2019.flac FLAC 3:37 44.1k 16-bit 22.05 kHz (100%) Transcoded ✓ OK
04 · Acoustic Live.flac FLAC 5:02 44.1k 16-bit 18.6 kHz (84%) Clean — no MD5

Aperçu illustratif de l’interface — survolez les détections pour lire leur interprétation.

Détections

Trois détections indépendantes

Trois recherches indépendantes examinent la précision des échantillons, la bande de fréquences et les traces de codecs avec perte. Leurs méthodes et leurs limites sont expliquées dans la documentation.

Upscaled

Upscaling — fausse résolution

La mesure cherche les bits toujours inutilisés, puis une grille de précision inférieure sous de faibles résidus. Elle distingue une profondeur exacte d’une estimation, affichée avec ≈.

24 bits déclarés — les 8 bits bas sont vides

Upsampled

Upsampling — faux échantillonnage

Dans un fichier à plus de 48 kHz, l’analyse recherche une bande haute durablement vide. Cette forme est compatible avec une source de fréquence inférieure, mais aussi avec un master naturellement limité ou filtré.

Le mur du cut-off à 22,05 kHz

Transcoded

Transcoding — source lossy

L’analyse recherche les grilles de quantification que peuvent laisser l’AAC et le MP3 dans l’audio décodé. Leur présence est évaluée statistiquement, avec une calibration encore préliminaire.

Les coefficients « snappent » sur la grille AAC

Une détection est un indice, pas un certificat d’origine. Des traitements ou des choix artistiques peuvent imiter ou masquer une signature. Clean signifie qu’aucun détecteur n’a levé d’alerte. Croisez les mesures, le spectrogramme et l’écoute.

Toutes les analyses

Chaque mesure répond à une question.

Explorez les analyses par famille. Chaque lien mène à une explication simple, puis à la méthode détaillée, aux limites et aux exemples de test.

Le format réel est également lu dans l’en-tête du fichier, indépendamment de son extension. Les badges Hi-Res et DSD résument les caractéristiques du conteneur et les résultats disponibles.

Les colonnes avancées sont masquées par défaut après la signature MD5. Affichez celles qui vous intéressent dans le choix des colonnes de l’application. Un tiret signifie que la mesure est indisponible, pas qu’elle vaut zéro.

Spectrogrammes

Voir ce que les chiffres suggèrent

Un clic génère un spectrogramme haute résolution par piste, avec axe de fréquences gradué jusqu'à la fréquence de Nyquist (la moitié de l'échantillonnage, soit 22,05 kHz pour un CD à 44,1 kHz). Le cut-off se voit à l'œil nu.

Rendu via ffmpeg, détecté automatiquement sur votre système.

Un dossier spectrograms/ est créé dans chaque dossier contenant des fichiers audio, et un PNG est généré par piste — uniquement si vous cliquez sur le bouton « Generate spectrograms ».

Plus rapide encore : écoutez. Un clic sur la vignette d'une ligne lance la lecture, avec une barre de transport en pied de liste. Ce n'est pas un lecteur audio à proprement parler — juste de quoi confronter un verdict à votre oreille sans quitter l'application.

Tags

Corriger, pas seulement constater

Sélectionnez une ou plusieurs pistes — un volet d'édition s'ouvre à gauche, avec les champs habituels : titre, artiste, album, artiste d'album, compositeur, année, genre, n° de piste et de disque, commentaire, compilation. C'est le seul endroit de l'application qui écrit dans vos fichiers, et uniquement quand vous cliquez sur Save.

Édition par lot

Sélectionnez tout un album : chaque champ affiche la valeur commune ou un badge « plusieurs valeurs ». Seuls les champs que vous modifiez sont écrits — corriger l'album de 12 pistes n'écrase jamais leurs titres respectifs. Un bouton dédié renumérote la sélection de 1 à N d’un coup, dans l’ordre du tableau.

Pochettes

Choisissez le rôle de l’image : face avant, dos, livret… La sélection affiche l’image correspondante, et les imports ou exports suivent ce rôle. La proportion originale est conservée ; cliquez pour voir l’image en grand.

Recherche en ligne

Le bouton Search online interroge MusicBrainz et, si vous fournissez votre jeton personnel, Discogs. Si le fichier porte déjà un identifiant MusicBrainz (tagué par Picard), la bonne release est trouvée directement, sans recherche approximative.

Les résultats en ligne pré-remplissent le volet : rien n'est écrit tant que vous n'avez pas relu et cliqué sur Save — et Reset annule tout. C'est la seule fonction qui utilise le réseau, et jamais sans un clic de votre part.

Conversion

Convertir sans casser le rangement

Un volet dédié, symétrique de celui des tags : déposez-y des pistes ou des dossiers, choisissez un format, et l'arborescence d'origine est reproduite à l'identique sous le dossier de destination. Les fichiers importés pour la conversion ne rejoignent jamais le tableau d'analyse — les deux listes sont indépendantes.

FLACsans perte Opuslibre de droits MP3compatible partout WAVPCM 16 bits

Opus et MP3 proposent un débit ; FLAC et WAV n'en ont pas à choisir. Le WAV produit est fixé en 16 bits, quelle que soit la profondeur de la source.

Une case à cocher copie aussi tout ce qui n'est pas de l'audio — pochettes, playlists, spectrogrammes déjà générés — à la même place dans l'arborescence copiée.

Vos fichiers d'origine ne sont ni déplacés ni modifiés : la conversion écrit ailleurs, toujours. La lecture en cours se met en pause pendant le traitement (les encodeurs occupent tous les cœurs) et reprend ensuite toute seule. Cancel arrête le lot et efface les fichiers déjà écrits par celui-ci — sans toucher à ce que le dossier contenait avant.

Export

Emportez vos résultats

Un clic sur Save… écrit deux fichiers, même nom, même dossier : un .csv — une ligne par piste, toutes les colonnes de l'analyse, prêt pour un tableur — et un .json qui conserve l'analyse complète, y compris le détail de chaque détection. Le nom et l'emplacement proposés reprennent le dossier analysé.

Déposez un .json déjà exporté sur la liste pour recharger le tableau tel quel — aucun fichier audio n'est redécodé. Pas de bouton dédié : c'est le même geste que déposer un dossier.

Export playlist… écrit une playlist M3U dans l'ordre affiché à l'écran — y compris après avoir réorganisé les lignes à la souris. Au choix : M3U étendu (.m3u8, avec les durées et « Artiste — Titre ») par défaut, ou M3U simple (.m3u, les chemins seuls).

Astuce : la corbeille en bout de ligne écarte un fichier de la liste — il ne figurera dans aucun des deux fichiers exportés.

Aussi dans votre terminal

Le même moteur. Une simple commande.

Analysez un fichier ou un dossier, choisissez les résultats affichés et enregistrez un rapport JSON que l’application peut rouvrir. La commande s’appelle flaccompagnon.

Installer et utiliser la CLI →
flaccompagnonExemples

Afficher le loudness et la phase

flaccompagnon "Music/Album" \
  --analysis loudness,phase

Enregistrer le rapport complet

flaccompagnon "Music/Album" \
  --json "Music/Album/FlacCompagnon.json"
--analysis filtre l’affichage. Le calcul et le JSON restent complets.

Une bibliothèque, plusieurs usages

Votre musique, avec Aède.

Aède est un catalogue musical écrit en Rust pour organiser vos pistes et leurs métadonnées. Il intègre le moteur de FlacCompagnon et peut enregistrer les rapports d’analyse dans les dossiers des groupes ou des albums, au choix.

Découvrir Aède ↗

Vous développez en Rust ? Le core est réutilisable sans dépendance à Tauri.

Rustdoc · API Rust ↗

Pipeline

Comment ça marche

Glissez-déposez un dossier ou des fichiers — ou choisissez-les avec le bouton d'import. Chaque piste est décodée, puis passée en revue par une batterie d'analyses, et le verdict s'affiche.

1 dossier déposé
2 décodage · symphonia
3 analyse streaming
FFT ▸ cut-off AAC / MP3 ▸ grilles bits effectifs LUFS · phase · niveaux
4 table de résultats

Le moteur Rust est partagé par l’application, la CLI et Aède. Les mesures en continu et la vérification MD5 FLAC partagent le décodage ; la recherche des signatures de codecs peut demander un travail supplémentaire.

Téléchargement

Une petite app native

Installateurs construits par GitHub Actions pour les trois plateformes. Les archives de la CLI sont proposées séparément dans les releases qui les incluent.

ffmpeg n'est requis que pour les spectrogrammes et pour l'analyse de contenu des fichiers DSD — le reste de l'analyse s'en passe entièrement.

Pas de ffmpeg installé ? Consultez le README sur GitHub pour l'installer sur macOS, Windows ou Linux.

Références

J. Lacroix, Y. Prime, A. Remy & O. Derrien — « Lossless Audio Checker: A Software for the Detection of Upscaling, Upsampling, and Transcoding in Lossless Musical Tracks », AES 139th Convention, Paper 9416, New York, 2015.

O. Derrien et al. — « Detection of Genuine Lossless Audio Files: Application to the MPEG-AAC Codec », Journal of the AES, 2019.

FlacCompagnon est un projet indépendant. Les mesures et leurs limites sont documentées ; aucune détection ne constitue à elle seule une preuve de provenance.