Meta-Daten in Sounds auslesen (MP3...)

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Benutzeravatar
Piwo
Beiträge: 27
Registriert: 05.08.2012 22:40

Meta-Daten in Sounds auslesen (MP3...)

Beitrag von Piwo »

Hi Leute,

Für die Software an der ich gerade arbeite muss aus einer Liste bestehend aus Sound und Musikdateien (überwiegend mp3-format) die meta-Daten auslesen (Interpret, Titel, Album, Jahr...) so viele dieser Daten wie möglich, bestenfalls aber alle vorhandenen.
Meine Frage nun: gibt es funktion oder library die ich nutzen kann, oder muss eine eigene Funktion schreiben die die mp3-datei decoded und anschließend aus dem HEX-Code der Datei sämtliche vorhandenen Meta-Daten filtert?

Danke im vorraus :)
Andreas21
Beiträge: 390
Registriert: 30.08.2004 09:05
Computerausstattung: Desktop
Windows 10 Pro x64
CPU: AMD Ryzen 5 2600 3.40 GHz
Ram: 16GB RAM
Grafik: NVIDA Geforce 1060
PB: 5.72 X86/X64
Wohnort: Heidelberg

Re: Meta-Daten in Sounds auslesen (MP3...)

Beitrag von Andreas21 »

Windows 10 x64 Pro - PB 5.61 X64 / x32 - PB 4.6 x32
Benutzeravatar
Piwo
Beiträge: 27
Registriert: 05.08.2012 22:40

Re: Meta-Daten in Sounds auslesen (MP3...)

Beitrag von Piwo »

habe mir die Threads, die Details zu ID3-Tags angeguckt und einige verschiedene Vorgaben auch ausprobiert. Mein problem nun ist dass die jeweiligen Codes bei einigen MP3-Dateien funktionieren, bei anderen widerrum nicht... und andere Codebeispielen funktionieren umgekehrt bei den anderen, und bei den ersten wieder nicht...
Da ich mir keinen Reim darauf machen konnte habe ich mir diverse MP3-Dateien mal auf hexadezimaler ebene angeguckt und festgestellt dass auch wenn nahezu alle mit "ID3" beginnen, ihr titel, interpret etc. in vollkommen unterschiedlichen abständen stehen.
In keiner der dateien scheint auch nur irgendeine Art Standardisierung vorhanden zu sein... Dennoch schaffen es sämtliche Musikprogramme erfolgreich die Daten aus JEDER MP3 Datei zu isolieren (sofern sie welche hat)..
Mir ist jedoch in allen Threads und allen Codebeispielen die ich gesehen hab noch nicht aufgegangen wie man auf einen Algorithmus kommt, welcher alle diese MP3-dateien richtig scannt...
Salk
Beiträge: 6
Registriert: 12.12.2012 20:46

Re: Meta-Daten in Sounds auslesen (MP3...)

Beitrag von Salk »

Für MP3-Dateien gibt es 2 gängige Tag-Typen.
ID3v1: Die stehen am Ende der Datei und sind genau 128 Bytes lang. Diese Auszulesen ist ziemlich einfach.
ID3v2: Das sind diejenigen, die meist am Anfang der Datei stehen und mit "ID3" anfangen. Diese sind, wie du schon erkannt hast, dynamisch aufgebaut, was den Vorteil hat, dass die einzelnen Informationen so lang sein können wie sie wollen. Diese Informationen auszulesen ist schon etwas schwieriger. (Diese Tags werden übrigens nochmal in 3 verschiedene Versionen unterteilt, die untereinander nur bedingt kompatibel sind.)

Informationen zu den ID3-Tags findest du auf http://id3.org.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Meta-Daten in Sounds auslesen (MP3...)

Beitrag von ts-soft »

PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Piwo
Beiträge: 27
Registriert: 05.08.2012 22:40

Re: Meta-Daten in Sounds auslesen (MP3...)

Beitrag von Piwo »

Danke für eure antworten funktioniert nun alles.
Habe im Grunde nun eine Prozedur, welche erst versucht v1 anzuwenden, bei fehler mit v2 fortfährt und wenn auch das fehlschlägt hat die mp3 entweder keine oder unbekannte tags, getestet und funktioniert :)
Antworten