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

[FEATURE] Expand Playlist

Open rendyhd opened this issue 1 month ago • 13 comments

I'd like a feature where we can import an existing playlist and expand it. Similar to "Playlist from Similar Song" but it would look at a complete playlist, like Song Alchemy but pre-loaded from playlist.

  • In the execution, I'd prefer not to set a number of tracks, but get as many tracks that fall within a threshold that you can set.
  • In the generated playlist, if there could be buttons to include or exclude (similar functionality like Song Alchemy), to keep shaping it. So instead of a dropdown where you have to select every song, a playlist that's loaded, it generates an expansion, and in that expansion you can fine-tune include or exclude.

rendyhd avatar Nov 16 '25 07:11 rendyhd

Thanks for your feedback! I'm always in search of new ideas for improve AudioMuse-AI!

Can I ask which music server did you use? On jellyinf, with the AudioMuse-AI plugin, you can already do an instant mix of playlist (basically I overwritten the Jellyfin instant mix functionality and now you can do instant mix of Artist, Album, Song and Playlist). I never directly implemented this functionality directly in AudioMuse-AI because I didn't really understood the use case. Can you help me in understand this better from an user prespective? What will bring you in "extend" an already existent playlist instead of just re-create it?

NeptuneHub avatar Nov 16 '25 11:11 NeptuneHub

Thanks! Let me emphasize that I'm loving AudioMuse AI. It's incredible and something I was looking for for a while!

I use jellyfin as my server, but haven't used it for playback yet - so I missed the instant mix feature from the plugin. I'll check that out tomorrow! I've mainly been using the AudioMuse web interface untill now.

My use case: I have a couple of curated playlists with a certain vibe, that id like to expand. I have noticed that using a single song as sample doesn't give the results I am looking for. With expanding a playlist (and increasing the sample size) Im hoping to find more songs that fit the vibe as a whole.

On Sun, 16 Nov 2025, 12:35 NeptuneHub, @.***> wrote:

