June 20, 2011, 07:47:36 Last Edit: June 21, 2011, 12:15:59 by p300
Hi

gmb is going to replace guayadeque as my main music application.

I actually prefer gmb over guayadeque because it appears to me that i's
not so close to Ubuntu and it's extraordinary configurability ;-)

There are just these 3 features which i couldn't see/find by now:

- Configurable crossfader engine
- Smart play mode that add tracks that fit your music taste using the tracks currently in play list
- Record from internet radios

Sorry I forgot to answer sooner.
sadly I'm not planning to add any of these in the near future :(
- crossfader : I'm hoping it will be added to gstreamer's playbin2 before I have to implement it myself, both solution are not in the near future anyway
- smart play : a bit higher priority than the others, I'm not very fond of it myself, but a few people expressed interest in it before, we'll see
- record internet radio : I'd first have to implement playback
So these features are all low priority, I have no idea when they will come, sorry I can't give you better answer than that.

#2 June 28, 2011, 19:30:43 Last Edit: June 28, 2011, 19:34:12 by p300
Hi

Thx. for your kind reply. My priority list is:

No. 1 - crossfader
No. 2 - smart play mode
No. 3 - internet radio - cancelled - there are plenty alternatives around and it's not key anyway ...

No. 1 - Maybe somebody has an idea/workaround to achieve crossfading w/o waiting on playbin2 - it just sounds so professional ... :-)
No. 2 - Very, very handy because i can leave the computer and the machine doesn't stop playing similar kind of stuff to the audience ;-)

re: No.2: i planned to do a plugin that would create playlists via querying last.fm's similarity-database, but i haven't started yet because i haven't been able to settle on the right approach (create playlist, fill up queue, etc.). anyway, we'll see if i get around to it anytime soon, no promises...

Hi

Quote from: ochosi on June 28, 2011, 21:31:33
re: No.2: i planned to do a plugin that would create playlists via querying last.fm's similarity-database, but i haven't started yet because i haven't been able to settle on the right approach (create playlist, fill up queue, etc.). anyway, we'll see if i get around to it anytime soon, no promises...

That sounds really great. Wish you can find the time. For the implementation - as mentioned before - guayadeque's smart play mode works quite well - i guess somebody who can read the sources might get a good idea how to get this going.

Hi

Quote from: Quentin Sculo on June 26, 2011, 22:52:01
Sorry I forgot to answer sooner.
sadly I'm not planning to add any of these in the near future :(
- crossfader : I'm hoping it will be added to gstreamer's playbin2 before I have to implement it myself, both solution are not in the near future anyway

Update: I used gmusicbrowser last weekend to play my music to a wider audience for 48 hours nonstop. My library is > 25K Songs and i had NOT A SINGLE hickup. gmusicbrowser is really great stuff! Thank you. But at this occasion i was missing the crossfader even more ...

hi again,
i did a very basic version of the similar-songs plugin yesterday, but i have to say that i got really sceptical as to whether this makes sense at all.

a few problems:
* similar_songs returns quite a few songs, but it's still not likely you'd get a complete playlist out of that
* how should we treat lastfm's similarity factor? (it's anything but coherent)
* keep the "master song" (the one all others should be similar to) or skip it after a while? if yes, what shall it use instead?

the only way out i could think of to deal with these problems up to now is use similar artists instead (unfortunately there's no "similar-album" in lastfm), but since artists tend to make albums that differ a lot from each other i'm not convinced this would make much sense.

i guess i'll take a look at guayadeque next, beatbox and foobnix didn't do anything else than the trivial similar_songs query from lastfm.

btw, squentin proposed making the similar-stuff a queue-mode, any thoughts on that?

Nice! I can participate with some considerations...
Quote from: ochosi on July 04, 2011, 14:58:53

a few problems:
* similar_songs returns quite a few songs, but it's still not likely you'd get a complete playlist out of that
* how should we treat lastfm's similarity factor? (it's anything but coherent)
* keep the "master song" (the one all others should be similar to) or skip it after a while? if yes, what shall it use instead?

What about keeping it, until all songs similar to the "master song" have been played, and then take the last song as the "new master song"? Would somehow also solve problem 1, without to big differences from one song to another (if problem 2 is not to serious ;)/ probably the option to choose the minimum similarity rating is useful)...

