Seite 1 von 3

MP3 Song Datenbank

Verfasst: Fr, 21. Apr 2017 9:04
von ramses
Hallo

hat sich schon jemand mit einer MP3 Datenbank für Songs beschäftigt?
Es gibt schon einige 10 Jahre alte Beiträge hier. Ich brauche aber mehr.

Ich will eine Datenbank aufbauen die alle auf der Platte gefunden MP3 Songs in eine Datenbank schreibt in der ich nach Titel/Interpret oder Teilen des Namens suchen kann, eine Ergebnissliste der Suche mit dem Cover-Bild des Stücks (aus der MP3-Datei) sowie eine Play Funktion.

Hat jemand erfahrung damit?

Wie lese ich die Tags und das Coverbild aus der MP3 Datei und wie baue ich eine Wortsuche auf?



Cu Carlo

Re: MP3 Song Datenbank

Verfasst: Fr, 21. Apr 2017 9:13
von brandelh
Ich nutze ein Programm CDex (oder so ähnlich), dieses nutzt eine online Datenbank, die man auch herunterladen kann um im Idealfall die Infos einer CD zu erkennen und die MP3 Dateien so mit richtigem Namen zu speichern.
Dazu wird wohl eine Kombination aus Anzahl und Länge der Spuren genutzt um die CD zu erkennen.
Wenn man so benannte MP3 einliest, könnte man die Infos nutzen und in einer DB speichern, mit einer einzelnen MP3 Datei ohne irgendwelche Infos wird man wohl keine automatische Zuordnung hin bekommen.

Wie lese ich die Tags und das Coverbild aus der MP3 Datei
Ich weiß nichts von TAGS, die da drinn sein sollen, aber Coverbilder sind sicher nicht in einer MP3 Datei, die findet man eventuell im Internet.

Re: MP3 Song Datenbank

Verfasst: Fr, 21. Apr 2017 9:25
von ramses
Hallo Hubert

In der MP3 Datei sind Tags (Metadaten Interpret usw. und das Coverbild drin)
Der Windowsexplorer zeigt diese auch an. Siehe:
slade.jpg
slade.jpg (27.52 KiB) 11593 mal betrachtet

Gruss Carlo

Re: MP3 Song Datenbank

Verfasst: Fr, 21. Apr 2017 9:52
von Manfred
Hi Carlo,
alter Glam Rocker? :headbang:

Re: MP3 Song Datenbank

Verfasst: Fr, 21. Apr 2017 10:52
von ramses
Hallo Manfred

na ja, es war ja NUR ein Beispiel.
Aber ab und zu holen wir einige der folgenden Türmchen raus und dann ist Party...
Turm.jpg
Turm.jpg (72.39 KiB) 11574 mal betrachtet
Gruss Carlo

Re: MP3 Song Datenbank

Verfasst: Fr, 21. Apr 2017 11:21
von georg
Hallo,


es gibt hier in der Wissensbasis eine Klasse, mit der man die Tags in MP3-Dateien auslesen und schreiben kann. Benötigt wird dazu AudioGenie, das inzwischen aber kostenfrei nutzbar ist (weil's nicht mehr weiterentwickelt wird).

Dazu eine kleine Datenbank (bei der Filter-Anforderung würde ich mal über erste Schritte mit SQL nachdenken), ein Programm, das die Platte durchflözt, und schon bist Du da.

Re: MP3 Song Datenbank

Verfasst: Fr, 21. Apr 2017 12:05
von Manfred
genau Carlo
und dann gröhlen alle im Chor:
MAMA WEER ALL CRAZEE NOW!!!

Re: MP3 Song Datenbank

Verfasst: Fr, 21. Apr 2017 12:08
von ramses
Hallo Georg

DANKE!!!

Genau die Klasse wäre ein Teil der Lösung leider fehlt die Headerdatei "AudioGenieV3.CH" hat die noch jemand?

Gruss Carlo

Re: MP3 Song Datenbank

Verfasst: Fr, 21. Apr 2017 12:11
von ramses
Manfred, wieso den CRAZY now???

Re: MP3 Song Datenbank

Verfasst: Fr, 21. Apr 2017 13:33
von brandelh
In meinen aufgenommenen MP3 sind keine Bilder und die Infos dachte ich wären vom Dateissystem ... so kann man sich täuschen. ;-)

