Smart Music Player · Lieblingssongs nach Stimmung & 3D-Map

Aus MP3-Chaos wird eine Stimmungs-Playlist & ein 3D-Musikuniversum

Du hast ein Verzeichnis voller Lieblingssongs – schnelle, langsame Titel, verschiedenste Genres, alles bunt gemischt?
Aber heute willst du nur eine bestimmte Stimmung hören – und das bitte clever sortiert?

Der Smart Music Player analysiert deine gesamte Musiksammlung, erkennt Tempo, Energie, Klangfarbe und Gruppenzugehörigkeit und baut daraus automatisch Playlists, Visualisierungen und Übergänge, die sich wie ein intelligentes, lernendes DJ-System anfühlen.

Intelligente Mood-Presets

20 Standard Stimmungs-Presets (z. B. Sleeping, Driving, Workout, Lounge, Sunset Vibes, Fokus, Relax) steuern, welche Bereiche des Klangraums gerade aktiv sind – ohne starre Genregrenzen.

Web, App & 3D-Visualisierung

Moderne HTML-GUI, optionale Android-App und eine interaktive 3D-Karte aller Songs im Browser: Klick auf einen Punkt → Song spielt sofort, inkl. Live-Pfad und Cover-Farben.

Der Medienserver läuft in Python (Flask) unter Windows oder auf einem Raspberry Pi, scannt deine Musikverzeichnisse, analysiert Audio-Features mit Librosa und stellt alles über Web-UI, REST-API und optionalen Remote-Stream bereit.

Einblicke in den Smart Music Player

Nach der Installation öffnest du den Player einfach im Browser, wählst ein Preset, entscheidest zwischen lokaler und Remote-Wiedergabe und siehst live, welche Titel zu deiner aktuellen Stimmung ausgewählt werden. Du kannst frei wählen, ob die Ausgabe direkt auf dem Host (z. B. Anlage am Raspberry Pi) oder als Stream im Browser erfolgen soll.

Screenshot 1 – CLI Smart Player in der Konsole
Screenshot 1 – CLI-Smart-Player in der Konsole mit Fortschrittsbalken.
Screenshot 2 – Preset-Auswahl
Screenshot 2 – Preset-Auswahl: z. B. Autofahren, Entspannen, Sport.
Screenshot 3 – Detailinfos zum Song
Screenshot 3 – Song-Details mit Tempo, Energie, Helligkeit und Cluster.
Screenshot 4 – Mobile Ansicht
Screenshot 4 – Responsive Weboberfläche auf mobilen Geräten.
Screenshot 5 – Cover-basierte Farben
Screenshot 5 – Farben der UI passen sich automatisch an das Cover an.

Überblick: Medienserver, Analyse, Presets & Modi

Der Smart Music Player ist ein Musiksystem, das weit über eine klassische Playlist-App hinausgeht. Er analysiert deine gesamte Musiksammlung, erkennt Klangmerkmale, verbindet ähnliche Songs automatisch miteinander und bietet ein interaktives 3D-Erlebnis im Browser.

🔧 Medienserver & Plattform

  • Python-basierter Medienserver mit Flask, lauffähig auf Raspberry Pi und Windows-Rechnern.
  • Unterstützung für mehrere, frei wählbare Unterverzeichnisse deiner Musik-Library.
  • Analyse-Pipeline, die deine Titel für die weitere Audioausgabe und Visualisierung vorbereitet.
  • Ausgabe lokal am Host (z. B. via VLC) oder remote als HTML-Stream im Browser.
  • Steuerung über Web-GUI, optional Android-App und 3D-Visualisierung im Browser.

🔍 Intelligente Musikanalyse

  • Tempo (BPM)
  • Energie-Level (Lautstärke / RMS)
  • Brightness (Klanghelligkeit / Spektralschwerpunkt)
  • MFCC-Features für feine Audio-Charakteristik
  • Cluster-ID für selbstlernende Gruppen ähnlicher Songs

Diese Werte bilden die Grundlage für stimmungsbasierte Auswahl, 3D-Visualisierung, Similarity-Suche und weiche Übergänge.

🎛️ Mood-Presets

Mitgeliefert werden 20 Mood-Presets (z. B. Sleeping, Driving, Workout, Lounge, Sunset Vibes, Fokus, Relax) diese steuern die Musikauswahl. Jedes Preset besitzt Regler für:

  • Tempo
  • Energie
  • Helligkeit
  • Selektivität / Weight (wie streng gefiltert wird)

Der Player sucht automatisch passende Songs im gewählten Klangraum und spielt sie intelligent hintereinander – ohne harte Genregrenzen.

🤖 Intelligente Song-Auswahl

  • Similar-Flow: Ähnliche Songs hintereinander für weiche Übergänge.
  • Big Jump: Auf Wunsch große Stilwechsel (z. B. von ruhig zu sehr energiereich).
  • Zufalls-Einschübe sorgen für frische Abwechslung.
  • History-Aware: Berücksichtigung aller bereits gespielten Songs (Vermeidung von Wiederholungen).
  • Mit aktivem Preset → gezielte Auswahl im jeweiligen Mood-Sound-Raum.
  • Ohne Preset → allgemeiner Similarity-Modus auf Basis der Feature-Abstände.

