1. A computer implemented method for generating a playlist of media items with audio or video data, comprising: generating, by one or more processing devices, a first feature set to be associated with one or more media items, wherein the first feature set is based on features extracted from a first media item selected by a user; generating, by one or more processing devices, a second feature set to be associated with one or more media items, wherein the second feature set is based on features extracted from a second media item selected by a user; receiving data indicating desired transition characteristics; identifying, by one or more processing devices, a set of media items, each media item corresponding to one or more characteristics of the first feature set, the second feature set, or the first and second feature sets; and generating, by one or more processing devices, a playlist of media items from the identified set of media items which transitions from media items corresponding to characteristics of the first feature set to media items corresponding to characteristics of the second feature set according to the desired transition characteristics.