NeptuneHub left a comment (NeptuneHub/AudioMuse-AI#187) https://github.com/NeptuneHub/AudioMuse-AI/issues/187#issuecomment-3538574564

Thanks for your feedback! I'm always in search of new ideas for improve AudioMuse-AI!

Can I ask which music server did you use? On jellyinf, with the AudioMuse-AI plugin, you can already do an instant mix of playlist (basically I overwritten the Jellyfin instant mix functionality and now you can do instant mix of Artist, Album, Song and Playlist). I never directly implemented this functionality directly in AudioMuse-AI because I didn't really understood the use case. Can you help me in understand this better from an user prespective? What will bring you in "extend" an already existent playlist instead of just re-create it?

— Reply to this email directly, view it on GitHub https://github.com/NeptuneHub/AudioMuse-AI/issues/187#issuecomment-3538574564, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALTYFBMHESPKGB7UBKVF6TT35BOOHAVCNFSM6AAAAACMHVDUQ2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTKMZYGU3TINJWGQ . You are receiving this because you authored the thread.Message ID: @.***>

rendyhd avatar Nov 16 '25 21:11 rendyhd

So I'm thinking about it because there is different way to do it.

In the AudioMuse jellyfin plugin this is already developed in this way:

  • it get up to 20 songs as seed;
  • for each song it get 10 similar song, like you're doing an instant mix
  • it return then all the song together.

On jellyfin side maybe we can do something a bit more complicated (on the plugin wasn't so easy) by playing with "centroid".

So a song in AudioMuse-AI is rappresented as a 200 size vector that is the output of the Deep Learning task made with ONNX. A centroid is some kind of avaraging of the different vector. Then with the centroid we can search for similar song.

The possibility that I have in mind are:

  1. If we assume that all the song in a playlist are already similar, we can do a single centroid for all, and then search for N similar song that will we concatenate to the existing one for an extended playlist. This I think work well with small playlist, let's say <= 20;
  2. If we assume that the song in the playlist are not so similar, we can run a clustering algorithm (this is wat I did for Artist similarity) to find from 1 to 10 centroid. then on each of them search for similar song. This I think work well if you have already a playlist enough big (so let's say 20+ song?), don't have much sense if are only 5-10 songs.

What do you think ? any other idea?

I'm thinking at a dedicated functionality like "playlist stratch" but it can also be put in the Song Alchemy, where you can say also to ask for song similar or dissimilar to the playlist. When we define what a playlist is, then should come easy.

Just for refenrece for Similart Artist we get all the song of the Artist. We do the clustering searching between 1 to 10 centroid, and then you can find similar artist between comparing this multiple centroid distance. I did this for artist assuming that you can have even hundreds of songs for them that can play different.

@Chaphasilor do you have any idea / input / suggestion on this?

NeptuneHub avatar Nov 19 '25 18:11 NeptuneHub

@rendyhd @NeptuneHub I'm not quite sure I understand what exactly you're trying to achieve? For "expand playlist", I was thinking of something like what Spotify used to do with the "Enhance" button: https://youtu.be/ECDzwmKP6nA&t=23

This has since been replaced with a "Smart Shuffle" that does the same but only for playback, keeping the original playlist as-is.
Is that what you had in mind?

Chaphasilor avatar Nov 20 '25 13:11 Chaphasilor

I think that the main idea is start from a playlist and than make it bigger. Than if add in the middle of the playlist in the video that you linked of Spotify, or on the bottom, I don't know. I'm open to suggestion :)

NeptuneHub avatar Nov 20 '25 17:11 NeptuneHub

Okay, hmm. Well that is already possible with what AudioMuse offers, I think. The new radio mode in Finamp will be able to play similar tracks based on the playlist via AudioMuse. So you just play the playlist, and after that's done, similar tracks will play.

Adding some tracks in-between is also something I'd like to do, but I'm not yet sure how. But I imagine the similar tracks and track path endpoints should be enough for that.
But of course, if you want to add an endpoint that accepts any "collection" (e.g. playlist, album) and then returns the collection tracks with some extra tracks in-between, that would also be convenient. But it's not needed for client support I'd say.

Chaphasilor avatar Nov 21 '25 16:11 Chaphasilor

It's an interesting discussion that helped me make my thoughts clearer. It also led me to conclude that my idea probably wasn't a good one for AudioMuse.

The concept was as follows: I pick an existing playlist (these are not the automatic ones, but older existing ones that I have been curating manually). And then use the analysis to find songs in my library that would match the playlist according to my curation. I have a couple of ones where I've been struggling to find the 'right' song. In the test below, I have it gather songs similar to Song Alchemy, and include/exclude. The included get added to the playlist, the excluded are removed from the list. When you click either include or exclude, it dynamically reloads the list and impacts the suggestions (similar to Song Alchemy).

But as I said, I think this is an incredibly niche feature (curation), which moves away from the style of how the tool is used (dynamic exploration). I'm okay with closing this request. Image

rendyhd avatar Nov 21 '25 20:11 rendyhd

It's an interesting discussion that helped me make my thoughts clearer. It also led me to conclude that my idea probably wasn't a good one for AudioMuse.

The concept was as follows: I pick an existing playlist (these are not the automatic ones, but older existing ones that I have been curating manually). And then use the analysis to find songs in my library that would match the playlist according to my curation. I have a couple of ones where I've been struggling to find the 'right' song. In the test below, I have it gather songs similar to Song Alchemy, and include/exclude. The included get added to the playlist, the excluded are removed from the list. When you click either include or exclude, it dynamically reloads the list and impacts the suggestions (similar to Song Alchemy).

But as I said, I think this is an incredibly niche feature (curation), which moves away from the style of how the tool is used (dynamic exploration). I'm okay with closing this request. Image

To me seems really interesting, please if you have a demo of this proceed with the implementation and raise the PR! I suggest to start raise the PR as a Draft, so that is "tracked" that you're working on it!

This project is exactly to experiment new things on music, so don't be blocked in propose an implement new things!

NeptuneHub avatar Nov 21 '25 21:11 NeptuneHub

@rendyhd I also support exploring this topic further. Curating playlists is actually something that would already work reasonably well via the AudioMuse web interface, even if actual music clients wouldn't support it yet.
But for Finamp I would love to offer suggestions for tracks that would compliment existing playlists! Not so sure about removing tracks, but in general the concept is intriguing for sure.
I'm also interested in thinking about the user interface for such a feature.

If I'm understanding your current approach correctly, you add all tracks as "include" to Alchemy, then show the suggestions, and then have the include/exclude buttons which will then add these tracks to the Alchemy configuration? And then at the end you save the current "include" tracks of the Alchemy configuration as the updated playlist?

Chaphasilor avatar Nov 24 '25 15:11 Chaphasilor

Yeah I agree, the webinterface is great for playlist curation! In my experimental branch I added also Smart Filters and a web player to quickly check what the song is. The Smart Filter is for a niche use case, I have a collection of 20 years of compilation cd's that are a certain style, but they discontinued the series and I'm looking for tracks to add. The exclude feature is not to remove a track per se, but to adjust the recommendation. Not very sure if it's useful yet.

How I currently have it (and this is a very experimental branch, not at all built to be merged), a new page with a playlist builder, a tab with smart filters, and a tab with playlist extender, where you can select an existing playlist or one made from the smart filter. And then see all the recommended songs that fit, with a play button, include and exclude. Include and exclude do the same as with song alchemy, and include adds it to the playlist to be exported as a new one.

rendyhd avatar Nov 24 '25 20:11 rendyhd

Neat. Again, feel free to open a draft PR that isn't meant to be merged yet but helps people keep track of it or try it out :)
There's also the AudioMuse Music Server which already has decent playback functionality, so maybe you could base part of your changes on that? No need to reinvent the wheel too often.
Although there probably is no harm in having a way to preview any given track directly within AudioMuse, it's just the smart filters that feel a bit out-of-place for me. Are those smart filters a proper server-side implementation? If so, exposing them via the API would be neat, that has been a long-standing feature request for Jellyfin. I'm just not sure if this is in AudioMuse's scope, maybe @NeptuneHub can comment on that?

Chaphasilor avatar Nov 25 '25 08:11 Chaphasilor

Just a recap, for each functionality related to create/extend playlist in anyway I agree: feel free to open a PR in draft so we can start having a look.

About playing directly music in AudioMuse-AI, I'm a bit sceptical: I would like to don't have the need to integrate additional API versus the music server (that then need to be addressed on all the different one) and also I would like to avoid the complexity of having to play the music on AudioMuse-AI itself. Instead the AudioMuse-AI Music Server could be better. Otherwise we run the risk to integrate a Music Server directly in AudioMuse-AI and bring a lot of complexity.

NeptuneHub avatar Nov 25 '25 09:11 NeptuneHub

I've created a draft pull request here: #209 Note, it's not compatible with the production postgres db, make sure you run on a new volume if you want to test

rendyhd avatar Nov 29 '25 20:11 rendyhd