https://sourceforge.net/projects/audiogenie/

der Name verheißt doch source code da müssten die Defines drinn sein.

Re: MP3 Song Datenbank

Verfasst: Fr, 21. Apr 2017 14:25
von ramses
Hallo

Hubert, es kommt auf den Converter/Ursprung der Datei drauf an, je nach dem sind keine oder auch alle Infos mit Cover in der Datei.

Die Headerdatei zur Audio4XB für Version 3 der DLL konnte ich erstellen. In SourceForge passen Source/Docu(V2) und DLL (V3) nicht zusammen.

Die DLL V3 liefert mir mit der erwähnten Klasse alle nun alle Infos die ich aus der MP3 Datei heraus will.
In der Klasse muss allerdings die Methode GetPicture() korrigiert werden, beim DLL-Aufruf sind die Parameter vertauscht. Richtig ist:

Code: Alles auswählen

nX:=DllCall(::nDllHandle,DLL_STDCALL,"ID3V2GetPictureFileW",cSzAnsi2Wide(cFile+Chr(0)),nPicture)
nPicture nach Filename.

Blöd, dass ich die Klasse im Forum mit der Suche nicht fand.


Jetzt fehlt mir noch die Wortsuche, um nach Teilen von Interpret oder Songtitel zu suchen.

Gruss Carlo

Re: MP3 Song Datenbank

Verfasst: Fr, 21. Apr 2017 15:03
von georg
Hallo, Carlos -


gerade wegen der Wortsuche habe ich ja auf SQL verwiesen. Ich nutze (seit Jahren, und schon lange, bevor A**ska in die Puschen kam) MySQL, und da ist eine Wortsuche kein Thema. Entweder über die normale SELECT-Anweisung, oder mit dem Fulltext-Index, der einen Index über die Wörter in den betreffenden Feldern anlegt, in dem man dann auch recht gut suchen kann.

Ich habe - auch in der Wissensbasis - einiges dazu geschrieben, sowie die Wrapper, die Hector Peroza entwickelt hat, dort verlinkt. Einen Versuch ist es wert, und plötzlich bekommt Xbase++ eine ganz andere Dimension.

Re: MP3 Song Datenbank

Verfasst: Fr, 21. Apr 2017 15:53
von IngoM
Hallo Carlo,

schau Dir mal MediaMonkey an; es gibt davon auch eine Free-Version.
Ich benutze das Programm seit Jahren um meine digitale Musik vernünftig aufzubereiten.
Das Programm verwaltet auch große Musiksammlungen; es kann auch Songtitel, Tags und Cover aus dem Internet laden und in die MP3-Tracks schreiben.
In den Tags suchen und abspielen geht natürlich auch.

Re: MP3 Song Datenbank

Verfasst: Fr, 21. Apr 2017 17:07
von ramses
@Georg: Danke für den Tip, dazu eine grundsätzliche Frage: Ist die Wortsuche bei 2-3 Mio. enthaltenen Wörter mit SQL auch genügend schnell?

@Ingo: die Tracks sind alle komplett getagt und bebildert, ich benötige nur eine gute Suche mit einer Web-Server Funktion .... und Fernbedienung mit einem Tablet. Wieviele Tracks erträgt MediaMonkey ?


Gruss Carlo

Re: MP3 Song Datenbank

Verfasst: Fr, 21. Apr 2017 17:46
von georg
Hallo, Carlo -


die Suche ist ausreichend schnell, um Dir Tränen in die Augen zu treiben, wenn Du das nächste Mal "SET FILTER" verwendest.

Re: MP3 Song Datenbank

