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/

Passer de BlogSpirit à WordPress : nouvelle version de l’importeur !

Suite à un commentaire de Capripot, j’ai découvert son travail sur l’importeur BlogSpirit vers WordPress que j’avais moi-même repris à l’époque. Il a notamment corrigé les problèmes suivants :

* importation des article se basant sur la page complète de la liste des articles par catégorie
* « / » en trop à la fin de l’adresse ce qui empêchait l’import des articles d’une catégorie
* bug de version lors de l’import dans wordpress)
* script un peu plus bavard
* choix du nom au départ ou écriture du nom du blog dans NOM_SITE.txt
* dialog.rb renommé en import.rb pour plus de clareté
* non blocage du script à la fin
* correction de l’import des commentaires
* ajout d’un fichier LISEZ-MOI

Télécharger nouvelle version importeur BlogSpirit vers WordPress

Son site : http://www.capripot.com/

Et vous pouvez retrouver l’outil pour passer d’OverBlog à WordPress sur la page dédiée

[Code] Remplacer des || (double pipe) successifs

Ayant eu le problème récemment, je vous livre ce petit truc :

Expression régulière pour remplacer des || (séparés ou pas par des espaces) :

/(\|\|)(\s*\|\|)+/

La commande PHP résultante est :

$texte_sortant = preg_replace('/(\|\|)(\s*\|\|)+/', '||', $texte_entrant);

Petite explication rapide :

  • \|\| pour les deux barres verticales (on échappe les caractères spéciaux via \)
  • \s* pour « 0 ou plusieurs caractères d’espacement »
  • le * à la fin permet d’indiquer qu’on recherchera entre 0 et n fois la chaîne (\s*\|\|)

Il s’agissait à l’origine de code HTML épuré via strip_tags et avec des retours à la ligne remplacés par des || : donc on se retrouvait rapidement avec des trucs du style || || || || 🙂