Intégrité & discontinuités

Signature MD5 FLAC

Le FLAC peut contenir une signature de son audio d’origine. FlacCompagnon décode le son, recalcule sa signature et compare les deux pour repérer une éventuelle altération.

Comment lire le résultat

MD5 OK signifie que l’audio correspond à la signature. Cela ne garantit pas qu’il provient d’un enregistrement sans perte. Modifier les tags ou la pochette ne change pas cette signature audio.

Pour aller plus loinMéthode, limites, vérifications et sources

L’état MD5 FLAC compare l’audio décodé à la signature stockée dans le bloc de métadonnées STREAMINFO. Il vérifie l’intégrité, pas la qualité, le caractère sans perte de la source ou sa provenance.

Calcul#

La signature FLAC porte sur les échantillons audio non encodés, pas sur les octets du fichier .flac. Pendant le décodage, FlacCompagnon reçoit les entiers bruts et hache exactement la séquence définie par le format : canaux entrelacés, échantillons signés en complément à deux, chacun codé sur ceil(bits per sample / 8) octets en petit-boutiste.

Cela évite un aller-retour en flottant et rend la comparaison équivalente au contrôle audio de flac -t. La même passe alimente les analyses courantes ; aucune seconde passe de décodage n’est nécessaire pour le MD5. Tags, images et modifications des octets du conteneur n’entrent pas dans cette signature.

États#

ÉtatSignification
MD5 OKSignature présente et identique au calcul sur l’audio décodé
MD5 MISMATCHSignature différente ; corruption ou encodeur non conforme possibles
No MD5 signatureSignature entièrement nulle dans STREAMINFO, sans comparaison possible
MD5 present (unverified)Signature présente, mais vérification désactivée
MD5 check errorDécodage complet impossible pour cette vérification

Un fichier peut rester MD5 OK alors que son MD5 ou CRC32 de fichier change après retagage. Inversement, une somme de contrôle du fichier peut être identique sur deux copies alors que la signature audio FLAC est absente. Les empreintes de fichier répondent à une autre question.

Limites et vérification#

Ce contrôle concerne seulement le FLAC. Un FLAC intact peut contenir une source avec perte, suréchantillonnée ou écrêtée. Le MD5 ne certifie pas l’historique de l’enregistrement.

cargo test -p flaccompagnon-core decode::flac
cargo test -p flaccompagnon-core flac_md5
flac -t /path/to/file.flac

Comparez le résultat de l’outil de référence flac -t à celui de l’application.

Référence : RFC 9639, format FLAC.

Vous intégrez le moteur dans un logiciel ?

Consulter l’API Rust dans Rustdoc ↗