A digital music player includes an audio file selector that selects a
subsequent audio file to play from a collection of audio files based upon
a desired relationship between an audio characteristic of a current audio
file and an audio characteristic of the subsequent audio file. The audio
selector digitally analyzes the audio files to determine their audio
characteristics. A weighting procedure then assigns weights to the audio
files in the collection based upon their audio characteristics and their
relationship to the audio characteristics of the current audio file. A
random selector then pseudo randomly selects the subsequent audio files
from a weighted list of the files. The desired relationship can be a
specified correspondence between a key or tempo of the current audio file
and a key or tempo of the subsequent audio file. The audio selector is
preferably implemented through a software macro which is downloaded into
an existing digital music player.