Verfasst: Fr, 21. Apr 2017 17:48
von ramses
Hallo Gerog

ich schau mir das mal an.

Gruss Carlo

Re: MP3 Song Datenbank

Verfasst: Fr, 21. Apr 2017 19:14
von IngoM
Hallo Carlo,

MediaMonkey spricht von 100.000+ Files.

Re: MP3 Song Datenbank

Verfasst: Di, 25. Apr 2017 19:08
von ramses
Hallo Ingo

MediaMonkey ist nicht die Lösung.


Ich suche nach einer Suchfunktion so "a la Google" Mit den Beispielen per SQL bin ich nicht ungedingt weiter gekommen.. .....



Gruss Carlo

Re: MP3 Song Datenbank

Verfasst: Di, 25. Apr 2017 20:47
von georg
Hallo, Carlo -


hier habe ich einiges zur Nutzung von MySQL unter Xbase++ geschrieben: http://www.xbaseforum.de/viewtopic.php?f=16&t=6624

Falls Du mehr Informationen brauchst, einfach nachfragen.

Re: MP3 Song Datenbank

Verfasst: Di, 25. Apr 2017 21:57
von ramses
Hallo Georg

Ich habe einige Versuche mit dem ADS, Advantage Database Server gemacht. Da sind Filterausdrücke relaitv schnell....... 3 Skunden für 3 Sätze aus 250'000. Ist SQL hier schneller?

Die von dir erwähnten Beiträge etc stammen ja alle aus 2012. Sind die den noch aktuell?

Oder wäre es nicht besser gleich die Postgree-Variante von Alaska zu verwenden?

Gruss Carlo

Re: MP3 Song Datenbank

Verfasst: Di, 25. Apr 2017 23:28
von AUGE_OHR
ramses hat geschrieben:Ich habe einige Versuche mit dem ADS, Advantage Database Server gemacht. Da sind Filterausdrücke relaitv schnell....... 3 Skunden für 3 Sätze aus 250'000. Ist SQL hier schneller?
die Frage ist "was" hast du denn gesucht ?

wenn es ein Title oder Name des Interpreten ist dann finde ich es langsam.
wenn du eine Volltext Suche, ohne Index, meinst ist das ok
ramses hat geschrieben:Die von dir erwähnten Beiträge etc stammen ja alle aus 2012. Sind die den noch aktuell?
die API der native Schnittstellen wird gewöhnlich nicht verändert ... nur erweitert
ramses hat geschrieben:Oder wäre es nicht besser gleich die Postgree-Variante von Alaska zu verwenden?
wenn du die ISAM Variante meinst mit PostgreSQL v8.3 (!) : [-X

Re: MP3 Song Datenbank

Verfasst: Mi, 26. Apr 2017 7:04
von georg
Guten Morgen, Carlo -


warum sollen Dinge aus 2012 nicht mehr aktuell sein? Ich sehe das eher umgekehrt: es war schon 2012 (und früher) möglich, Xbas++-Anwendungen zu schreiben, die auf MySQL als Datenbankserver setzen und nicht mehr mit DBF/NTX/CDX-Dateien arbeiten müssen.

Die Wrapper-Klasse erlaubt Dir, so gut wie alle SQL-Befehle auszuführen (das einzige, was fehlt, sind prepared statements, aber wenn man nicht weiss, was die können, vermisst man sie auch nicht). Und: da die Klasse im Quelltext vorliegt, kann man sie jederzeit an neue Xbase++-Versionen anpassen.

Im Gegensatz zum PostGreSQL-Zugriff arbeitet man mit der Wrapper-Klasse mit den original MySQL-Tabellen, während die PostGreSQL-DBE noch zusätzliche Felder reinpappt, damit der SQL-Server sich wie eine DBF/NTX/CDX-Datei verhalten kann.

Ich habe zum Thema SQL (und auch der Wrapper-Klasse) etliche Vorträge auf den letzten Foren-Treffen gehalten.

Was die Suchfunktionalität angeht: die meisten gehen so vor:

Code: Alles auswählen

SELECT * 'FROM songs WHERE title LIKE '%riders%' AND title LIKE '%storm%'
Wenn es um Suche in Texten geht, bietet MySQL mit dem FullText-Index andere Suchmethoden an (es existiert dann ein Index, der die Worte aus dem oder den betreffenden Feldern aufgenommen hat):

Code: Alles auswählen

SELECT * FROM songs WHERE MATCH (title) AGAINST  ('storm', 'riders') IN BOOLEAN MODE
Du kannst also hier mit mehreren Begriffen suchen, ohne deren korrekte Reihenfolge zu kennen.

Ich habe damals vollständig auf MySQL umgestellt und bereue diesen Schritt in keinster Weise. Falls Du beim Treffen bist, kann ich Dir ja mal eine "real world application" zeigen, die auf MySQL basiert.

Re: MP3 Song Datenbank

Verfasst: Mi, 26. Apr 2017 8:09
von AUGE_OHR
georg hat geschrieben:Im Gegensatz zum PostGreSQL-Zugriff
gemeint ist die ISAM Version von Alaska.

Phil Ide hat ja schon 2003 eine native PostgreSQL CLASS geschrieben.
diese ist, mit den aktuellen PostgreSQL v9.x DLL Dateien, immer noch aktuell (s.h. Wissensbasis)

---

was mich interessieren würde : was für einen Player nehmt ihr ?
hab ihr eine "Mix" Möglichkeit oder das "vor hören" parallel zu dem was gerade gespielt wird gelöst ?

p.s. in der DXE LIB habe ich "Slider" die sich gut als Flachbahn Regler eignen ;-)

