AudioMuse-AI icon indicating copy to clipboard operation
AudioMuse-AI copied to clipboard

Playlist Builder [EXPERIMENTAL]

Open rendyhd opened this issue 1 month ago • 0 comments

This is a draft to share the playlist builder I made. I marked it as experimental because I've changed a lot to get it to work the way I wanted it, which is not necessarily in line with the core purpose of this project.

NOTE: If you want to test this, I'd recommend you make sure it runs on a new postgres volume, it is not compatible the production one It's built on top of #195

Summary

New Playlist Builder page that combines song discovery via Smart Filters with playlist extension capabilities, plus an integrated web player for previewing songs and dark mode support.

New Features

Playlist Builder Page

A new unified interface at /playlist_builder with two tabs:

Smart Filters Tab

  • Search and filter songs by multiple criteria: mood, energy, BPM, key, scale, artist, album, title
  • Supports operators: contains, does not contain, is, is not, greater than, less than
  • "Match All" vs "Match Any" filter logic
  • Exclude button to remove unwanted songs from results
  • "Send to Extend Playlist" to use filtered results as seeds for similarity search

Existing Playlist Tab

  • Load playlists from your media server
  • Extend with similar songs based on the playlist's audio centroid
  • Include/Exclude buttons to curate recommendations
  • Adjustable result count and max songs per artist
  • Track Weights, to fine-tune playlist preferences

Web Player

  • Sticky audio player at bottom of page
  • Play/pause, seek forward/back, stop controls
  • Displays current track title and artist
  • Streams directly from Jellyfin, Emby, or Navidrome (in theory, only tested on Jellyfin)

Dark Mode

  • Toggle via menu button
  • Persists preference to localStorage
  • Respects system preference on first visit

Playlist Saving

  • Save curated playlists directly to media server
  • Option to save without _instant suffix (for Playlist Builder saves)

Next step: I'm looking to add star ratings, but unfortunately Jellyfin doesn't support this. Might have to experiment with Navidrome

Other Improvements

  • Jellyfin/Emby: Added stream_url and song_artist to API responses
  • Analysis UI: Fixed progress tracking bug
  • API: Similarity results now include title and author fields

Screenshots

image image

rendyhd avatar Nov 29 '25 20:11 rendyhd