[C++][Wasauchimmer] ID3 Tags von vielen MP3s ändern

Spartaner117

Lt. Commander
Registriert
Feb. 2005
Beiträge
1.299
Hi,

ich steh gerade vor einem Problem, und zwar hab ich ziemlich viele MP3-Dateien, bei denen die ID3-Tag Informationen gefüllt werden sollen.
Die Daten dazu bezieh ich aus dem Dateinamen, welchen Auszulesen glaub ich nicht das Problem darstellt.

Angenommen, ich hab alle nötigen Daten in einer Struktur gespeichert. Wie bekomm ich die nun am besten in den Tag-Header? Ich hab wirklich keinen Ansatz, und Google hat auch nichts passendes parat.

Ich hab mal C++ in den Titel geschrieben, weil ich mit der Sprache relativ bewandert bin, aber das ist auch die einzige Programmiersprache die ich kann und die sich für diese Zwecke eigenet. Falls ihr einen besseren Lösungsansatz als ich habt (ich hab nämlich keinen), dann postet ihn bitte.

Danke im voraus.
 
Hallo Spartaner117,

es gibt bei Code-Project eine C# Klasse mit der du deine ID3Tags verwalten kannst.
Wenn du also in MS C++ Programmierst, könntest du die benutzen.

Grüße

krizzel
 
Also ich würde zwei Ansatzpunkte haben:

1.) Du schaust, ob du eine gute Dokumentation zum mp3-Dateiformat hast bzw. den Headern und liest einfach den alten Header aus, ersetzt ihn durch deinen und schreibst dann den neuen Header plus die Daten des mp3 Files in eine neue Datei und schaust, ob es dann noch abspielbar ist (wenn möglich nicht mit dem PC, sondern irgendein billiger Autoradio etc. Die sind da bei den Anforderungen an das Format etwas genauer.

2.) Du schaust, ob du z.B. auf sourceforge ein CLI Tool zum Bearbeiten der mp3 Tags findest und rufst das mit den nötigen Parametern auf. Das wird zwar etwas langsamer sein, weil du jedes Mal eine Datei ausführen musst, aber dafür wahrscheinlich deutlich einfacher.

3.) Du schaust, ob du irgendwo eine vordefinierte Bibliothek dafür findest. Das wäre natürlich das Einfachste und Schnellste, wird aber schwerer zu finden sein. Hier könntest du jedoch eventuell fündig werden: http://www.codeproject.com/
 
Wie wäre es hiermit?
Available versions: 3.8.3-r6 {doc}
Installed versions: 3.8.3-r6(08:56:02 PM 08/21/2007)(-doc)
Homepage: http://id3lib.sourceforge.net/
Description: Id3 library for C/C++

oder hiermit?
Available versions: 0.15.0b 0.15.1b {debug}
Installed versions: 0.15.1b(01:49:14 AM 08/13/2007)(-debug)
Homepage: http://www.underbit.com/products/mad/
Description: The MAD id3tag library

Die beiden Bibliotheken hab ich auf die Schnelle in eix gefunden.
Gibt aber sicher noch mehr.
 
Zuletzt bearbeitet:
Ich denke er will es automatisch ansteuern und nicht manuell, weil da wird man ja alt.

Ich hätte da z.B. eine gute Anwendung:
Alle mp3s in meinem mp3 Ordner durchgehen (ca. 50K). Der erste Subordner gibt den Interpreten an, der zweite das Album (falls vorhanden, ansonsten "Unknown") und da drin alle Titel alphabetisch sortieren und die Track Nummern durchgehend nummerieren. Damit würde mein Handy schön funktionieren, weil das die dämlichen ID3 Tags ausliest und nicht die Ordnerstruktur und die Titel innerhalb eines Albums sind dann auch schön sortiert.

Nebenbei sollte eine schöne Fortschrittsanzeige da sein, die mir anzeigt, wie viele mp3s er insgesamt hat und wieviele er schon bearbeitet hat. Der über Luxus wäre auch noch beim Zählen der mp3s regelmäßig zu aktualisieren und Angaben zur Dateigröße.