Re: MP3 Song Datenbank

Verfasst: Mi, 26. Apr 2017 8:46
von georg
Hallo, Jimmy -


der Wrappe von Phil hat leider nie die Würdigung erhalten, die ihm zustehen würde, und bei PostGreSQL denken die meisten halt eben an die Implementierung durch Alaska.

Re: MP3 Song Datenbank

Verfasst: Mi, 26. Apr 2017 9:11
von ramses
Hallo Georg

ich muss leider eingestehen dass ich mich noch nicht gross mit SQL befasst habe. Mit dem ADS hatte ich bis jetzt keine grösseren Probleme. Dazu kommt sicher noch die Bequemlichkeit einen neue Datenbank zu verwenden, da dies zuerst eine längere Lernphase erfordert ..... bis alles Kundentauglich run läuft .... so jedenfalls meine Befürchtung.
georg hat geschrieben:warum sollen Dinge aus 2012 nicht mehr aktuell sein?
Sie könnten veraltet, nicht nachgeführt oder gar inkompatibel mit der Aktuellen Dantenbank sein .....


Aber als Beispiel: angenommen ich habe 1 Mio Datensätze, jetzt möchte ich eine Autovervollständigkeits-Suchfunktion die mir während dem Tippen des Suchbegriffs bereits eine Trefferliste anzeigt.
Etwa so: nach dem Tippen "of" im Suchfeld xx Einträge mit "of" an beliebiger Stelle im Suchtext gefunden und Anzeige der Trefferliste. (Suchtext wären die Felder: Artist Album Titel Genre)
Ist dies überhaupt Zeitnah (Performance) möglich?
georg hat geschrieben:Im Gegensatz zum PostGreSQL-Zugriff arbeitet man mit der Wrapper-Klasse mit den original MySQL-Tabellen,
Meinst du damit dass diese "Wrapperklasse" Variante der DBE vorzuziehen ist?

Die grösste Frage welche SQL Datenbank verwenden? Postgre 9.6.2 oder MySql
georg hat geschrieben:. Falls Du beim Treffen bist, kann ich Dir ja mal eine "real world application" zeigen, die auf MySQL basiert.
Nein, leider nicht. Ich gehe an ein Drag-Race.

Gruss Carlo