MP3 Song Datenbank

Alle Fragen um die Programmierung, die sich sonst nicht kategorisieren lassen. Von Makro bis Codeblock, von IF bis ENDIF

Moderator: Moderatoren

ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

MP3 Song Datenbank

Beitrag 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
Valar Morghulis

Gruss Carlo
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: MP3 Song Datenbank

Beitrag 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.
Gruß
Hubert
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: MP3 Song Datenbank

Beitrag 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) 11530 mal betrachtet

Gruss Carlo
Dateianhänge
slade1.jpg
slade1.jpg (122.7 KiB) 11525 mal betrachtet
Valar Morghulis

Gruss Carlo
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: MP3 Song Datenbank

Beitrag von Manfred »

Hi Carlo,
alter Glam Rocker? :headbang:
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: MP3 Song Datenbank

Beitrag 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) 11511 mal betrachtet
Gruss Carlo
Valar Morghulis

Gruss Carlo
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2824
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: MP3 Song Datenbank

Beitrag 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.
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: MP3 Song Datenbank

Beitrag von Manfred »

genau Carlo
und dann gröhlen alle im Chor:
MAMA WEER ALL CRAZEE NOW!!!
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: MP3 Song Datenbank

Beitrag 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
Valar Morghulis

Gruss Carlo
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: MP3 Song Datenbank

Beitrag von ramses »

Manfred, wieso den CRAZY now???
Valar Morghulis

Gruss Carlo
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: MP3 Song Datenbank

Beitrag 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.
Gruß
Hubert
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: MP3 Song Datenbank

Beitrag 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
Dateianhänge
audio4xb.ch
Benötige Headerdatei: (geänderter Filename)
(7.26 KiB) 201-mal heruntergeladen
Valar Morghulis

Gruss Carlo
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2824
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: MP3 Song Datenbank

Beitrag 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.
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
IngoM
UDF-Programmierer
UDF-Programmierer
Beiträge: 51
Registriert: Di, 09. Jul 2013 9:23

Re: MP3 Song Datenbank

Beitrag 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.
Viele Grüße
Ingo
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: MP3 Song Datenbank

Beitrag 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
Valar Morghulis

Gruss Carlo
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2824
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: MP3 Song Datenbank

Beitrag 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.
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: MP3 Song Datenbank

Beitrag von ramses »

Hallo Gerog

ich schau mir das mal an.

Gruss Carlo
Valar Morghulis

Gruss Carlo
IngoM
UDF-Programmierer
UDF-Programmierer
Beiträge: 51
Registriert: Di, 09. Jul 2013 9:23

Re: MP3 Song Datenbank

Beitrag von IngoM »

Hallo Carlo,

MediaMonkey spricht von 100.000+ Files.
Viele Grüße
Ingo
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: MP3 Song Datenbank

Beitrag 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
Valar Morghulis

Gruss Carlo
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2824
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: MP3 Song Datenbank

Beitrag 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.
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: MP3 Song Datenbank

Beitrag 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
Valar Morghulis

Gruss Carlo
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Re: MP3 Song Datenbank

Beitrag 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
gruss by OHR
Jimmy
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2824
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: MP3 Song Datenbank

Beitrag 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.
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Re: MP3 Song Datenbank

Beitrag 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 ;-)
gruss by OHR
Jimmy
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2824
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: MP3 Song Datenbank

Beitrag 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.
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: MP3 Song Datenbank

Beitrag 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
Valar Morghulis

Gruss Carlo
Antworten