Algorithmic clustering of music

accC

gesperrt
Registriert
14 Juli 2013
Beiträge
3.384
Also zunächst mal das Ausgangsproblem: Ich habe eine (unsortierte) Playlist und die Songs nun so anordnen, dass die Übergänge möglichst "stimmig" sind.
Als Beispiel würde ich mal sagen, dass auf My Heart will go on vielleicht nicht gerade ein death metal Song folgen sollte. ;)

Ich denke der Lösungsweg wäre eine Ähnlichkeitsanalyse über die Songs aus der Liste auszuführen und dann "nur noch" eine Art shortes Path-Problem lösen müsste.
Womit ich allerdings so meine Probleme habe, ist eben die Ähnlichkeitsanalyse. Rein genrebasierend wird wohl nicht ausreichen, aber wann sind Songs denn tatsächlich "ähnlich"? Gibt es dafür fertige Algorithmen/ Bibliotheken (eventuell für Java), notfalls auch eigenständige Programme, die einen verwertbaren Output erzeugen (JSON / XML)..
 
Finde die Fragestellung interessant. Falls du da etwas zusammengebastelt bekommst, wüdest du es dann eventuell öffentlich stellen?
 
Hier gibt es einen Wiki-Artikel zum Thema
unter anderem findet man dann die OpenSource Lösung von > Developers

Dort kannst du entweder Lib's bekommen um von eigener Musik Fingerabdrücke zu erstellen - oder auf die große Datenbank des Projekts zugreifen.
 
edit:
Das verlinkte echonest kanns auf den zweiten Blick evtl.:
"Swarm.fm's Music+, a Google Chrome extension. It adds a play button and "related bands" section to Facebook artist pages, as well as letting you create artist-based radio stations right from your browser toolbar."
Bleibt mir aber auch nach Konsulatation der Projektseite etwas unklar, ob das was hier im Thread gemeint ist geleistet wird.

Hast du noch ein wenig recherchiert?
Ich denke deine Frage, die Definition von Ähnlichkeit, ist der Clou an der ganzen Geschichte. Der Artikel über akustische Fingerprints deutet schon ein wenig darauf hin, dass es ganz verschiedene Ähnlichkeitsmetriken gibt.
Algorithmen und Ansätze findest du vermutlich wenn du dich durch scholar.google.com suchst.
Einen ersten Ansatz für einen Merkmalsvektor gibt der Wiki Artikel schon her: "[...] average zero crossing rate, estimated tempo, average spectrum, spectral flatness, prominent tones across a set of bands, and bandwidth".
Ich habe da auch interesse dran, aber kein Interesse es selber zu baun (deutlich zu zeitaufwendig imo), würde mich freuen wenn irgendwas bei rum kommt oder sich ein ähnliches (open source?) Projekt finden ließe.
 
Zuletzt bearbeitet:
  • Thread Starter Thread Starter
  • #5
@n87: Ja
@BurnerR: Nebenher, das Projekt ist aber eher an hinterer Stelle meiner ToDo List anzusetzen. Daher beschäftige ich mich damit nur, wenn ich Zeit habe, was eher selten ist :(
 
Zurück
Oben