Board Logo

Large Library Causes Random song play issues
Robomuffin - 4-18-2006 at 06:49 PM

Hey everyone,

I’m a long time ejukebox user and have had nothing but great success until now. My library has become MASSIVE! I believe I have around 42,000 songs in my library and things are pretty dang organized. I am a big fan of letting Ejukbox randomly pick songs and play them from my large library of music. Now that my library has grown to such a large size, ejukebox refuses to randomly play song, it will just pick 1 or 2 artists and play there stuff over and over and over until infinite. I Love Ejuke and have not seen a program that can come close to being its rival. So if anyone can offer me any assistance with this I would greatly appreciate it.


Pirk - 4-18-2006 at 09:10 PM

Quote:
Message original : Robomuffin
Hey everyone,

I?m a long time ejukebox user and have had nothing but great success until now. My library has become MASSIVE! I believe I have around 42,000 songs in my library and things are pretty dang organized. I am a big fan of letting Ejukbox randomly pick songs and play them from my large library of music. Now that my library has grown to such a large size, ejukebox refuses to randomly play song, it will just pick 1 or 2 artists and play there stuff over and over and over until infinite. I Love Ejuke and have not seen a program that can come close to being its rival. So if anyone can offer me any assistance with this I would greatly appreciate it.


I'm not really surprised by this kind of issue... I persist to think that the random function in eJukebox is not optimum with large libraries. Unfortunately it's not easy to demonstrate... :( Though your case is radical!

Audiosoft,

I would be curious to know the algorithm you used for the random play in eJukebox?

In my case (+/- 37000 songs), it seems that eJukebox favour some artists (Gainsbourg and Pink-Floyd, for example!), while it never play others.. :( It seems it over-play the artists who have many albums compared to the others. I don't feel that when I use Winamp solo.

Thanks.


Audiosoft - 4-18-2006 at 10:30 PM

Hmm..That is allot of songs. I will look into this.

Have you tried using the AutoList Builder so Custom AutoPlay mode has less songs to choose from? See if it works better with 32,000 or less matching tracks in the AutoList profile.


Pirk - 4-18-2006 at 10:49 PM

Also, there is a effective option in the autolist builder: Play the Never Played songs!


Audiosoft - 4-19-2006 at 02:58 AM

The AutoList Builder's Last Played section and 'Never Played' option is currently Ignored by AutoPlay since it would eventually run out of songs and stop playing. This is because after a song is played it's Last Played Timestamp is changed.

If you use the AutoList Builder to create a profile that restricts it to much less than all your tracks it should help. or you can actually use the Last Played section criteria by Saving it as a Playlist and loading it in Bookmark AutoPlay Mode....it would then be picking a random song from the saved list of never played tracks so would not run out.


Pirk - 4-19-2006 at 08:41 AM

Quote:
Message original : Audiosoft
The AutoList Builder's Last Played section and 'Never Played' option is currently Ignored...

lol! Thanks for this precision..

However, that would be usefull you activate the Never Played option in the autoplay mode for LARGE librairies. Because with a large library the autoplay would not run out soo easily...

Thanks.


Robomuffin - 4-19-2006 at 08:11 PM

Quote:
Originally posted by Audiosoft
Hmm..That is allot of songs. I will look into this.

Have you tried using the AutoList Builder so Custom AutoPlay mode has less songs to choose from? See if it works better with 32,000 or less matching tracks in the AutoList profile.


I will try this tonight. I have been spending a good deal of time cleaning things up and tonight i will be rebuilding my database and trying again. Ill let you guys know what happens.


Fishy - 4-20-2006 at 08:34 PM

Hmm This happens to me too when I let ejukebox pick from the whole library of 35400 songs. It also happens when I use the "never played" which restricts it to 20411 songs. It does not happen when I restrict it even more with auto list or custom mode (around 1000 songs).

It plays the artist "Air" ( for Pirk's convenience) all the time if that is of interest. They are not the first artist in my database.


Pirk - 4-20-2006 at 09:14 PM

Quote:
It plays the artist "Air" ( for Pirk's convenience) all the time...

Probably I start to influence eJukebox, even in its bugs!
The next time certainly it will offer you a bottle of Bordeaux! :D


Fishy - 4-20-2006 at 09:34 PM

hmm it actually switches between Air and Agurk Players. Weird.


Pirk - 4-20-2006 at 09:57 PM

Yes it's weird, I don't listen to electronic music so much!


Fishy - 4-25-2006 at 04:48 PM

Any news on this one?


Audiosoft - 4-26-2006 at 04:18 AM

eJukebox currently restricts AutoPlay to a random song from the 1/2 of matching songs that were played the longest time ago. After a song plays another song comes out of the most recent 1/2 and is made available to the random pick. This makes eJukebox pick songs that haven't been played in the longest time and improves performance. Patterns such as songs by the same artist do seem to happen. This is just a coincidence as it really is random.

Quote:

It seems it over-play the artists who have many albums compared to the others.


This makes sense for 'random' because if you think about it - the chance of any song by an artist being picked increases with the number of songs by the artist you have.

I think maybe I should update AutoPlay to make sure it does not pick a song by the currently playing artist or the last artist displayed under up next - whenever other artist's songs are available. What do you guys think?


Fishy - 4-26-2006 at 08:21 AM

hmm I am referring to the fact that it plays songs from about two albums when it tries to play songs from the whole collection.


Audiosoft - 4-26-2006 at 10:18 AM

Well I have update the random function to make it first try an initial random pick (testing if it has already been autoplayed in the session) instead of always requiring a random array without dupes to be built for multiple attempts. So if it finds a random song (on the first try) that has not been played already in the session and not by the current artist it will use less cpu and make the 'up next' display faster. Hard to explain exactly but it will be better: make it more random and hopefully fix it for large collections. v3.999 should be out around the end of the week with the improvements.


Pirk - 4-26-2006 at 12:43 PM

OK Audiosoft. Thanks for your explanations about the random function, and for the update!

Here are my last cogitations:
So basically, the autoplay mode picks songs from the 1/2 oldest autoplayed songs.

But how the NEVER autoplayed songs are picked, since they don't have a "last autoplay date"? Alphabetically?

In this case - which can be quite frequent if you often rebuild the database - the autoplay randomly picks songs from a alphabetical list. This is a random pick, but I think not enough random: Because it's always based on the SAME SORTED list.
So I think on each new session, maybe eJukebox could start by mix all the never played songs. And then randomly picks songs from this "mixed session list" in addition to the others 1/2 old played songs.

Thanks.


Audiosoft - 4-26-2006 at 12:53 PM

Pirk,

Never played songs have always been included in the 1/2 used. They come up first in the possible songs, from which a random song is picked, since they have the oldest date...no date at all. That said their selection will now be more random in v3.999 final.


Pirk - 4-26-2006 at 01:05 PM

Ok, the never played songs will come first.. But supposing I've just rebuilded my database: no last played date at all! The 1/2 part is based on what in this case? How do you split the collection? On which criterion?


Audiosoft - 4-26-2006 at 01:14 PM

Pirk,

Currently after a rebuild eJukebox ends up starting off with the 1/2 of songs added to the database first. But the other 1/2 become available as more and more songs get played.

Quote:

This is a random pick, but I think not enough random: Because it's always based on the SAME SORTED list.


This seems true but not really. After a song from the 1/2 half is picked it becomes the most recently played song so drops off the possible picks. It is not the same sorted list since a random song from the first 1/2 could be any song so it will not end up cycling the same way. A long long time ago eJukebox just played the song that was played longest ago...that was the SAME SORTED list. Now it actually picks a random song and the sorted list really doesn't matter like that since it is not used in order.

However, the after rebuilding the selection base is less than ideal. Maybe I could have it increase the 1/2 to = the number of matching songs with no last played date when that is larger than the number of songs contained in the 1/2 not played in the longest. That would make all matching songs available for a random selection instead of 1/2 after rebuilding. Otherwise it could take a long time before the 1/2 of songs added to the database last become available. Or maybe I should just change it to 2/3 instead of 1/2 so more songs are always available. What do you think?


Pirk - 4-26-2006 at 01:40 PM

Quote:
Message original : Audiosoft
Pirk,

After a rebuild it would end up starting off with the 1/2 of songs added to the database first. But the other 1/2 would become available as more and more songs get played.

This is very interesting to know that! But I think that could be a BIG weakness, especially with a large collection:
Supposing I've still just made my rebuild.. 37000 songs! The first 1/2 is more or less the first letters of the alphabet: 18500 songs from A to.. M (because the scanning starts like that..). I will need to play a lot of songs before I start to significantly hear the second N.. Z part! 18500 songs, 2 albums/day: 770 days (2 years!!) before that becomes truly random on my whole collection!


Audiosoft - 4-26-2006 at 01:42 PM

Pirk,

Take a look at the last paragraph in my previous post because I was updating it when you responded. Let me know what you think about the best solution for improving the selection after rebuilding. Making the number of songs used be equal to the number of songs with no last played date when that is larger than 1/2 would probally be best. But I want to get your input before I start working on that incase you think otherwise since the 2/3 option would be easier to implement.


Pirk - 4-26-2006 at 02:06 PM

Quote:
Making the number of songs used be equal to the number of songs with no last played date when that is larger than 1/2 would probally be best.

I agree with that, and I'm ready to wait the time you need! I will just try to not rebuild soon.. ;)
I think the 2/3 would be better than nothing, but still not ideal.


Fishy - 4-26-2006 at 05:31 PM

Audiosoft: Great to hear! The problem right now is not that it is not random 'enough' when it picks songs from a huge array (30000< songs), but that it consequently plays songs from about two albums when having about 3000 albums to choose from. I am confident that this will be fixed for the next release :) You definately should increase your album collection for testing ;)


Pirk - 4-26-2006 at 06:34 PM

Fishy,

Currently, with my "only" 37000 songs, I don't experience the "two albums" bug you describe . Maybe that's only wrong over 40000 songs?
But your bug reminds me the one I experienced because of the 16 bits limitation (32768) of the old random generator. Normally this bug is fixed.. unless there is a new limitation that appears around 40000 songs, or only on some configurations: Windows 2000 ?!


Fishy - 4-26-2006 at 08:30 PM

35405 songs. Windows XP and latest ejukebox beta.


Audiosoft - 4-26-2006 at 11:44 PM

OK I did find a little bug that was sometimes still restricting it to 32768 max songs. I have fixed that and also changed it so it always makes all matching songs with no last played date available which will open it up to allot more songs...especially after rebuilding the database.

Give v3.999 Beta 5 a try (under Latest Updates) and let me know how it goes.


Robomuffin - 4-27-2006 at 03:24 AM

I just did a major overhaul of my library. Everything is Tagged and filed away in a sickeningly clean fashion. Alas after all that and a clean rebuild the same issue of playing the same 1 or 2 artists still came up. Nothing but Big Wreck with an occasional Beyonce Intermission. After readiing the above posts and downloading the newest Beta release it seems that this problem has dissapeared and things are playing at random just nicely. Thanks for all the help guys! Ive never seen a forum or even a developer for that matter that was able to fix a problem so dang quickly. Long live Ejukebox!!!