Je suis en train de nettoyer ma bibliothèque musicale et je suis bloqué pour me débarrasser de milliers d'albums avec un débit binaire <320kbps qui se sont accumulés là depuis des années. Vérifier le débit binaire des fichiers individuels et supprimer tout un dossier à la main est vraiment fastidieux. Peut-être que quelqu'un ici peut proposer une idée qui m'aiderait dans ce nettoyage ? J'aimerais ensuite n'avoir que des MP3 à 320kbps et des FLAC. Merci d'avance!
Réponses
Trop de publicités?Voici une approche en ligne de commande. Cela supprimera les répertoires ne contenant pas de fichiers .mp3
d'une qualité sonore supérieure ou égale à 320 kbps :
find /chemin/vers/Musique -type d -print0 |
while IFS= read -r -d '' dir; do
mp3=$(find "$dir" -type f -iname '*.mp3' | head -n 1);
[ -e "$mp3" ] && [[ $(mp3info -x "$mp3" | grep -oP '\d+(?=\s*kbps)') -lt 320 ]] &&
rm -rf "$(dirname "$mp3")";
done
Remarques
-
Cela supprimera les répertoires contenant au moins un fichier mp3 avec une qualité sonore inférieure à 320. Si un autre fichier avec la bonne qualité sonore existe dans le même répertoire, il sera également supprimé. Cette approche suppose que tous les fichiers dans un répertoire ont la même qualité sonore.
-
Cela ne fonctionnera pas avec les fichiers de qualité sonore variable.
-
Cela devrait fonctionner avec tout type de nom de fichier, y compris ceux contenant des espaces, des sauts de ligne ou même des barres obliques inverses.
-
Vous devrez peut-être installer
mp3info
:sudo apt-get install mp3info
-
Exécutez-le d'abord sur un répertoire de test.
Explication
-
find /chemin/vers/Musique -type d -print0
: trouve tous les répertoires sous/chemin/vers/Musique
et les affiche séparés par un caractère nul. Ceci est nécessaire pour gérer les noms de fichiers étranges. -
while IFS= read -r -d '' dir; do
: parcourt chacun des résultats defind
, les sauvegardant dans la variable$dir
. -
mp3=$(find "$dir" -type f -iname '*.mp3' | head -n 1);
: sauvegarde le nom du premier fichier mp3 de ce répertoire dans$mp3
. -
[ -e "$mp3" ]
: si ce fichier existe. Cela est nécessaire pour sauter les répertoires sans fichiers mp3. -
[[ $(mp3info -x "$mp3" | grep -oP '\d+(?=\s*kbps)') -lt 320 ]]
: cela vérifie le taux de bits de$mp3
. Il exécutemp3info
, recherche le taux de bits et vérifie s'il est inférieur à320
. -
rm -rf "$(dirname "$mp3")";
: supprime le répertoire contenant le fichier mp3. Cela ne sera exécuté que si son taux de bits est inférieur au taux souhaité.
À partir du commentaire de @DavidFoerster, j'utiliserais Banshee.
Importez tous vos fichiers multimédias du dossier (ou même des partitions entières) que vous souhaitez en allant dans médias
-> importer des médias
et choisissez des dossiers.
Une fois que tous vos médias ont été importés, faites un clic droit sur la barre des colonnes (comme montré ci-dessous dans la capture d'écran) et sélectionnez Débit binaire
. Ensuite, cliquez sur le nom de la colonne pour les ordonner par cette colonne.
Vous pouvez ensuite sélectionner le débit binaire que vous souhaitez (dans votre cas 320), faire défiler vers le bas, appuyer sur Maj et cliquer sur la dernière chanson. Ensuite, faites un clic droit sur les chansons sélectionnées et choisissez Supprimer du lecteur
.