3-ID-Tag ermitteln

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Benutzeravatar
Maik81SE
Beiträge: 308
Registriert: Fr 30. Sep 2011, 14:07
OS, Lazarus, FPC: Debian 12 (L 3.0.0.3 FPC 3.2.2); Windows 10 (L 3.99.0.0 FPC 3.2.0)
CPU-Target: x86-64; arm; avr
Wohnort: Lübeck
Kontaktdaten:

3-ID-Tag ermitteln

Beitrag von Maik81SE »

Moin zsm,

ich bin gerade dabei meine Externe Platte einmal im Punkt Musik, Film und HS/HB zu Sortieren.
Ist ja wie alle wissen eine Heiden Arbeit.
Nun bin ich am überlegen, ob ich mir lieber ein Programm/Script schreibe, welches es für mich erledigt.

Dabei bitte ich euch um eure Meinungen.

Würdet ihr dies aus dem Kompletten Dateinamen oder lieber aus den enthalten Metadaten machen?

Logischer weise liegt es dabei auch Nahe, das ich mir einen eigenen Player schreibe der dies am ende mit übernimmt ;) und wenn ich Mega Bock drauf habe dazu eine Tool, welches alles (ogg, wma und co) in eine MP3 umwandelt
Aber erst mal alles Step by Step :D
Dateianhänge
Amarok.png

Code: Alles auswählen

label.caption:= 'gnublin.no-ip.info'
Debian 12 (L 3.0.0.3 FPC 3.2.2);
windows 10 (L 3.99.0.0 FPC 3.2.0)

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: 3-ID-Tag ermitteln

Beitrag von Mathias »

Ich würde für die Musik auf jeden Fall eine Ordnungsstruktur machen, ich habe es bei mir so:
Multimedia/Musik/Genre/Interpret/Album

Da ich dies schon von Anfang an gemacht habe, habe ich recht Ordnung mit meiner Musik.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

charlytango
Beiträge: 843
Registriert: Sa 12. Sep 2015, 12:10
OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
CPU-Target: Win 32/64, Linux64
Wohnort: Wien

Re: 3-ID-Tag ermitteln

Beitrag von charlytango »

Mathias hat geschrieben:Ich würde für die Musik auf jeden Fall eine Ordnungsstruktur machen, ich habe es bei mir so:
Multimedia/Musik/Genre/Interpret/Album

Da ich dies schon von Anfang an gemacht habe, habe ich recht Ordnung mit meiner Musik.


Grundsätzlich ist eine Ordnerstrunktur imho schon sinnvoll. Dabei ist es aber nicht immer möglich sortenrein nach Genres zu ordnen.
Ich habe Multimedia/Musik/Interpreten/<A-Z>/<interpret>/Album und auch
Multimedia/Musik/Sampler/<Samplertitel>...
bzw
Multimedia/Musik/Klassik/....

bei so 10K ist das alles noch übersichtlich, aktuell hab ich so 90K drin.
Wobei ich da nicht mehr nach einer Deduplizierung frage, alles im Verhältnis zu den Festplattenkosten viel zu zeitaufwendig.

Ich versuche bei Neuzugängen immer gleich sauber zu taggen -- aber auch das wirft oft Probleme auf, denn nicht immer ist ein Genre eindeutig. Die ungetaggten Dateien werden dann nach Lust und zeitbudget iterativ nachgetaggt.

ID3V2 kann per Definitionen zwar multiple Tags, jedoch wird dieses Format von kaum einem Player unterstützt. Oft wird nur das erste Genre genommen oder irgendeines, manchmal hängt sich gleich der ganze Player auf.

Zum Taggen von Musik gibt es imho nur EIN Tool: https://www.mp3tag.de/index.html

@ Maik81SE: Das Tool ist grenzgenial und kann mit praktisch allen bekannten Formaten umgehen, beherrscht scripting, hat eine aktive Community und der Maintainer ist mehr als fleißig am Updaten. Das Tool tagged auch nach Dateinamen und anderen Quellen aus dem Netz. Zudem gibts eine rege Community, die das Thema Taggen, Strukturieren und alle Tricks mit dem MP3Tag mehr als einmal durch hat.

@ Maik81SE: Zum Thema Player: es gibt bereits einige (Open Source) Player die mit Lazarus entwickelt wurden. Ein recht umfangreicher ist http://www.xixmusicplayer.org/. Ich denke dort freut man sich sicher über Unterstützung oder falls du eigene Pläne hast wäre auch ein Fork möglich.

