Musiksammlung mit vbrfix
fixen
[Dieser Artikel ist schon recht alt. Eine Alternative wird hier beschrieben (mp3val)]
Das Tool vbrfix
repariert MP3-Dateien, die mit variabler Bitrate erstellt wurden, und bei denen der Encoder den Dateihead falsch geschrieben hat. Man erkennt solche “kaputten” VBR-MP3-Dateien beispielsweise daran, dass die Abspielgeräte falsche Spiellängen anzeigen. Mit vbrfix wird der Header bei Bedarf neu geschrieben. Ich habe hier ein kleines Python-Script geschrieben, welches ich auf meine Musiksammlung loslasse. Das Script wühlt sich rekursiv durch die Ordner, und wendet auf alle MP3-Dateien das Tool vbrfix an. Dieses wiederum erkennt selbstständig, ob die Datei überhaupt eine VBR-MP3-Datei ist und repariert automatisch den Header.
sudo apt-get install vbrfix
Das Script kann an beliebiger Stelle abgelegt werden, ich persönlich hab für sowas einen eigenen bin-Ordner in meinem Userverzeichnis.
touch ~/bin/vbrfix-all.py
chmod +x ~/bin/vbrfix-all.py
nano ~/bin/vbrfix-all.py
Die Datei bekommt dann folgenden Inhalt (wesentlich optimiert von User becha aus den Kommentaren ):
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import sys
from subprocess import call
'''Function starts "vbrfixing"'''
def vbrfix_music():
for music_file in file_list:
if (music_file.endswith(".mp3")) or (music_file.endswith(".MP3")):
call(['vbrfix', music_file, r"%s"%(music_file)])
file_list = []
'''Are there any arguments? If no, "rootdir" is the current directory'''
try:
rootdir = sys.argv[1]
except IndexError:
rootdir = '.'
for root, sub_folders, files in os.walk(rootdir):
for element in files:
file_list.append(os.path.join(root,element))
print "Folgende Dateien werden von vbrfix bearbeitet:"
for music_file in file_list:
print music_file
answer = raw_input(u"Ist dies in Ordnung? (y/n) \n")
if answer == "y":
vbrfix_music()
os.remove('vbrfix.log')
os.remove('vbrfix.tmp')
else:
print "Zum Beenden Enter drücken!"
raw_input()
Aufgerufen wird das Script nun per:
cd ~/bin
./vbrfix-all.py PFAD.ZUR.MUSIKSAMMLUNG
wobei der Pfad zur Musiksammlung entsprechend mitangegeben werden muss. Bei mir funktioniert das einwandfrei, dennoch solltet ihr unbedingt VORHER EIN BACKUP eurer Musiksammlung anlegen!
[Dieser Artikel ist schon recht alt. Eine Alternative wird hier beschrieben (mp3val)]