Quote from: ochosi
btw, squentin proposed making the similar-stuff a queue-mode, any thoughts on that?

Sounds reasonable! I imagine wishing to hear more music like-the-one-I'm-listening-to-right-now! With autofill once|x songs|unlimited I guess it would fit most needs...

Greetz, staubi

thanks for the feedback, i just thought about it a bit more today.
just to throw in a few more thoughts, similar tags or similar genre would probably help. note: additionally, not *just* similar genre or tags.


so maybe some combined thing between similar artist, similar tags and similar genre could work, but it sounds difficult to think about it. if you could come up with a sensible combination i'd be happy to implement it.

"The list of artists which you see on an artist page as being "similar" is automatically created by the Last.fm Audioscrobbler, based on our user's listening habits: If a lot of users listen to Artist X, but also Artist Y and Z - Y and Z artists will become similar to X."
Here : http://www.last.fm/help/faq?category=97&setlang=en

@mgrubert: yeah, i know that. you can see an implementation of similar artists from your local library in the artistinfo-plugin (you just have to change the setting to "only show local artists"), basically this is how such a filter would work.
i'm not saying that this doesn't work at all, but i assume that there are better ways.

So you have yet "the similar artists in your local library" (SAYLL).

You could calculate the "similar factor" (SF) between master song and each song of the SAYLL list by using average :

Song A (master) has  artist0, genre0, rating0, year0, number_played0, etc.
Song B : artist1, genre1, rating1, year1, number_played1, etc.

SF between A and B : (artist_similarity + genre_similarity + year_similarity + etc)/nb
If SF between A and B greater than SF between A and C then take B, and test the next song until ending songs of the similar artist in local library.

First problem is when things aren't number (artist, genre) :
For artist_similarity, you have the similar percent gave by last fm (100%, 89%, etc). The distance beetween two artist could be 100%-similar percent (0%, 11%, etc.)
For genre_similarity : you could use lastfm related tag (here for instance : http://www.lastfm.fr/tag/french) to calculate the same kind of number. If lastfm doesn't make this yet or if you want to use local genre  : take the master-song genre : genre_similary = 100%-20% for each genre missing in B-genre

Second problem : artist_similarity, genre_similarity, year_similarity must be in the same order of heigh (percent ?).
year_similarity : (year0-year1)/year0*100 give your a percent but very small in Gergorian calendar. Maybe abs[min((year0-year1)*10;100)] would be better (difference is 10% for one year, 20% for two year, etc, max : 100% for 10 years or more)
Rating_similarity : rating are yet in percent unit : abs(rating0-rating1)
number_played_similarity : abs[(number_played0-numberplayed1)/number_player0*100] should work

You could even ponderate each xxx_similarity or let the plugin_user ponderate himself in parameters


Once next song choosen, it become the new master song.


What do you think about that ?









hey!
hm, i'm not sure that rating, playcount and year are really good indicators for similarity. imagine you add a new artist B to your library that is very similar to artist A but just hasn't been played much and therefor the similarity-rating would drop.
or wrt the year imagine bob dylans early recordings and late recordings with the band (at least in my library those two are different - and therefor similar - artists).

the genre could make sense though.

proposal: i'll start with adding a mode for similar_artists, then we try and see how well that works and then try different approaches (e.g. similar genre) to tweak it if we're not satisfied.

#13 July 07, 2011, 08:36:31 Last Edit: July 07, 2011, 08:38:40 by mgrubert
It's only a story of ponderation :)
The main ponderation is "artist_similarity" because the song will be choosen in the SAYLL.

OK for playcount and rating, but I think year should count for the similarity factor, after genre but closer.

Pink Floyd 'Pop from late 60's is much closer to Velvet Undergound'Proto punk in late 60's than Prefab Sprout'Pop in late 90's fo instance.

But let's try.

Edit : a random factor would be add too, because there's a risk to only switch between two artists, if they're closed to.

i invested a good night's sleep yesterday and hacked together a similar-artist queue (thanks again, quentin!). at the moment it still needs small modifications to gmb's core, but we'll overcome that in the near future.

i'll do a bit more testing and cleaning up in the next days and then push it to a branch in the shimmer github-repo so you can all test it before it gets artistinfo-plugin integration, but so far it seems to work.
i will post a call for testing with instructions as soon as it's uploaded/pushed.