🕹️ Browser-Steuerung & REST-API

  • Komplette Steuerung über die Weboberfläche:
    Play/Pause, Next, Preset-Auswahl, Big Jump, Ausgabegerät (Host/Browser).
  • Cover-Laden, Status-Anzeige (Position, Dauer, BPM, Energie, Cluster, Kategorien).
  • Remote-Stream direkt im Browser – ideal für mobiles Hören ohne zusätzliche App.
  • Vollständige REST-API zur Integration in eigene Tools, Skripte oder Smart-Home-Setups.

📈 Feature-Raum & Mood-Analyse

  • Zusätzliche Analyse-Skripte berechnen, welche Songs zu welchem Preset passen.
  • Auswertung, wie groß einzelne Mood-Kategorien in deiner Sammlung sind.
  • Automatische CSV-Berichte zur Optimierung deiner Library.

📂 Saubere Integration & Privacy

  • Läuft vollständig lokal mit Flask-Backend.
  • Browser-Frontend für Desktop & Handy.
  • JSON-Presets im Projektordner, CSV-Feature-Datei vom Analyzer generiert.
  • Kompatibel mit Windows & Linux, ideal für Raspberry Pi.
  • Keine Cloud, keine Werbung, keine Tracker.

⭐ Fazit

Der Smart Music Player ist eine Mischung aus DJ-Engine, Audio-Analyzer, 3D-Musikuniversum, Mood-Player und Web-Streaming-App – und das alles on-premises.

Interaktive 3D-Musik-Visualisierung im Browser

Im Browser erhältst du ein eigenes „Musikuniversum“, in dem jeder Track ein Punkt im 3D-Raum ist. Die Visualisierung kombiniert Plotly (3D-Scatter) mit einem optionalen Three.js-Hintergrund (Wave-Field) und dynamisch reagierenden Farben.

🎧 3D-Karte der gesamten Musiksammlung

  • Jeder Track wird als Punkt im dreidimensionalen Feature-Raum dargestellt:
    X: Tempo (BPM), Y: Energie (rms), Z: Brightness / Spektrum.
  • Klick auf einen Punkt → der entsprechende Song startet sofort.
  • Live-Highlighting des aktuell gespielten Titels.
  • Sanft animierte Kamera-Fahrten rund um den aktuellen Song – kometenartiges Einfliegen, näherkommen, wieder herausfliegen.

🧭 Pfad der gespielten Songs

  • Alle gespielten Tracks werden in der 3D-Wolke mit einer fortlaufenden grünen Linie verbunden.
  • Neuere Pfade sind heller, ältere verblassen – so entsteht eine intuitive, visuelle Play-History.

🧩 Steuerpanel im Visualizer

  • Start: Kameraanimation starten.
  • Stop: Animation pausieren.
  • Reset: Ansicht zurücksetzen.
  • Grid: Gitterlinien an/aus.
  • Clean: Achsen/Ticks/Labels ausblenden für „Clean Look“.
  • Dyn BG: Dynamischen Three.js-Hintergrund ein-/ausschalten.

Das Panel ist im Glas-Morphism-Look gehalten – minimalistisch, semi-transparent und perfekt auch für Widescreens (bis 34:9).

🎨 Cover-basierte Farb- & Themensteuerung

Über das Backend-Endpoint /api/status werden u. a. folgende Werte genutzt:

  • theme_color – dominante Coverfarbe
  • tempo_cat – Tempo-Kategorie des aktuellen Songs
  • energy_cat – Energie-Kategorie des aktuellen Songs

Diese Parameter steuern dynamisch:

  • Wellen- und Atmosphärenfarbe
  • Partikel-/Sterne-Farbe und Blob-Lichter
  • Kamera-Geschwindigkeit & Wellenamplitude

So reagiert der gesamte Hintergrund organisch auf Musik, Cover und Stimmung. Das Cover selbst wird in einer eigenen Box mit sanfter Überblendung angezeigt.

🖼️ Hintergrundsystem (PNG + Wave-Field)

  • Statische Ebene: bis zu 20 hochwertige Hintergrundbilder (background1–20.png) mit zufälligem Wechsel pro Song, inkl. radialem Fade.
  • Dynamische Ebene: optionaler 3D-Wave-Field-Hintergrund auf Basis von Three.js mit:
    • hunderten bewegten Vertex-Punkten,
    • Wireframe-Strukturen & Partikeln,
    • Nebel, Sternen und Glow-Blobs.
  • Alles ist sanft ein- und ausblendbar und CPU-/GPU-optimiert.
  • Die Animation-Loop deaktiviert sich, wenn der dynamische Hintergrund abgeschaltet ist. (Für schwächere CPUs)

🖥️ Performance & Look

  • GPU-beschleunigte Plotly-3D-Engine plus zusätzlicher Three.js-Layer.
  • Crossfades für Cover, Hintergrund und Wave-Field für ein ruhiges, flüssiges Erlebnis.
  • Ruckelfreier Betrieb auch auf Ultra-Wide-Screens und großen Libraries. GPU von Vorteil.