SongSlope

Projektarbeit

Bearbeitet von: Florian Lambers

Betreuer: Dominikus Baur

Aufgabenstellung

Musik weckt Assoziationen beim Hörer: Beim Hören von Lied A fällt mir Lied B ein und ich möchte möglicherweise zu diesem wechseln. Allerdings unterstützt aktuelle Software diesen Vorgang nicht direkt - oft ist die Suche in einer langen Liste notwendig. In dieser Projektarbeit soll ein Plugin für den Open Source Medienplayer Songbird erstellt werden das genau dieses leistet. Mithilfe einer Liste bisher gehörter Lieder (z.B. aus dem Player selbst oder von LastFM) werden für ein jeweils aktuell gespieltes Lied dessen Vorgänger und Nachfolger angezeigt und der Benutzer kann direkt zu diesen springen.

Konkrete Aufgaben

  • Erstellung einer Literaturliste von verwandten/relevanten wissenschaftlichen Arbeiten
  • Erstellung einer ausführlichen Dokumentation im Medieninformatik-Wiki
  • Design und Implementierung eines lauffähigen Prototypen
  • Schrittweise Verfeinerung der Arbeit
  • Erstellung einer mindestens 30-seitigen Ausarbeitung, die den Hintergrund, das Design, die Implementierung und die Ergebnisse beschreibt und sich an diese Vorgaben (http://www.medien.ifi.lmu.de/lehre/arbeiten/richtlinien.xhtml) hält
  • Halten eines Abschlußvortrags im Oberseminar

Zeitplan

Beginn: 18.3.2009

Monat 1:

Woche 1 (18.3. - 25.3.):
  • Aufgaben: Einarbeitung, Literaturrecherche
  • Ergebnis: mind. 6 relevante (!) wissenschaftliche (!!) Arbeiten

Woche 2 (25.3. - 1.4.):
  • Aufgaben: Literaturrecherche, Beginn der Prototypimplementierung
  • Ergebnis: mind. 12 relevante (!) wissenschaftliche (!!) Arbeiten

Woche 3 (1.4. - 8.4.):
  • Aufgaben: Einarbeitung in Entwicklungsumgebung
  • Ergebnis: -

Woche 4 (8.4. - 15.4.):
  • Aufgaben: Beginn der Programmierung
  • Ergebnis: -

Monat 2:

Woche 1 - 2 (15.4. - 29.4.):
  • Aufgaben: Programmierung
  • Ergebnis: Lauffähiger Prototyp

Woche 3 (29.4. - 6.5.):
  • Aufgaben: Testen
  • Ergebnis: Stabiler Prototyp

Woche 4 (6.5. - 13.5.):
  • Aufgaben: Rekrutierung von Testnutzern
  • Ergebnis: -

Monat 3 (13.5. - 18.6.):
  • Aufgaben: Auswertung der Nutzungsdaten, Ausarbeitung, Abschlußvortrag

Design

SongSlope first design

music1.png

SongSlope Mock-Up V1

mock-up_v1.png

Visualisierung und Implementierung

  • Visualisierung

Die Songs der Playlist werden als einzelne Objekte (Boxen) dargestellt, deren Rahmen gibt an, ob der Titel in der lokalen Bibliothek vorhanden ist (grün), oder über last.fm verlinkt ist (rot) ( wie sicherstellen, dass im web verfügbar; embedden möglich, oder als Link, der neues Browserfenster öffnet; eventl andere quellen (imeem?)) (Dominikus: Last.FM ändert gerade seine Lizenzbestimmung deswegen könnte das bald wegfallen - aber es gibt einige Alternativen, wie z.B. imeem, seeqpod, etc.). Die Ähnlichkeit zum aktuellen Song wird über 2 Eigenschaften codiert: die Dicke der Verbindung zwischen den Boxen, und die Grösse derselben. In den Boxen werden Künstler, Name und (beim aktuellen und beim Vorgänger, soweit vorhanden) der Albumtitel genannt; bei den möglichen Nachfolgern wird darauf verzichtet, um die Anzahl der Web-Anfragen zu verringern. Die in den Boxen befindlichen Icons dienen zur genaueren Verdeutlichung des aktuell abgespielten Liedes ("play"-Icon) und von im Web verfügbaren ("last.fm"-Icon ( als Hyperlink für last.fm-player benutzen?)). Um die Übersichtlichkeit zu wahren, wird die Anzahl der dargestellten Nachfolger begrenzt ( 4-6) (Dominikus: Finde ich nicht so gut - kann dazu führen dass sich der Benutzer sicher ist ein anderes Lied danach gehört zu haben was dann in der Liste nicht auftaucht. Außerdem kann man dadurch nicht mehr einschätzen wie "vielfältig" die Nachfolger eines Lieds sind: Wenn nur 6 Lieder angezeigt werden kann das heißen dass tatsächlich nur 6 gehört wurden oder dass die 30 vom System auf 6 reduziert wurden. Alternative: So mit der Skalierung der Kästchen arbeiten, dass maximal 10 sichtbar sind. Sollten noch mehr als 10 gehört worden sein diese außerhalb des sichtbaren Bereichs anzeigen und den Benutzer die Ansicht dorthin verschieben lassen); hierbei sollte mindestens eins der vorgeschlagenen Lieder lokal zur Verfügung stehen, damit der Nutzer nicht nur zwischen ihm möglicherweise völlig unbekannten Liedern auswählen kann. Gleichzeitig sollte aber auch mindestens 1 Vorschlag nicht lokal verfügbar sein, um den Nutzer zu ermutigen, ihm Unbekanntes auszuprobieren; Ziel ist es, dem Nutzer auch die Möglichkeit zu geben, z.B. neue / unbekannte Lieder bereits bekannter Interpreten zu hören ( feature abhängig davon, ob ich von last.fm streamen kann; falls nicht, ist anzeige von "last.fm"-songs nutzlos).(Dominikus: Interessanter Ansatz auch (vermutlich) relevant, noch nicht gehörte Lieder einzubinden - dadurch lässt sich die positive Rückkopplung abschwächen die entsteht sollte man nur dein System benutzen)

  • Interaktion

Anklicken einer Box springt direkt zu diesem Lied; rückwärts nur begrenzt möglich, da nur das jeweils letzte Leid gespeichert wird (s.u.) (Dominikus: Mit der vorherigen Extraktion der Liedliste (s.u.) kannst du auch vorherige Songs anzeigen, was ich für wichtig halte). Songs werden sofort gestartet, Visualisierung der verwandten Lieder erst danach aufgebaut, um die Pause zwischen Anspringen und Abspielen möglichst kurz halten; wenn das Aufbauen der Visualisierung einige Sekunden dauert (abhängig von der Netzverbindung) ist das weniger störend als auf den Song warten zu müssen. Autoplay ( idee, implementierung je nach möglichkeit): falls der Nutzer innerhalb einer gewissen Zeit (5-8 Sekunden?) nach dem Ende des aktuellen Liedes keinen Nachfolger gewählt hat, wird automatisch einer ausgewählt ( zufällig oder immer relevantestes? bevorzugt lokal vorliegende daten)

  • Implementierung

Anzahl der Anfragen an last.fm-API möglichst gering halten: keine zusätzlichen Informationen zu Nachfolgern anfordern (nur Interpret und Titel). Performanz der Visualisierung: Die Abfrage, ob ein von der last.fm-API angegebener Vorschlag in der lokalen Bibliothek verfügbar ist, könnte bei einer grossen Bibliothek möglicherweise zu Performanzproblemen führen. ( welcher suchalgorithmus bei songbird verfügbar?; mögliche suche: verschachtelte if-schleife, erst interpret (äussere), dann titel (innere)). Um die Speicherauslastung besonders bei längeren Spieldauern zu minimieren, wird immer nur der aktuellste Vorgänger gespeichert ( eventl doch alle vorgänger speichern? effiziente datenstruktur? (einfache liste ausreichend?)). (Dominikus: Vermutlich wird es sich nicht verhindern lassen die gesamte Hörgeschichte des Benutzers einmal komplett von LastFM runterzuladen - hab dafür ein Script geschrieben das die Seite parst und eine XML-Datei daraus erzeugt - gib Bescheid wenn du's brauchst. Dadurch hast du dann auch keine Anfragen an LastFM mehr)

Implementierung

Literatur

Vorgegeben:

Personal vs. commercial content: the similarities between consumer use of photos and music
  • Art der Nutzung von Musik und Bildern
  • Unterschiede / Ähnlichkeiten in der Nutzung (Suche, Organisation) und Folgerungen daraus

Invariants of human behavior
  • grundlegende, unveränderliche(?) menschliche Verhaltensweisen
  • psychologische Betrachtung, Versuch der Übertragung des (physikalischen) Begriffs der Invariante auf menschliches Verhalten

Baumann: Musikempfehlungssysteme Userzentriert und Kontextbasiert
  • Vorstellung / Vergleich der beiden "Grundrichtungen" der Musikanalyse: (automatisierte) Analyse des Inhalts und kontextbasiertes Einordnen (Tagging) durch Nutzer

Dynamische / Automatisierte playliststs

Dynamic playlist generation based on skipping behavior

  • erstellen von dynamischen playlists
  • Ähnlichkeit von Liedern wird mittels user-feedback bestimmt (hier: skippen von einzelnen tracks)

pats: realization and user evaluation of an automatic playlist generator

  • generieren von playlists für einen bestimmten kontext
  • gruppierung von songs mittles gewichteter attribute
  • "lernender" algorithmus basierend auf feedback

Ähnlichkeiten von Musikstücken

A music search engine built upon audio-based and web-based similarity measures

  • (kommerziell)
  • charakterisierung von musikstücken mittels web retrieval und music information retrieval

FOAFing the music: Bridging the semantic gap in music recommendation

exploring mood metadata: relationships with genre, artist and usage metadata

  • klassifizierung von Liedern nach "Stimmung" mittles statistischer Analyse dreier Metadaten-Sammlungen

a content-based music similarity function

  • vergleich / analyse von musikstücken anhand ihrer spektralen eigenschaften

improvements of audio-based music similarity and genre classification

  • bewertung und verbesserung von ähnlichkeitsalgorithmen

a multifaceted approach to music similarity

  • erweiterung von algorithmen zur ähnlichkeitsbestimmung um modelle für timbre, rhythmus und struktur eines songs

music similiarities measures: what's the use?

  • ähnlichkeitsanalyse mittels timbre / klangfarbe

Automatic genre classification of music content: a survey

  • (kommerziell)
  • analyse und bewertung der drei gängigsten bewertungsmethoden

Tagging

automatic generation of social tags for music recommendation

  • automatisiertes erstellen / generieren von tags

an integrated visual approach for music indexing and dynamic playlist composition

  • visuelle indizierung von tracks
  • nutzer weisst tracks nur wenige tags zu, ähnliche tags / indizes werden automatisch verteilt

Visualisierung von Playlists

visualizing and exploring personal music libraries

  • graphische visualisierung von grossen musiksammlungen

visual playlist generation on the artist map

  • erstellen von playlists basierend auf self-organizing maps
  • maps basieren auf ähnlichkeit der audiosignale ("islands of music") und tags ("artist map")

music rainbow: a new user interface to discover artists using audio-based similarity and web-based labeling

  • anordnung von tracks in einer visualisierung basierend auf ähnlichkeit der künstler
  • kombination der audio-basierten informationen mit web-basierten datenquellen

Exploring music collections on mobile devices

  • "music exploration" auf mobilen Endgeräten
  • Organisation von Musikbibliotheken auf einer "Map" anhand von Ähnlichkeit

Using 3D visualizations to explore and discover music

  • dreidimensionale Darstellung von Musiksammlungen

Webreferenzen

Vorgegeben:

Songbird: Building Media Views

-- DominikusBaur - 18 Feb 2009

Andere Media Views / Visualisierungen für Songbird

Tag Cloud View (outdated) Divided Tag Clouds

  • Darstellung der Tag Cloud des momentan abgespielten Stückes

mashTape

  • Zusammenführung der Informationen vieler verschiedener Web-Ressourcen
  • keine Veränderung in der Darstellung der Playlist, aber langsame Aufweichung der Trennung Browser / Player

More of the same

  • einfaches Plugin zum Abspielen von Songs des gleichen Jahres / Künstlers / Genres / etc.
  • keine Nutzung von Webressourcen

Bubbles

  • graphische Visualisierung einer Musiksammlung
  • keine Anordnung nach Ähnlichkeit o.ä.
  • (outdated)

Me.dium

  • Vernetzung des Players mit social communities / social browsing
  • "What are my friends playing?": Entdecken neuer Musik
  • (outdated)

i know that band/artist...

  • webbasierte Visualisierung der Verbindung / Ähnlichkeit verschiedener Künstler
  • basierend auf last.fm-Metadaten
  • kein direktes Anspringen der Künstler möglich
Topic attachments
I Attachment Action Size Date Who Comment
mock-up_v1.pngpng mock-up_v1.png manage 82.0 K 06 Apr 2009 - 12:06 FlorianLambers SongSlope Mock-Up V1
music1.pngpng music1.png manage 8.1 K 18 Feb 2009 - 14:50 DominikusBaur  
Topic revision: r9 - 14 Apr 2009, DominikusBaur
 
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Medieninformatik-Wiki? Send feedback