Ich bin neben meinem Leben als Keyboardjunkie auch mit dem Thema Tanzschule und Tanzunterricht befasst und suche schon seit längerem einen passenden Player für diesen Einsatzzweck. Würde mich daher auch zumindest beratend einbringen. Viele Player sind mit Tools und Gimmicks überfrachtet, aber die wichtigsten Funktionen (wie schnelle Suche, Playlisten, Genretagging, BPM, Temporegelung etc...) sind versteckt und daher für mich unbenutzbar.

@ Maik81SE: Falls du weiteren Input brauchst bezüglich Player etc, einfach anschreiben

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: 3-ID-Tag ermitteln

Beitrag von Mathias »

Zum Taggen von Musik gibt es imho nur EIN Tool: https://www.mp3tag.de/index.html

Als Ergänzung würde ich noch EasyTag nehmen, aus Kombination aus beiden Tools ist man sehr gut bedient.

Viele Player sind mit Tools und Gimmicks überfrachtet, aber die wichtigsten Funktionen (wie schnelle Suche, Playlisten, Genretagging, BPM, Temporegelung etc...) sind versteckt und daher für mich unbenutzbar.
Zum Musik hören verwende ich ausschliesslich LibreElec, der auf einem kleinen NUC läuft, welcher per HDMI am Souroundreciver angeschlossen ist. Suchen, etc. verwende ich nicht, da ich schon wie beschrieben eine saubere Ordner-Struktur habe. Die Bedienung läuft dann über ein Tablett.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
h-elsner
Lazarusforum e. V.
Beiträge: 259
Registriert: Di 24. Jul 2012, 15:42
OS, Lazarus, FPC: LINUX Mint21.1, Win10, Lazarus 2.2.4, FPC3.2.2
CPU-Target: X86-64; arm 32bit
Wohnort: Illertissen
Kontaktdaten:

Re: 3-ID-Tag ermitteln

Beitrag von h-elsner »

Für mich geht nichts über eine Ordnerstruktur. Ich hasse Programme, die meine Musiksammlung 'organisieren' wollen. Die scannen ewig auf der Platte herum und gaukeln mir dann eine Ordnung vor, die es gar nicht gibt. Das verführt eher zu Chaos als das es hilft.

Ich hatte mal vor langer Zeit ein Programm in Delphi geschrieben, das ID3-Tags ausliest oder, wenn keine da sind es über den Dateinamen versucht. Ausgabe dann in csv zur weiteren Katalogisierung. Ist nicht das Schnellste, aber ich habe es gerade auf Lazarus migriert, so dass man weiter entwickeln könnte. Die Lazarus Version ist noch nicht fertig getestet, es lässt sich jedenfalls kompilieren. Es scannt ein Verzeichnis mit allen Unterverzeichnissen nach *.MP3. Ogg, m4a oder so hatte ich nicht beachtet, weil ich alles in MP3 umgewandelt hab.

Wenn du willst, kann ich es hier einhängen zum Ansehen, Weiterentwickeln oder was immer.

Zum Taggen, Konvertieren, Abspielen, Rippen und was immer man mit Musik machen will, gibt es für mich nur eins: Foobar2000. Leider nicht für LINUX, läuft aber problemlos in Wine.

Gruß HE
Zuletzt geändert von h-elsner am Do 28. Dez 2017, 20:29, insgesamt 1-mal geändert.

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: 3-ID-Tag ermitteln

Beitrag von Mathias »

Es scannt ein Verzeichnis mit allen Unterverzeichnissen nach *.MP3. Ogg, m4a o

Das wichtigste Format Flac hast du vergessen. Das komprimierte Zeug kann ich nicht gebrachen.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
h-elsner
Lazarusforum e. V.
Beiträge: 259
Registriert: Di 24. Jul 2012, 15:42
OS, Lazarus, FPC: LINUX Mint21.1, Win10, Lazarus 2.2.4, FPC3.2.2
CPU-Target: X86-64; arm 32bit
Wohnort: Illertissen
Kontaktdaten:

Re: 3-ID-Tag ermitteln

Beitrag von h-elsner »

Für FLAC, WAV, WV, SHA und was es da alles gibt habe ich einen eigenen Scanner geschrieben - schon in Lazarus. Der ist allerdings auf meine Ordnerstruktur und entsprechende Disziplin angewiesen, da er keine MetaDaten auslesen kann.

Ein typisches Quick&Dirty-Nur-Für-Mich Programm.

Gruß HE

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: 3-ID-Tag ermitteln

Beitrag von Mathias »

da er keine MetaDaten auslesen kann.

Flac unterstützt Metadaten.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
h-elsner
Lazarusforum e. V.
Beiträge: 259
Registriert: Di 24. Jul 2012, 15:42
OS, Lazarus, FPC: LINUX Mint21.1, Win10, Lazarus 2.2.4, FPC3.2.2
CPU-Target: X86-64; arm 32bit
Wohnort: Illertissen
Kontaktdaten:

Re: 3-ID-Tag ermitteln

Beitrag von h-elsner »

Ja klar, aber mein Programm kann sie nicht lesen. Bin mir nicht mal sicher, ob es ID3-Tags sind oder andere Formate. Deshalb basiert das meinige Programm auf der Verzeichnisstruktur und Dateinamen.
Man müsste nicht nur MetaDaten, sondern auch bzw. alternativ CUE-Sheets auslesen und entscheiden, was besser/richtiger/vollständiger ist usw. usf.
Zuviel Aufwand, für mich reicht es, wie es ist.

Gruß HE

MacWomble
Lazarusforum e. V.
Beiträge: 999
Registriert: Do 17. Apr 2008, 01:59
OS, Lazarus, FPC: Mint 21.1 Cinnamon / FPC 3.2.2/Lazarus 2.2.4
CPU-Target: Intel i7-10750 64Bit
Wohnort: Freiburg

Re: 3-ID-Tag ermitteln

Beitrag von MacWomble »

Mathias hat geschrieben:
Zum Taggen von Musik gibt es imho nur EIN Tool: https://www.mp3tag.de/index.html

Als Ergänzung würde ich noch EasyTag nehmen, aus Kombination aus beiden Tools ist man sehr gut bedient.

Viele Player sind mit Tools und Gimmicks überfrachtet, aber die wichtigsten Funktionen (wie schnelle Suche, Playlisten, Genretagging, BPM, Temporegelung etc...) sind versteckt und daher für mich unbenutzbar.
Zum Musik hören verwende ich ausschliesslich LibreElec, der auf einem kleinen NUC läuft, welcher per HDMI am Souroundreciver angeschlossen ist. Suchen, etc. verwende ich nicht, da ich schon wie beschrieben eine saubere Ordner-Struktur habe. Die Bedienung läuft dann über ein Tablett.



und was ist mit MusicBrainz Picard? Ich finde das Tool einfach nur genial!
Alle sagten, dass es unmöglich sei - bis einer kam und es einfach gemacht hat.

Benutzeravatar
Maik81SE
Beiträge: 308
Registriert: Fr 30. Sep 2011, 14:07
OS, Lazarus, FPC: Debian 12 (L 3.0.0.3 FPC 3.2.2); Windows 10 (L 3.99.0.0 FPC 3.2.0)
CPU-Target: x86-64; arm; avr
Wohnort: Lübeck
Kontaktdaten:

Re: 3-ID-Tag ermitteln

Beitrag von Maik81SE »

Sehr gutes Feedback ist ja schon mal dabei... :D

Mathias hat geschrieben:Ich würde für die Musik auf jeden Fall eine Ordnungsstruktur machen, ich habe es bei mir so:
Multimedia/Musik/Genre/Interpret/Album

Da ich dies schon von Anfang an gemacht habe, habe ich recht Ordnung mit meiner Musik.

Meine Strukture baue ich wie folgt auf.

zB: Diary of Dreams, Frei Wild, Placibo, Powerwolf, ASP und und und %initial%/%albumartist%/%album%/CD %discnumber%/%track% - %title% wobei CD %discnumber%/%track% - selber automatisch eingearbeitet werden sollen.

Sambler aller Art sollen %initial%/%albumartist%/%album%/CD %discnumber%/%track% %artist% - %title% als Struktur bekommen.

Was den Part %initial% angeht, da werd ich wohl darauf verzichten...
Mache ich bei Videos ja auch nicht :mrgreen:

Genre sollen wenn nur intern aus dem Programm gesucht und gefiltert werden ;)

charlytango das hört sich nach etwas an, wo ich gerne mitspielen würde.

Konvertieren wird sowieso der größte Spaß, da ich da wohl Linux und Windows beachten muß.

Code: Alles auswählen

label.caption:= 'gnublin.no-ip.info'
Debian 12 (L 3.0.0.3 FPC 3.2.2);
windows 10 (L 3.99.0.0 FPC 3.2.0)

charlytango
Beiträge: 843
Registriert: Sa 12. Sep 2015, 12:10
OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
CPU-Target: Win 32/64, Linux64
Wohnort: Wien

Re: 3-ID-Tag ermitteln

Beitrag von charlytango »

Maik81SE hat geschrieben: %initial%/%albumartist%/%album%/CD %discnumber%/%track% - %title% wobei CD %discnumber%/%track% - selber automatisch eingearbeitet werden sollen.


habe ich das richtig verstanden dass die einzelnen Dateien nach deinem abgegebenen Muster benannt werden sollen?

