As a result of advances in audio compression, availability of broadband Internet access at home and the popularity of electronic music distribution systems, today consumers acquire and store ever-increasing number of songs in their local databases. Moreover, consumer-devices with mass random-access storage and sophisticated rendering capabilities make the whole electronic music database available for instant playback. As opposed to traditional music playback where only a limited number of songs are manually selected, there is a strong need for intelligent play-list generation techniques that utilize the whole database while taking the user's interests into account. Moreover, it is desirable to present these songs in a seamlessly streaming manner with smooth transitions. In this paper, we propose a systematic expressive content retrieval system, called AutoDJ, that achieves both objectives. It automatically creates a play-list by sorting songs ac-cording to their low-level features and plays them in a smooth rhythmically consistent way after audio mixing. AutoDJ first builds a profile for each song using features such as tempo, beat and major. Afterwards, it uses a similarity metric to build up a play-list based on a "seed" song. Finally, it introduces smooth transition from one song (profile) to the other by equalizing the tempo and synchronizing the beat phase. We present the system design principles and the signal processing techniques used, as well as a simple AutoDJ demonstrator.