mixxx icon indicating copy to clipboard operation
mixxx copied to clipboard

Auto DJ add suggestions from Last.fm

Open daschuer opened this issue 1 year ago • 3 comments

This is a rebase of https://github.com/mixxxdj/mixxx/pull/2058

This replaces the Mixxx AutoDj "Add Random" function with more usable "Add Related" function. It uses https://www.last.fm/api/show/artist.getSimilar to do this task. Nearly all function code is borrowed from https://sayonara-player.com/ its "Dynamic playback" feature, thank you for the good work!

daschuer avatar Aug 09 '22 17:08 daschuer

This replaces the Mixxx AutoDj "Add Random" function with more usable "Add Related" function.

Why replace not add? Last.fm is only available with an internet connection. And actually, a random pick from the user library helps being reminded of less-played tracks IMO, and may also be inspirational.

ronso0 avatar Aug 09 '22 20:08 ronso0

Why replace not add? Last.fm is only available with an internet connection. And actually, a random pick from the user library helps being reminded of less-played tracks IMO, and may also be inspirational.

I think this is re-opened because the original one was quite old and it was difficult to test it on that branch. This PR will be inspirational for the track suggestion feature and maybe can be good with the AutoDJ "Add Random".

fatihemreyildiz avatar Aug 09 '22 20:08 fatihemreyildiz

Why replace not add?

I think the whole idea was to make the random pick less random. From the use case perspective this sounds reasonable and works good for a media player like use case.

However I share you concerns that a last.fm based approach will be soon kind of "boring" because it tends to play most popular track. This dies not work when playing sub-genres.

I think @fatihemreyildiz idea is (correct me if I am wrong) to store the results in a special crate. If we use that as Auto DJ track source, we are at the stage of the PR but the old behavior is also kept.

To make it even more perfect we need a value based picker where the similarity of track properties can be valuated for different use cases. This is clearly out of scope if Emres project, but we need to discuss it to make sure that the project is on track towards a final solution.

Does this make sense? @ronso0 do you have other ideas suggestions?

daschuer avatar Aug 10 '22 06:08 daschuer

First of all sorry for the late reply.

IMHO, this (lastfm) is a really good service to use get suggestions. We were looking for a track suggestions API's all around the web, and we realized that there are not many services for this purpose.

I think @fatihemreyildiz idea is (correct me if I am wrong) to store the results in a special crate. If we use that as Auto DJ track source, we are at the stage of the PR but the old behavior is also kept.

You are totally correct, what I aim to do is. Every track can have their own suggestions stored, so whenever needed users can press a button, populate the menu and have an idea what to play next.

In my use case, whenever I am stuck and don't know what to play next. It would be nice to see 20-30 different tracks for each track, even tho these tracks wouldn't be the tracks that I will play, they can inspire for me to what to play next with different artists-genre-album.

As we talked before this can be improved to see if the suggested track in the library.

Since it also works with MBID too, whenever user can import metadata from musicbrainz, we can also use the ID found to get related tracks at the same time.

Also instead of replacing we can use this feature as a option to AutoDJ's Add Random function.

fatihemreyildiz avatar Aug 17 '22 17:08 fatihemreyildiz

This PR is marked as stale because it has been open 90 days with no activity.

github-actions[bot] avatar Nov 16 '22 00:11 github-actions[bot]