Falls ja, würde ich den Underscore '_' als Trenner der einzelnen Informationselemente nehmen und dafür alle anderen underscores in Titel, Artist etc eliminieren.
Dann kannst du mittels MP3Tag-Script deine Dateien in einem Batchlauf umbenennen oder aus den Dateinamen die Taginformation gewinnen.

Benutzeravatar
Maik81SE
Beiträge: 308
Registriert: Fr 30. Sep 2011, 14:07
OS, Lazarus, FPC: Debian 12 (L 3.0.0.3 FPC 3.2.2); Windows 10 (L 3.99.0.0 FPC 3.2.0)
CPU-Target: x86-64; arm; avr
Wohnort: Lübeck
Kontaktdaten:

Re: 3-ID-Tag ermitteln

Beitrag von Maik81SE »

charlytango hat geschrieben:
Maik81SE hat geschrieben: %initial%/%albumartist%/%album%/CD %discnumber%/%track% - %title% wobei CD %discnumber%/%track% - selber automatisch eingearbeitet werden sollen.


habe ich das richtig verstanden dass die einzelnen Dateien nach deinem abgegebenen Muster benannt werden sollen?

Falls ja, würde ich den Underscore '_' als Trenner der einzelnen Informationselemente nehmen und dafür alle anderen underscores in Titel, Artist etc eliminieren.
Dann kannst du mittels MP3Tag-Script deine Dateien in einem Batchlauf umbenennen oder aus den Dateinamen die Taginformation gewinnen.


Genau darum geht's.
diese Underscore will ich killen, da ich leieder auch Elemente habe, welche an stelle des " " ein "_" enthalten und wenn du zB. die Datei
Asp_Aus_Der_Tiefe_03_-_Schwarzes_Blut.mp3 hast, wird dir jedes MP3Tag-Script nur müll raus werfen...

Deshalb will ich Asp/Aus Der Tiefe/03 - Schwarzes Blut.mp3 stehen haben.
Da kann jeder sinnvoller arbeiten. :D

Code: Alles auswählen

label.caption:= 'gnublin.no-ip.info'
Debian 12 (L 3.0.0.3 FPC 3.2.2);
windows 10 (L 3.99.0.0 FPC 3.2.0)

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: 3-ID-Tag ermitteln

Beitrag von Mathias »

Genau darum geht's.
diese Underscore will ich killen, da ich leieder auch Elemente habe, welche an stelle des " " ein "_" enthalten und wenn du zB. die Datei
Asp_Aus_Der_Tiefe_03_-_Schwarzes_Blut.mp3 hast, wird dir jedes MP3Tag-Script nur müll raus werfen...

Da gibt es nur ein, mit FindAllFiles alles mp3-Dateien einlesen, anschliessend die Dateinamen Zerlegen zB. Pos fragen, wo sich ein "_-_" befindet, 2 Stellen nach links un du hast die Position, wo sich der Anfang der Tracknummer befindet. Als Sicherheit kannst noch abfragen, ob dann die ersten 2 Stellen eine Ziffer sind.
Dann müssen Ordner erstellt werden und die mp3-Datei dorthin kopiert werden und anschliessend noch umbenannt.
Das funktioniert natürlich nur, wen deine Dateien alle gleich aufgebaut sind.

Ich muss dich trotzdem nochmals fragen, sind deine mp3 getagt ?
Dann hast du es sehr einfach.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

charlytango
Beiträge: 843
Registriert: Sa 12. Sep 2015, 12:10
OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
CPU-Target: Win 32/64, Linux64
Wohnort: Wien

Re: 3-ID-Tag ermitteln

Beitrag von charlytango »

Maik81SE hat geschrieben:Genau darum geht's.
diese Underscore will ich killen, da ich leieder auch Elemente habe, welche an stelle des " " ein "_" enthalten und wenn du zB. die Datei
Asp_Aus_Der_Tiefe_03_-_Schwarzes_Blut.mp3 hast, wird dir jedes MP3Tag-Script nur müll raus werfen...

Deshalb will ich Asp/Aus Der Tiefe/03 - Schwarzes Blut.mp3 stehen haben.
Da kann jeder sinnvoller arbeiten. :D


ja klar -- irgendwann bekommt man einfach auch Dateien die Dateinamen haben dass man sich nur die Haare raufen kann.
Trotzdem würde ich den Slash als Trennzeichen nciht nehmen, denn dann könnte es evtl bei Linux unc Mac Probleme mit den Pfaden geben.

@Maik81SE: Mathias hat gefragt ob deine Musik-Dateien schon getagt sind -- denn dann könnte man mit vorhandenen Werkzeugen leicht die Dateinamen ins gewünschte Format bringen.

Antworten