Jump to content

Shuffle : details?


Recommended Posts


I'm using Poweramp (very good app btw :) ) with 6k+ tracks in some 350 folders.

I just start the app then select shuffle mode. No playlist.

After some weeks of use I find out that some tracks come up quite often, while some others seem to be "forgotten".

Therefore I would like to ask some questions about the "shuffle" feature :

- does it select the next track using a random process?

- or just reorder once and for all the whole tracklist at startup, then plays all tracks? (in this case each one of the 6k tracks should be played one and exactly one time before it is possible to hear a track anew?)

- is there something like a size limit to the shuffle function?

- do the folders act somewhere in the process? I would just like to have a plain constant probability for each track, no matter how long it is or which folder it belongs to.

Thanks for your answer!


Link to comment
Share on other sites

Poweramp uses sqlite3 random(). This is applied to the whole target list.

There are some limits of course (due to the memory available to the sqlite3 and Poweramp itself), but you are not going to hit them with the 6k songs list.

Few rules applied to the shuffle sessions:

1. no song duplications can happen (unless song entry exists more than once in the shuffled list)

2. shuffle sessions are stored in the database

3. whole list is shuffled by reordering entries in it


** CAPI3REF: Pseudo-Random Number Generator


** SQLite contains a high-quality pseudo-random number generator (PRNG) used to

** select random [ROWID | ROWIDs] when inserting new records into a table that

** already uses the largest possible [ROWID]. The PRNG is also used for

** the build-in random() and randomblob() SQL functions. This interface allows

** applications to access the same PRNG for other purposes.


** ^A call to this routine stores N bytes of randomness into buffer P.


** ^The first time this routine is invoked (either internally or by

** the application) the PRNG is seeded using randomness obtained

** from the xRandomness method of the default [sqlite3_vfs] object.

** ^On all subsequent invocations, the pseudo-randomness is generated

** internally and without recourse to the [sqlite3_vfs] xRandomness

** method.


Link to comment
Share on other sites

  • 11 months later...

I am coming from Google Play Music and am still using Poweramp on a trial basis. I recently squeezed my whole music collection onto my phone to save on data charges but then found that some of Play Music's functions (like playlists) only work when you are displaying All Music instead of just On Device. I also have had problems with Play Music not updating when I change files from another app. I sync my phone to iTunes over wi-fi via FolderSync. So Poweramp has helped me out there along with other ways I wasn't thinking of. Most of the time I just shuffle my whole library. I've noticed that it will appear to go through periods of preferring certain Artists. I typically don't hear two songs in a row by the same artist but they do seem to be clustered at times. Maybe there will be some other song between them. It's hard to pin it down. At first I thought this was purposeful as sometimes you hear an artist and then you want some more before going on. Then yesterday I had three songs out of ten come up from the same artist. Two of those were back to back and from the same album. My library consists of 500+ albums over 200+ artists so I don't think that should happen as much as it is. Any chance your method for shuffling the list isn't shuffling it well enough?

Link to comment
Share on other sites


This topic is now archived and is closed to further replies.

  • Create New...