Ich nehme nicht an, dass das mp3 Tag kann;)

So ein ähnliches Tool habe ich mir zum Erstellen meiner m3u Dateien gemacht. Das ist wirklich praktisch, aber deutlich einfacher.
 
so ganz klar ist mir zwar nicht, was ihr machen wollt, aber so wie ich es verstanden hab ist das für mp3tag ein kinderspiel. ich hab mehr als 200gb an musik (alles gekauft versteht sich ;) und bei mir sind alle titel mit album und id-tag 1a mit mappe. macht zwar bissl arbeit wenn man nene neues album hinzufügt, aber deine library dankst dir....
 
Ich habe auch fast 43.000 mp3s. Den größten Teil davon habe ich einfach bei der LAN Party kopiert. Da wird einfach deren Ordner über meinen gezogen und schon habe ich 10K mehr usw.
Ich habe da absolut keine Lust, das händisch irgendwie zu sortieren oder nachzubessern. Die Lieder, die ich häufiger höre, von denen weiß ich eh, wie der Ordner heißt und der Rest liegt einfach irgendwo drin. Wenn ich etwas suche, dann nur per Windows Suche bzw. die m3u Dateien habe ich mit einem selbst erstellten Tool erzeugt. Ich werde es mir sicher nicht antun, die alle einzeln zu sortieren. Da sitze ich ja ein paar Wochen. Zum manuellen Ändern von MP3 Tags gibt es eh Tools wie Sand am Meer, die alle mehr oder weniger dasselbe können. Interessant wäre es, wenn man das automatisieren könnte und zwar nicht von mp3 Tag auf Namen, weil das stimmt nie, sondern umgekehrt. Zumindest die Track Nummern könnte man automatisch generieren.
 
Amarok kann das und es organisiert einem die Sammlung auch sonst sehr übersichtlich.
Für Leute, die gern einen etwas überladenen Audioplayer hinnehmen, würde ich den sehr
empfehlen.
 
Mit Winamp kann man das auch machen, einfach alle Lieder (natülich keine 43.000) in die Playliste ziehen, alles markieren, rechte Maustaste >dann auf senden an>>Autotag, dauert bei vielen Liedern zwar etwas, aber alle werden ausgelesen und wenn man dann auf Änderungen übernehmen drückt (wenn alles ausgelesen wurde), sollte der Tag stimmen.
 
asdfman schrieb:
Amarok kann das und es organisiert einem die Sammlung auch sonst sehr übersichtlich.
Für Leute, die gern einen etwas überladenen Audioplayer hinnehmen, würde ich den sehr
empfehlen.

Na toll. Gibt es da auch eine Version, die unter Windows direkt funktioniert, oder muss man den Player immer in einer virtuellen Maschine laufen lassen?

werkam schrieb:
Mit Winamp kann man das auch machen, einfach alle Lieder (natülich keine 43.000) in die Playliste ziehen, alles markieren, rechte Maustaste >dann auf senden an>>Autotag, dauert bei vielen Liedern zwar etwas, aber alle werden ausgelesen und wenn man dann auf Änderungen übernehmen drückt (wenn alles ausgelesen wurde), sollte der Tag stimmen.

Das ist gerade das, was ich nicht brauchen kann. Da füllt er mir auch wieder irgendeinen Mist ein und wenn ich bei meinem Handy den mp3 Player öffne, dann habe ich erst wieder 10 Ordner mit Eminem, Eminem feat. 50 Cent, Eminem feat. Dre usw. Ich will, dass er den Ordnernamen her nimmt und das auf die Tags überträgt. Erste Ebene Interpret, zweite Ebene Album und in der dritten Ebene die Tracks einfach nur alphabetisch sortieren. Dann habe ich wieder meine normale Ordnerstruktur dort und nicht alles verwurschtelt.
 
Zurück
Oben