Détecter des MP3 « tronqués » via sox

Depuis le crash violent de mon disque externe Network (LaCie) en 2012 et une récupération de fichiers dans la douleur, je me retrouvais avec des MP3 « tronqués » : ils faisaient bien leur taille initiale en nombre d’octets, mais à la lecture ils s’arrêtaient brutalement.

Les trier était certes faisable manuellement, mais sur quelques milliers l’opération devient particulièrement..reloue.

Comme tout bon développeur, j’ai trouvé une solution pour que la machine le fasse à ma place 🙂

Via mes contacts, et plus particulièrement Legz, j’ai testé la bibliothèque sox, qui permet de manipuler des fichiers audio (lecture, analyse, etc).

Après 2h de travail (le bash et moi ne sommes pas copains du tout), j’ai pondu ça :

En résumé :
– à l’aide de sox, on coupe le fichier à 0 secondes de sa fin
– vu que sox essaie vraiment d’aller à la fin de ce qui est lisible, sur un MP3 abimé, on a donc un fichier plus court
– on récupère la durée de ce fichier « plus court » et du fichier original, qu’on arrondit
– si la différence est sensible (> 10 secondes), on renomme le dit fichier pour l’identifier par la suite

Essai : http://blog.lahaut.info/2014/12/erreur-proftpd-killed-signal-15-sous-ubuntu-14-04/

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *